- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FIR滤波器的设计作业
生医《数字信号处理》期末大作业
一.设计FIR带阻滤波器
1.1数据的产生
1.用randn()函数产生均值为零,功率为0.1(即方差为0.1)的高斯分布的白噪声,
clear;
u1=randn(1,500000);
u1=u1*sqrt(0.1);
power_u1=var(u1);
subplot(2,1,1);
plot(u1(1:200));
grid on;
xlabel(n);
ylabel(x(n));
u2=randn(1,500000);
u2=u2*sqrt(0.1);
power_u2=var(u2);
subplot(2,1,2);
plot(u2(1:200));
grid on;
xlabel(n);
ylabel(x(n));
和通过由5个FIR子系统()级联而成的FIR系统,得到输出,令,在上加四个已知幅度()和归一化频率()的复正弦信号,得到已知的试验信号。
分析可得:由已知的5个FIR子系统的,可知系统的,从而得到总的FIR系统的系统函数,最终的试验信号,求幅频响应则调用freqz()函数。
clear;
b1=[1,1.98,0.9801];
b2=[1,-1.98,0.9801];
h1=conv(b1,b2);
b3=[1,-1.8418,0.9801];
h2=conv(h1,b3);
b4=[1,-1.5,0.9801];
h3=conv(h2,b4);
b5=[1,-1.2727,0.9801];
h=conv(h3,b5);
[H,w]=freqz(h,1,4096,1); %离散谱的分点数N=4096
H=abs(H);
H1=max(H);
H=H/H1;
H=20*log10(H);
plot(w,H);
ylabel(系统的归一化对数幅频响应);
grid on;
图2
数据长度256,得到的
N=256;
u1=randn(1,500000);
u1=u1*sqrt(0.1);
u2=randn(1,500000);
u2=u2*sqrt(0.1);
n=[0:N-1];
a1=6;a2=12;a3=12;a4=2;
f1=0.12;f2=0.23;f3=0.24;f4=0.16;
b1=[1,1.98,0.9801];
b2=[1,-1.98,0.9801];
b3=[1,-1.8418,0.9801];
b4=[1,-1.5,0.9801];
b5=[1,-1.2727,0.9801];
h1=conv(b1,b2);h2=conv(h1,b3);h3=conv(h2,b4);h=conv(h3,b5);
v1=conv(u1,h); v2=conv(u2,h);
v=v1+i*v2; x1=v1(1:N)+a1*cos(2*pi*f1*n)+a2*cos(2*pi*f2*n)+a3*cos(2*pi*f3*n)+a4*cos(2*pi*f4*n);
x2=v2(1:N)+a1*sin(2*pi*f1*n)+a2*sin(2*pi*f2*n)+a3*sin(2*pi*f3*n)+a4*sin(2*pi*f4*n);
x=x1+i*x2;
subplot(221);
stem(x1,.);
grid on;
xlabel(N);
ylabel(x(n)的实部);
subplot(222);
stem(x2,.);
grid on;
xlabel(N);
ylabel(x(n)的虚部);
subplot(223);
stem(x,.)
xlabel(N);
ylabel(x(n));
图3 试验信号x(n)
1.2设计FIR带阻滤波器
Chebyshev一致逼近法
首先进行滤波器阶次的估计,已知通带阻带的衰减,由和,可求出通带阻带各自的纹波幅度。然后,自己设定过渡带宽度b,代入阶次估计公式估计出阶次n=84
f=[0.220 0.239 0.241 0.260];
m=[1 0 1];
rp=0.1;rs=-30;
devp=10^(rp/20)-1;
devs=10^(rs/20);
dev=[devp devs devp];
[n,f0,m0,w]=remezord(f,m,dev,1);
b2=remez(n+1,f0,m0,w);
[H1,w]=freqz(b2,1,256,1);
H1=abs(H1);
H1=20*log10(H1);
figure(1);plot(w,H1);grid on;xlabel(ω/2π);ylabel(Chebyshev一致逼近法滤波器FIR系统幅频响应);
figure(2);stem(b2,.);
文档评论(0)