主要内容

FIR NYQUIST(第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,“equiripple”“Zerophase”,真的,“SystemObject”,真正的);coeffs = rcosdesign(r,n / nband,nband,“正常”);多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc = dsp.firfilter(“分子”、多项式系数);fvt = fvtool(eq,rc,'颜色'“白色”);传奇(fvt“Equiripple尼奎斯特设计的提出了余弦设计的);

事实上,在这个例子中,为了达到类似的衰减,有必要将提高余弦设计的阶数增加到1400左右。

脉冲响应的比较

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

f1。FilterOrder = 38;eq1 =设计(f1,“equiripple”“Zerophase”,真的,“SystemObject”,真正的);coeffs = rcosdesign(r,f1.filterorder / nband,nband,“正常”);多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc1 = dsp。FIRFilter (“分子”、多项式系数);fvt = fvtool (eq1 rc1,'颜色'“白色”'分析'“冲动”);传奇(fvt'平静奈奎斯特''升起余弦');标题('脉冲响应,订单=38,Rolloff = 0.5');

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

等效纹波设计允许控制滤波器的阻带的斜率。例如,下列设计的衰减斜率分别为0、20和40分贝/(rad/sample):

f1。FilterOrder = 52个;f1。乐队= 8;f1。TransitionWidth = . 05;eq1 =设计(f1,“equiripple”“SystemObject”,真正的);eq2 =设计(f1,“equiripple”'stopbandshape'“线性”...“StopbandDecay”, 20岁,“SystemObject”,真正的);eq3 =设计(f1,“equiripple”'stopbandshape'“线性”...“StopbandDecay”,40,“SystemObject”,真正的);fvt = fvtool (eq1 eq2 eq3,'颜色'“白色”);传奇(fvt'斜率= 0'的斜率= 20'斜坡= 40'

最小相位设计

我们可以设计整个奈奎斯特滤波器的最小相位频谱因子(频域的平方根)。在匹配滤波应用中,这个光谱因子可以以类似于平方根凸起余弦滤波器的方式使用。一个平方根的滤波器被放置在发射机的一端,另一个平方根被放置在接收机的一端。

f1.filterorder = 30;f1.band = nband;F1.TransitionWidth = TW;eq1 =设计(f1,“equiripple”'minphase',真的,“SystemObject”,真正的);coeffs = rcosdesign(r,n / nband,nband);coeffs = coeffs / max(coeffs)*(-1 /(pi * nband)*(pi *(r-1) -  4 * r));srrc = dsp.firfilter(“分子”、多项式系数);fvt = fvtool (srrc eq1,'颜色'“白色”);传奇(fvt'最小相位平方设计'...'Square-Root Liade-Canine Design');

降低Rolloff因子

升高余弦滤波器的响应随着升降因子降低而改善(这里示出了滚动= 0.2)。这是因为矩形窗口的频率响应的窄主凸瓣,其用于截断脉冲响应。

f1。FilterOrder = N;f1。TransitionWidth = 1;eq1 =设计(f1,“equiripple”“Zerophase”,真的,“SystemObject”,真正的);r = 0.2;coeffs = rcosdesign(r,n / nband,nband,“正常”);多项式系数=多项式系数/ max (abs(多项式系数))/ NBand;rc1 = dsp。FIRFilter (“分子”、多项式系数);fvt = fvtool (eq1 rc1,'颜色'“白色”);传奇(fvt“尼奎斯特equiripple设计”提出了余弦设计的);

窗口 - 脉冲响应奈奎斯特设计

奈奎斯特滤波器也可以使用截断加窗的脉冲响应方法来设计。这可以是提高余弦设计的另一种选择。例如,我们可以使用Kaiser窗口方法来设计一个满足初始规格的过滤器:

F1.TransitionWidth = TW;kaiserFilt =设计(f1,'kaiserwin'“SystemObject”,真正的);

Kaiser窗口设计要求相同的顺序(60)作为equiripple设计,以满足规格。(记住,相比之下,我们需要一个非凡的1400阶提高余弦滤波器来满足阻带规格。)

kaiserFilt fvt = fvtool (eq,钢筋混凝土,'颜色'“白色”);传奇(fvt“Equiripple设计”...提出了余弦设计的'Kaiser Window Design');

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

除了数字数据传输,奈奎斯特滤波器在插值目的上也很有吸引力。原因是之前提到的每个L样本都有一个零样本(除了中间样本)。这样做有两个好处,从多相表示法可以看出。

调频= fdesign.interpolator (4“奈奎斯特”);kaiserFilt =设计(fm,'kaiserwin'“SystemObject”,真正的);fvt = fvtool(kaiserfilt,'颜色'“白色”);fvt.polyphaseview =“上”

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

相关话题