奈奎斯特FIR(第L个频带)滤波器设计

这个例子显示了如何设计FIR低通滤波器奈奎斯特。它还这些过滤器与升余弦和平方根升余弦滤波器进行比较。这些过滤器被广泛用于脉冲整形的数字传输系统。他们还发现,在插值/抽取和滤波器组的应用。

幅度响应比较

该图显示了等波纹奈奎斯特滤波器的幅度响应和一个升余弦滤波器。两个滤波器具有60的顺序和0.5的滚降因子。因为等波纹滤波器具有最佳等波纹阻带,它具有对于相同的滤波器阶数和过渡宽度较大的阻带衰减。的升余弦滤波器是通过截断分析脉冲响应得到,它不是在任何意义上是最佳的。

NBand = 4;N = 60;%滤波器阶R = 0.5;%滚降系数TW = R /(NBand / 2);%过渡带宽F1 = fdesign.nyquist(NBand,'N,TW',N,TW);当量=设计(F1,“等波纹”“零相位”,真正,'SYSTEMOBJECT',真正);coeffs = rcosdesign(R,N / NBand,NBand,'正常');coeffs = coeffs / MAX(ABS(coeffs))/ NBand;RC = dsp.FIRFilter('分子',coeffs);FVT = fvtool(当量,RC,'颜色''白色');传说(FVT,“NYQUIST等波纹设计”“升余弦设计”);

事实上,在这个例子中,有必要增加升余弦设计以约1400以达到类似的衰减。

脉冲响应比较

在这里,我们比较脉冲响应。请注意,在两种情况下,脉冲响应是零每4个样品(除中间样品)。奈奎斯特滤波器也被称为第L带滤波器,因为截止频率为π/ L和脉冲响应是零每第L个样本。在这种情况下,我们有4带通滤波器。

f1.FilterOrder = 38;EQ1 =设计(F1,“等波纹”“零相位”,真正,'SYSTEMOBJECT',真正);coeffs = rcosdesign(R,f1.FilterOrder / NBand,NBand,'正常');coeffs = coeffs / MAX(ABS(coeffs))/ NBand;RC1 = dsp.FIRFilter('分子',coeffs);FVT = fvtool(EQ1,RC1,'颜色''白色''分析''冲动');传说(FVT,“等波纹NYQUIST”“升余弦”);标题('脉冲响应,订单= 38,滚降= 0.5');

奈奎斯特滤波器具有倾斜阻带

等波纹设计允许所述过滤器的阻带的斜率的控制。例如,下面的设计具有的0,20,和40 dB的衰减/(弧度/样品)斜率:

f1.FilterOrder = 52;f1.Band = 8;f1.TransitionWidth = 0.05;EQ1 =设计(F1,“等波纹”'SYSTEMOBJECT',真正);EQ2 =设计(F1,“等波纹”'StopbandShape'“线性”...'StopbandDecay'20,'SYSTEMOBJECT',真正);EQ3 =设计(F1,“等波纹”'StopbandShape'“线性”...'StopbandDecay'40,'SYSTEMOBJECT',真正);FVT = fvtool(EQ1,EQ2,EQ3,'颜色''白色');传说(FVT,'斜率= 0''斜率= 20''斜率= 40'

最小相位设计

我们可以设计整体奈奎斯特滤波器的最小相位频谱因子(平方根在频域中)。该光谱因子可以以类似的方式用于平方根升余弦滤波器在匹配滤波的应用程序。过滤器的平方根被放置在发射器的端部与其他平方根被放置在接收器的一端。

f1.FilterOrder = 30;f1.Band = NBand;f1.TransitionWidth = TW;EQ1 =设计(F1,“等波纹”'Minphase',真正,'SYSTEMOBJECT',真正);coeffs = rcosdesign(R,N / NBand,NBand);coeffs = coeffs / MAX(coeffs)*( -  1 /(PI * NBand)*(PI *(R-1) -  4 * R));SRRC = dsp.FIRFilter('分子',coeffs);FVT = fvtool(EQ1,SRRC,'颜色''白色');传说(FVT,“最小相位等波纹设计”...“平方根升余弦设计”);

降低滚降系数

的升余弦滤波器的响应性提高的滚降因子降低(这里示出为滚降= 0.2)。这是因为,在脉冲响应的截短使用矩形窗口的频率响应的窄主波瓣的。

f1.FilterOrder = N;f1.TransitionWidth = 0.1;EQ1 =设计(F1,“等波纹”“零相位”,真正,'SYSTEMOBJECT',真正);R = 0.2;coeffs = rcosdesign(R,N / NBand,NBand,'正常');coeffs = coeffs / MAX(ABS(coeffs))/ NBand;RC1 = dsp.FIRFilter('分子',coeffs);FVT = fvtool(EQ1,RC1,'颜色''白色');传说(FVT,“NYQUIST等波纹设计”“升余弦设计”);

窗式脉冲响应奈奎斯特设计

奈奎斯特滤波器也可以使用截短的和 - 窗脉冲响应方法设计的。这可能是另一种替代升余弦设计。例如,我们可以使用Kaiser窗方法来设计满足初始规格的过滤器:

f1.TransitionWidth = TW;kaiserFilt =设计(F1,'kaiserwin''SYSTEMOBJECT',真正);

凯塞窗设计需要以相同的顺序(60)作为等波纹设计来满足规格。(请记住,在对比我们需要一个非凡的第1400次升余弦滤波器,以满足阻带规格。)

FVT = fvtool(当量,RC,kaiserFilt,'颜色''白色');传说(FVT,“等波纹设计”...“升余弦设计”“Kaiser窗设计”);

对于插值滤波器奈奎斯特

除了数字数据传输,奈奎斯特过滤器是插值目的的吸引力。其原因是,每L个样本,具有零样品(除了中间的样品)如前所述。有两个优势,这一点,两者都是通过看多相表示明显。

FM = fdesign.interpolator(4,“奈奎斯特”);kaiserFilt =设计(FM,'kaiserwin''SYSTEMOBJECT',真正);FVT = fvtool(kaiserFilt,'颜色''白色');fvt.PolyphaseView ='上';

多相子过滤#4是全通滤波器,实际上它是一个纯延迟(选择在FVTool的滤波器系数中FVTool脉冲响应,或看),使得:1.所有其乘法器的是除了一个零,从而导致一种高效实现多相支路的。2.输入样本通过不加修改的内插过滤器,即使该过滤器是不理想的。