主要内容

FIR Nyquist (L-th波段)滤波器设计

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

幅度响应比较

图中显示了等纹波奈奎斯特滤波器和凸起余弦滤波器的幅度响应。两个滤波器的阶数都为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,'Equiripple''zerophase',真的,'systemobject',真正的);多项式系数= rcosdesign (R N / NBand NBand,'普通的');多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc = dsp。FIRFilter ('分子'、多项式系数);fvt = fvtool (eq,钢筋混凝土,“颜色”'白色的');传奇(FVT,'平方奈奎斯特设计''凸起余弦设计');

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

脉冲响应比较

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

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

奈奎斯特过滤器,带有倾斜的停机带

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

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

最小相位设计

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

f1。FilterOrder = 30;f1。乐队= NBand;F1.TransitionWidth = TW;EQ1 = Design(F1,'Equiripple'“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,'Equiripple''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 Window方法来设计符合初始规范的过滤器:

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

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

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

奈奎斯特插值滤波器

除了数字数据传输之外,奈奎斯特过滤器对于插值目的是有吸引力的。原因是每个L样品您之前所述的零样品(中间样品除外)。这有两个优点,两者都是显而易见的,通过看多相表示。

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

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

相关的话题