主要内容

FIR奈奎斯特(L-th波段)滤波器设计

此示例显示了如何设计LOWPASS FIR NYQYQUIST过滤器。它还将这些过滤器与凸起的余弦和平方根凸起余弦过滤器进行比较。这些滤波器广泛用于数字传输系统的脉冲整形。他们还在插值/抽取和过滤器中找到应用程序。

幅度响应比较

该图显示了等波纹奈奎斯特滤波器和上升余弦滤波器的幅度响应。两个滤波器的阶数都是60,滚减系数为0.5。由于等纹波滤波器具有最优等纹波阻带,因此在相同的滤波器阶次和过渡宽度下,其阻带衰减较大。凸余弦滤波器是通过截断解析脉冲响应得到的,它在任何意义上都不是最优的。

nband = 4;n = 60;%过滤器订单r = 0.5;%劳伦斯tw = r /(nband / 2);%过渡带宽f1 = fdesign.nyquist(nband,“N, TW”,n,tw);eq = design(f1,'平静''zerophase',真的,'systemobject',真正的);多项式系数= rcosdesign (R N / NBand NBand,'普通的');多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc = dsp。FIRFilter ('分子'、多项式系数);fvt = fvtool (eq,钢筋混凝土,“颜色”'白色的');传奇(FVT,'Equiripple Nyquist Design''凸起余弦设计');

事实上,在这个例子中,必须将升高的余弦设计的顺序增加到大约1400,以获得类似的衰减。

脉冲响应比较

这里我们比较脉冲响应。注意,两种情况下的脉冲响应每4个样本值为0(中间样本除外)。奈奎斯特滤波器也被称为L-th带滤波器,因为截止频率是Pi/L,脉冲响应是零每个L-th采样。在这种情况下,我们有第四波段滤波器。

f1.filterorder = 38;EQ1 = Design(F1,'平静''zerophase',真的,'systemobject',真正的);多项式系数= rcosdesign (R, f1。FilterOrder / NBand NBand,'普通的');多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc1 = dsp.firfilter('分子'、多项式系数);fvt = fvtool(eq1,rc1,“颜色”'白色的'“分析”'冲动');传奇(FVT,“Equiripple奈奎斯特的提出了余弦的);标题('脉冲响应,订单= 38,rolloff = 0.5');

奈奎斯特滤波器具有倾斜的缩减带

相同的设计允许控制过滤器的阻带的斜率。例如,以下设计具有衰减的0,20和40dB /(Rad / Sample)的斜率:

f1.filterorder = 52;F1.BAND = 8;F1.TransitionWidth = .05;EQ1 = Design(F1,'平静''systemobject',真正的);EQ2 =设计(F1,'平静'“StopbandShape”'线性'......'stopbanddecay'20,'systemobject',真正的);EQ3 = Design(F1,'平静'“StopbandShape”'线性'......'stopbanddecay'现年40岁的'systemobject',真正的);fvt = fvtool(EQ1,EQ2,EQ3,“颜色”'白色的');传奇(FVT,“斜率= 0”'斜坡= 20'的斜率= 40 '

最小相位设计

我们可以设计整个奈奎斯特滤波器的最小相位谱因子(频域中的平方根)。该光谱因子可以以与匹配的过滤应用中的平方根升高的 - 余弦滤波器类似的方式使用。将过滤器的平方根放置在发射器的末端上,另一个方形根部放置在接收器的末端。

f1。FilterOrder = 30;f1。乐队= NBand;F1.TransitionWidth = TW;EQ1 = Design(F1,'平静'“Minphase”,真的,'systemobject',真正的);多项式系数= rcosdesign (R, N / NBand, NBand);多项式系数=多项式系数/ max(多项式系数)*(1 /(π* NBand) *(π* (r1) - 4 * R));srrc = dsp。FIRFilter ('分子'、多项式系数);fvt = fvtool(eq1,srrc,“颜色”'白色的');传奇(FVT,“最小相位equiripple设计”......“平方根raised-cosine设计”);

减少促进因子

上升余弦滤波器的响应随着滚减系数的减小而改善(如图所示为滚减= 0.2)。这是由于用于截断脉冲响应的矩形窗口的频率响应的窄主瓣。

f1.filterorder = n;F1.TransitionWidth = .1;EQ1 = Design(F1,'平静''zerophase',真的,'systemobject',真正的);R = 0.2;多项式系数= rcosdesign (R N / NBand NBand,'普通的');多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc1 = dsp.firfilter('分子'、多项式系数);fvt = fvtool(eq1,rc1,“颜色”'白色的');传奇(FVT,'奈奎斯特平等设计''凸起余弦设计');

Windowed-Impulse-Response尼奎斯特设计

奈奎斯特过滤器也可以使用截断和窗口的脉冲响应方法设计。这可以是凸起 - 余弦设计的另一种选择。例如,我们可以使用Kaiser窗口方法设计符合初始规范的过滤器:

F1.TransitionWidth = TW;Kaiserfilt = Design(F1,“kaiserwin”'systemobject',真正的);

Kaiser窗口设计需要相同的订单(60)作为相同的设计,以满足规格。(记住相比之下,我们需要一个非凡的1400阶rad-canine滤波器,以满足Stopband规范。)

fvt = fvtool(eq,rc,kaiserfilt,“颜色”'白色的');传奇(FVT,'平等设计'......'凸起余弦设计'Kaiser窗设计的);

用于插值的奈奎斯特滤波器

除了数字数据传输外,奈奎斯特过滤器对于插值目的是有吸引力的。原因是每一个样品,您之前提到的零样品(中间样品除外)。这有两个优点,通过观察多相表示,这两者都很明显。

fm = fdesign.interpolator(4,'奈奎斯特');Kaiserfilt = Design(FM,“kaiserwin”'systemobject',真正的);fvt = fvtool (kaiserFilt,“颜色”'白色的');fvt。PolyphaseView ='上';

多相偶数滤波器#4是Allpass滤波器,实际上它是纯延迟(在FVTool中选择脉冲响应,或者查看FVTool中的滤波器系数),使得其所有乘法器为零,除了一个,前导为了有效地实现该多相分支。2.即使过滤器不理想,输入样本通过插值过滤器通过插值过滤器。

相关的话题