任意幅度和相位滤波器设计

这个例子展示了如何设计自定义幅度和相位规格的滤波器。自定义星等和相位设计规范用于数据传输系统(信道均衡)或过采样ADC(例如对非理想硬件特性的补偿)中发现的星等和相位畸变的均衡。这些技术也允许滤波器的设计有更小的组延迟比线性相位滤波器和更少的失真比最小相位滤波器为给定的顺序。

FIR建模

在第一个例子中,我们比较了几种FIR设计技术来模拟一个复杂的射频带通滤波器的幅值和相位,该滤波器定义在完整的奈奎斯特范围内(没有放松或“不关心”的区域)。

负载cpxbp.matf = fdesign.arbmagnphase (“N、F、H”,100年F1, H1);高清=设计(f,'allfir');hfvt = fvtool(高清'颜色',' w ');传说(hfvt,“等波纹”,“FIR最小二乘”,“频率采样”,'位置','东北')hfvt(2)= fvtool(HD,'分析',“阶段”,'颜色',“白色”);图例(hfvt(2),“等波纹”,“FIR最小二乘”,“频率采样”(2).当前税;斧子。NextPlot =“添加”;PIDX =查找(F1> = 0);情节(AX,F1,[fliplr(解包(角度(H1(PIDX-1:-1:1))))%的面具打开(角(H1 (pidx:结束))))“k——”)

IIR设计

接下来,我们设计了一个高通IIR滤波器具有近似线性通带相位。注意必须在使用该IIR设计技术时,因为过滤器的稳定性不能保证被采用。

F = [linspace(0,.475,50) linspace(.525,1,50)];H = [0 (1,50) exp(-1j*pi*13*F(51:100)];f = fdesign.arbmagnphase ('铌,钠,F,H',12,10,F,H);W = [酮(1,50)100吨*酮(1,50)];高清=设计(f,'iirls',“重量”,W);isstable(HD)
ANS =逻辑1
关上(hfvt (1));关上(hfvt (2));hfvt = fvtool(高清'颜色',' w ');传说(hfvt,“IIR最小二乘”,'位置',“西北”)hfvt(2)= fvtool(HD,'分析',“阶段”,'颜色',“白色”);图例(hfvt(2),“IIR最小二乘”,'位置','东北')

低群延迟的带通FIR滤波器

为了减少滤波器的延迟,同时在通带内保持良好的相位线性近似值,放弃相位的精确线性有时是很有趣的。定义带通滤波器的3个频段:

F1 = linspace(0为30);%降低阻F2 = linspace (。3、56、40);%通频带F3 = linspace (.62 1 30);%以上的阻带N = 50;%滤波器阶gd = 12;%所需的组延迟H1 = 0(大小(F1));H2 = exp (1 j *π* gd * F2);H3 = 0(大小(F3));f = fdesign.arbmagnphase (' N, B, F、H 'N 3 F1, F2, H1, H2, F3, H3);高清=设计(f,“equiripple”);

具有线性相位比较设计,我们看到,群延迟减少了一半,而相位响应保持近似线性通带。

f = fdesign.arbmag (”N, B, F,“,N,3,F1,ABS(H1),F2,ABS(H2),F3,ABS(H3));HD(2)=设计(F,“equiripple”);关上(hfvt (1));关上(hfvt (2));hfvt = fvtool(高清'颜色',' w ');传说(hfvt,“低群时延”,线性相位的,'位置','东北')hfvt(2)= fvtool(HD,'分析','grpdelay','颜色',' w ');图例(hfvt(2),“低群时延”,线性相位的,'位置','东北')轴((。3 .56 0 35])

hfvt (2)。分析=“阶段”;hfvt(2)。颜色=' w ';轴([3 0.56 -30 10])

切比雪夫低通滤波器的通带均衡

一个常见的问题是对IIR滤波器的非线性相位响应进行补偿。在本例中,我们将使用一个三阶Chebyshev类型I低通滤波器,其归一化通频带频率为1/16和0.5 dB的通频带波纹。

Fp = 1/16;%通带频率美联社= 5;%通带波纹f = fdesign.lowpass (' N, Fp,美联社3,Fp,美联社);Hcheby =设计(f,“cheby1”);关上(hfvt (1));关上(hfvt (2));hfvt = fvtool (Hcheby,'颜色',' w ');传说(hfvt,“切比雪夫低通”);hfvt (2) = fvtool (Hcheby,'颜色',' w ','分析','grpdelay');图例(hfvt(2),“切比雪夫低通”);

2波段数字FIR均衡器的设计。我们选择2波段的方法,因为我们想集中精力在通频带上。我们的目标是在通频带上实现35个样本的平坦群延迟。

GD = 35;被均衡的滤波器的通带%群时延(线性相位)F1 = 0:5e-4:《外交政策》;%通频带D1 = exp (1 j * Gd *π* F1)。/ freqz (Hcheby, F1 *π);置= 3/16;%阻带F2 = linspace(FST,1100);D2 =零(1,长度(F2));f = fdesign.arbmagnphase (' N, B, F、H ',51岁,2,F1, F2, D1, D2);Hfirls =设计(f,“firls”);%最小二乘设计Heqrip =设计(f,“equiripple”);% Equiripple设计

级均衡

通带波纹被均衡之后从减毒0.5分贝到0.27分贝为最小二乘均衡器和用于均衡器等波纹0.16分贝。

关上(hfvt (1));关上(hfvt (2));hfvt = fvtool (Hcheby,级联(Hcheby Hfirls),级联(Hcheby Heqrip),'颜色',' w ');传说(hfvt,“切比雪夫低通”,“最小二乘均衡(级联)”,“Equiripple均衡(级联)”,'位置','东北') hfvt(2) = fvtool(Hcheby,cascade(Hcheby,Hfirls),cascade(Hcheby,Heqrip),'颜色',' w ');图例(hfvt(2),“切比雪夫低通”,“最小二乘均衡(级联)”,“Equiripple均衡(级联)”,'位置','东北')轴([0 .1 -。8。5)

相位(组延迟)均衡

通带中的群延迟是从一个峰到8.8样品峰值差均衡,以0.51的样品与最小二乘均衡器和0.62的样品与等波纹均衡器。

hfvt (2)。分析='grpdelay';axis([0 1 0 40]) hfvt(3) = fvtool(Hcheby,cascade(Hcheby,Hfirls),cascade(Hcheby,Heqrip),'分析','grpdelay','颜色',' w ');传奇(hfvt (3),“切比雪夫低通”,“最小二乘均衡(级联)”,“Equiripple均衡(级联)”,'位置','东北')轴([0 Fp 34 36])

关上(hfvt (1));关上(hfvt (2));关上(hfvt (3));