主要内容

低通滤波器设计的MATLAB

这个例子展示了如何设计低通滤波器。这个例子强调了一些最常用的命令行工具的DSP系统工具箱™。或者,您可以使用过滤器Builder应用来实现本文提供的设计。更多的设计选择,看到设计低通FIR滤波器

介绍

当设计一个低通滤波器时,首先选择你是否来设计FIR和IIR滤波器。你一般选择FIR滤波器当线性相位响应是很重要的。定点实现FIR滤波器也往往是首选,因为他们通常是更健壮的量子化效应。FIR滤波器也使用在许多高速如fpga和asic实现,因为他们是适合流水线。IIR滤波器(尤其是biquad过滤器)用于应用程序(如音频信号处理)在线性阶段并不是一个问题。IIR滤波器通常计算效率更高,他们可以满足设计规范用更少的比FIR滤波器系数。IIR滤波器也往往较短瞬态响应和更小的群延迟。然而,使用最小相位和多重速率的设计会导致FIR滤波器与IIR滤波器的群时延和计算效率。

冷杉低通滤波器设计——指定过滤器的顺序

有很多实际的情况下,您必须指定过滤器的顺序。这样的一个情况是如果你是针对硬件滤波器以特定数量的限制。另一个常见的场景是当你有可用的计算计算预算(MIPS)为你实现,这使你有限的过滤器。冷杉在信号处理工具箱(包括设计功能fir1,firpm,firls)都能够设计低通滤波器部分指定的订单。在DSP系统工具箱,首选函数低通数字滤波器设计与指定的订单firceqrip。这个函数设计最优equiripple低通和高通FIR滤波器与指定的通带和阻带波动值和指定passband-edge频率。stopband-edge频率决定的结果设计。

设计一个低通滤波器对数据采样在48 kHz。passband-edge频率是8 kHz。通带波纹为0.01 dB和阻带衰减是80分贝。限制滤波器以120。

N = 120;Fs = 48 e3;Fp = 8 e3;美联社= 0.01;Ast = 80;

获得的最大偏差通带和阻带波动在线性单元。

Rp =(10 ^(美联社/ 20)- 1)/(10 ^(美联社/ 20)+ 1);Rst = 10 ^ (ast / 20);

设计滤波器的使用firceqrip并查看级频率响应。

NUM = firceqrip (N, Fp / (Fs / 2), (Rp Rst),“passedge”);fvtool (NUM“Fs”Fs)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含一个类型的对象。

结果stopband-edge频率约为9.64 kHz。

最小订单的设计

另一个设计函数最优equiripple过滤器firgrfirgr可以设计一个满足通带和阻带滤波器脉动约束以及指定的过渡宽度尽可能最小的滤波器的订单。例如,如果指定stopband-edge频率10 kHz,由此产生的过滤器订单100而不是120阶滤波器的设计firceqrip。较小的滤波顺序的结果更大的过渡带。

指定的stopband-edge频率10 kHz。获得一个最小订单数字滤波器的通带波纹0.01 dB和阻带衰减的80分贝。

置= 10 e3;NumMin = firgr (“minorder”[0,浮置板轨道/ Fp / (Fs / 2) (Fs / 2) 1],[1 1 0 0],[Rp, Rst]);

情节大小获得的最小订单数字滤波器的频率响应firgr和120阶滤波器设计firceqrip。最小订单设计结果与订购100一个过滤器。120阶滤波器的过渡区,正如所料,窄的滤波器与订单100。

hvft = fvtool (NUM 1 NumMin 1“Fs”Fs);传奇(hvft“N = 120”,“N = 100”)

图2图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表N = 120, N = 100。

过滤数据

应用过滤数据,您可以使用过滤器命令也可以使用dsp.FIRFilterdsp.FIRFilter的优点是管理状态,当在一个循环中执行。dsp.FIRFilter也有定点功能,支持C代码生成,HDL代码生成和优化代码生成的手臂®®皮层M和万博1manbetx手臂皮层。

过滤器10秒零均值的白噪声和单元256个样本的标准差在帧120阶FIR低通滤波器。频谱分析仪查看结果。

LP_FIR = dsp.FIRFilter (“分子”,NUM);SA_FIR =简介(“SampleRate”Fs);抽搐toc < 10 x = randn (256 1);y = LP_FIR (x);步骤(SA_FIR, y);结束发行版(SA_FIR)

使用dsp.LowpassFilter

