2019/5/11 实验四 FIR滤波器的特性及应用 05:31:12
一、实验目的 1. 熟悉相位信息的特性 2. 测试FIR滤波器的滤波特性 05:31:12
二、实验内容 1. 相位信息的作用 自己构造一个离散信号y(n); 计算其DFT频谱; 保持幅度谱信息不变,改造其相位信息: (1)原相位谱加上任意相位 (2)原相位谱加上线性相位 对改造后的频谱做IDFT,得到yy1(n)和yy2(n); 比较y(n)和yy1(n)、yy2(n),分析讨论结果。 05:31:12
通带 幅度谱不变 改造相位谱 ——分别加上这两种类型的相位 任意相位 线性相位 05:31:12
cc = Amp.*exp(i*Pha); %把幅度谱和相位谱组合成频谱 dd = ifft(cc, 'symmetric'); 把改造后的相位谱与未改动的幅度谱组合成频谱: cc = Amp.*exp(i*Pha); %把幅度谱和相位谱组合成频谱 dd = ifft(cc, 'symmetric'); 改造后的相位谱 或者: …… %利用上两式计算频谱的实部Xre和虚部Xim cc = complex(Xre, Xim); %把实部和虚部组合成复数 dd = ifft(cc, 'symmetric'); 05:31:12
关于 ifft(cc, 'symmetric') y = ifft(..., 'symmetric') causes ifft to treat X as conjugate symmetric along the active dimension. This option is useful when X is not exactly conjugate symmetric, merely because of round-off error 05:31:12
2. 测试线性相位FIR滤波器的滤波特性 四种类型的线性相位FIR传输函数 H(z): 1型:冲激响应h(n)长度为奇数,且偶对称 05:31:12
05:31:12
线性相位FIR传输函数 H(z)的零点分布: 1型: 在z=1和z=-1处有偶数个零点或没有零点; 2型: 在z=1处有偶数个零点或没有零点, 在z=-1处有奇数个零点; 3型: 在z=1和z=-1处有奇数个零点; 4型: 在z=1处有奇数个零点, 在z=-1处有偶数个零点或没有零点。 05:31:12
1型: 均可 2型: 不能设计高通F 3型: 不能设计低通、高通、带阻F 4型: 不能设计低通F 05:31:12
具体要求(分3步): 第1步: h=[-1 2 -3 6 -3 2 -1]; %自己构造h(n)序列 自己分别构造一个1,2,3,4型线性相位FIR滤波器的传输函数(序列)h(n),参照下面的程序,利用zplane()函数画出其对应的零点、极点分布图: h=[-1 2 -3 6 -3 2 -1]; %自己构造h(n)序列 a=[1,-0.5]; %当为FIR滤波器时,取a=1; zplane(h,a); 05:31:12
第2步: 参考下面的程序,利用freqz()函数画出滤波器传输函数的幅度谱和相位谱: M = 100; [H,w] = freqz(h,a,M); figure(1); plot(w,abs(H)); xlabel('\omega'); ylabel('Amplitude'); figure(2); plot(w,unwrap(angle(H))); xlabel('\omega');ylabel('Phase'); 05:31:12
第3步: 针对自己构造的1,2,3,4型线性相位FIR滤波器的滤波特性(低通/高通?),选择其中的一种滤波器,构造信号序列x(n)(有用信号+噪声),利用filter()函数测试滤波效果: y = filter(h, a, x); %滤波 要求:在滤波器通带频段中至少包含2个频率不同的有用信号。 05:31:12