主要内容

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);Eq = design(f1,“equiripple”Zerophase = true, SystemObject = true);coeffs = rcosdesign(R,N/NBand,NBand,“正常”);coeffs = coeffs/max(abs(coeffs))/NBand;rc = dsp.FIRFilter(分子=coeffs);FVT = fvtool(eq,rc);传奇(fvt“Equiripple NYQUIST设计”“凸起余弦设计”);

{

事实上,在本例中,有必要将提升余弦设计的阶数增加到1400左右,以达到类似的衰减。

脉冲响应比较

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

f1。FilterOrder = 38;方程式1 =设计(f1,“equiripple”Zerophase = true, SystemObject = true);coeffs = rcosdesign(R,f1。FilterOrder / NBand NBand,“正常”);coeffs = coeffs/max(abs(coeffs))/NBand;rc1 = dsp.FIRFilter(分子=coeffs);fvt = fvtool(eq1,rc1,Analysis=“冲动”);传奇(fvt“Equiripple奈奎斯特的提出了余弦的);

{

带倾斜止带的奈奎斯特滤波器

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

f1。FilterOrder = 52;f1。Band = 8;f1。TransitionWidth = .05;方程式1 =设计(f1,“equiripple”, SystemObject = true);Eq2 =设计(f1,“equiripple”StopbandShape =“线性”StopbandDecay = 20, SystemObject = true);Eq3 =设计(f1,“equiripple”StopbandShape =“线性”StopbandDecay = 40, SystemObject = true);FVT = fvtool(eq1,eq2,eq3);传奇(fvt“斜率= 0”的斜率= 20的斜率= 40 '

{

最小相位设计

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

f1。FilterOrder = 30;f1。Band = NBand;f1。TransitionWidth = TW;方程式1 =设计(f1,“equiripple”, Minphase=true, SystemObject=true);coeffs = rcosdesign(R,N/NBand,NBand);多项式系数=多项式系数/ max(多项式系数)*(1 /(π* NBand) *(π* (r1) - 4 * R));srrc = dsp.FIRFilter(分子=coeffs);FVT = fvtool(eq1,srrc);传奇(fvt“最小相位等纹波设计”...“平方根增余弦设计”);

{

减小滚脱系数

提升余弦滤波器的响应随着滚脱系数的减小而改善(这里显示的是滚脱= 0.2)。这是因为用于脉冲响应截断的矩形窗口的频率响应的主瓣很窄。

f1。FilterOrder = N;f1。TransitionWidth = .1;方程式1 =设计(f1,“equiripple”,零相位=true, SystemObject=true);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 = true);

凯撒窗口设计要求相同的顺序(60),以满足规格的等纹波设计。相比之下,我们需要一个非凡的1400阶升余弦滤波器来满足阻带规格。

fvt = fvtool(eq,rc,kaiserFilt);传奇(fvt“Equiripple设计”“凸起余弦设计”“凯撒窗户设计”);

{

内插的奈奎斯特滤波器

除了数字数据传输,奈奎斯特滤波器在插值方面也很有吸引力。原因是每L个样本都有一个零样本(除了中间样本)。这样做有两个优点,从多相表示的角度来看,两者都很明显。

FM = fdesign.interpolator(4,“奈奎斯特”);kaiserFilt =设计(fm,“kaiserwin”, SystemObject = true);fvt = fvtool(kaiserFilt);fvt。PolyphaseView =“上”

{

多相子滤波器#4是一个全通滤波器,事实上,它是一个纯延迟。要验证这一点,请选择脉冲响应或在FVTool中查看滤波器系数。该多相滤波器的纯延迟分支具有以下特点:

  • 它的所有系数都是零,除了一个,这导致了多相分支的有效实现。

  • 插值滤波器保留输入样本值,即。 y u k 尽管过滤器并不理想。

相关的话题

Baidu
map