dsp.LowpassFilter另一种使用吗firceqripfirgr结合dsp.FIRFilter。基本上,dsp.LowpassFilter凝结的两个步骤。dsp.LowpassFilter提供相同的优势dsp.FIRFilter提供的定点支持C代码生成支持,HDL代码生成的支持,和手臂皮层代码万博1manbetx生成的支持。

设计一个低通滤波器对数据采样在48 kHz。passband-edge频率是8 kHz。通带波纹为0.01 dB和阻带衰减是80分贝。限制滤波器以120。创建一个dsp.FIRFilter根据你的规格。

LP_FIR = dsp.LowpassFilter (“SampleRate”Fs,“DesignForMinimumOrder”假的,“FilterOrder”N“PassbandFrequency”《外交政策》,“PassbandRipple”据美联社,,“StopbandAttenuation”,Ast);

的系数LP_FIR系数是相同的全国矿工工会

NUM_LP =特遣部队(LP_FIR);

您可以使用LP_FIR直接过滤数据,如前面的示例所示。您还可以分析过滤器使用FVTool或测量响应使用测量

fvtool (LP_FIR“Fs”Fs);

图图3:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。

测量(LP_FIR)
ans =采样率:48 kHz通频带边缘:8 kHz 3-dB点:8.5843 kHz 6分贝的观点:8.7553千赫阻带边缘:9.64 kHz通带波纹:0.01 dB阻带衰减器。:79.9981 dB过渡宽度:1.64 kHz

最小订单设计dsp.LowpassFilter

您可以使用dsp.LowpassFilter设计最小订单过滤器和使用测量验证设计满足规范规定。过滤器的顺序又是100年。

LP_FIR_minOrd = dsp.LowpassFilter (“SampleRate”Fs,“DesignForMinimumOrder”,真的,“PassbandFrequency”《外交政策》,“StopbandFrequency”置,“PassbandRipple”据美联社,,“StopbandAttenuation”,Ast);测量(LP_FIR_minOrd)
ans =采样率:48 kHz通频带边缘:8 kHz 3-dB点:8.7136 kHz 6分贝的观点:8.922千赫阻带边缘:10 kHz通带波纹:0.0098641 dB阻带衰减器。:80.122 dB过渡宽度:2千赫
Nlp =订单(LP_FIR_minOrd)
Nlp = 100

设计IIR滤波器

椭圆滤波器的IIR对应最佳equiripple FIR滤波器。因此,您可以使用相同的规范设计椭圆滤波器。IIR滤波器的滤波顺序获得远小于相应的冷杉过滤器的顺序。

与相同的采样频率,设计一个椭圆滤波器截止频率,passband-ripple约束,阻带衰减120阶冷杉过滤器。椭圆滤波器的滤波顺序减少到10。

N = 10;LP_IIR = dsp.LowpassFilter (“SampleRate”Fs,“FilterType”,“信息检索”,“DesignForMinimumOrder”假的,“FilterOrder”N“PassbandFrequency”《外交政策》,“PassbandRipple”据美联社,,“StopbandAttenuation”,Ast);

比较FIR和IIR的设计。计算两个实现的成本。

hfvt = fvtool (LP_FIR LP_IIR,“Fs”Fs);传奇(hfvt冷杉Equiripple, N = 120,“IIR椭圆,N = 10”);

图4图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。这些对象代表冷杉Equiripple, N = 120, IIR椭圆,N = 10。

cost_FIR =成本(LP_FIR)
cost_FIR =结构体字段:NumCoefficients: 121 NumStates: 120 MultiplicationsPerInputSample: 121 AdditionsPerInputSample: 120
cost_IIR =成本(LP_IIR)
cost_IIR =结构体字段:NumCoefficients: 25 NumStates: 20 MultiplicationsPerInputSample: 25 AdditionsPerInputSample: 20

FIR和IIR滤波器具有类似的大小反应。IIR滤波器的成本大约1/6的成本冷杉过滤器。

运行IIR滤波器

IIR滤波器的设计作为一个biquad过滤器。应用过滤数据,作为在冷杉的情况下使用相同的命令。

过滤器10秒零均值的高斯白噪声和单元256个样本的标准差在帧10阶IIR低通滤波器。频谱分析仪查看结果。

SA_IIR =简介(“SampleRate”Fs);抽搐toc < 10 x = randn (256 1);y = LP_IIR (x);SA_IIR (y);结束发行版(SA_IIR)

可变带宽FIR和IIR滤波器

你也可以设计过滤器允许您在运行时改变截止频率。dsp.VariableBandwidthFIRFilterdsp.VariableBandwidthIIRFilter可用于这种情况。

相关的话题