郑州大学数字信号处理课程设计报告.docx
《郑州大学数字信号处理课程设计报告.docx》由会员分享,可在线阅读,更多相关《郑州大学数字信号处理课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
郑州大学数字信号处理课程设计报告
实验一:
基于DFT的数字谱分析以及可能出现的问题
一、实验目的:
1.进一步加深对DFT的基本性质的理解。
2.掌握在MATLAB环境下采用FFT函数编程实现DFT的语句用法。
3.学习用DFT进行谱分析的方法,了解DFT谱分析中出现的频谱泄露和栅栏效应现象,以便在实际中正确应用DFT。
二、实验步骤:
1.复习DFT的定义、物理含义以及主要性质。
2.复习采用DFT进行谱分析可能出现的三个主要问题以及改善方案。
3.按实验内容要求,上机实验,编写程序。
4.通过观察分析实验结果,回答思考题,加深对DFT相关知识的理解。
三、上机实验内容:
1.编写程序产生下列信号供谱分析用:
离散信号:
x1=R10(n)
x2={1,2,3,4,4,3,2,1},n=0,1,2,3,4,5,6,7
x3={4,3,2,1,1,2,3,4},n=0,1,2,3,4,5,6,7
连续信号:
x4=sin(2πf1t)+sin(2πf2t)
f1=100Hz,f2=120Hz,采样率fs=800Hz
2.对10点矩形信号x1分别进行10点、16点、64点和256点谱分析,要求256点频谱画出连续幅度谱,10点、16点和64点频谱画出离散幅度谱,观察栅栏效应。
3.产生信号x2和x3分别进行8点、16点谱分析,画出离散幅度谱,观察两个信号的时域关系和幅度谱的关系。
4.对双正弦信号x4以采样率fs=800Hz抽样,生成离散双正弦信号并画出连续波形;
对离散双正弦信号进行时域截断,截取样本数分别为1000、250、50。
对不同样本的双正弦信号分别进行1024点谱分析,画出连续幅度谱,观察频谱泄露现象。
四、实验程序:
五、实验结果:
六、思考题:
1.在进行8点和16点谱分析时,x2和x3的幅频特性相同吗?
为什么?
答:
在N=8时相同,因为x2和x3是圆周移位的关系,两者包含的信息完全相同,故幅频特性相同;在N=16时不相同,因为x2和x3并非圆周移位的关系,两者所包含的信息不等,故幅频特性相同。
2.在对x1进行10点、16点和64点谱分析时,能否观察到
处的频谱信息?
为什么?
3.理论上,连续信号x4的频谱包含哪些频率(Hz)?
在对x4进行时域截断时,其频谱发生了什么现象?
为什么?
实验二:
用双线性法设计IIR数字滤波器
一、实验目的:
1.熟悉双线性法设计IIR数字滤波器的原理和方法。
2.掌握数字滤波器的计算机仿真方法。
3.通过观察对实际心电图信号的滤波作用,获得数字滤波的感性认识。
二、实验步骤:
1.复习有关巴特沃思模拟滤波器设计合用双线性法设计IIR数字滤波器的内容。
2.根据实验内容中给出得指标求出巴特沃思滤波器的阶数和3db截止频率wc。
3.根据上机实验内容编写主程序。
①编写程序设计满足指标的巴特沃思数字滤波器。
②编写仿真程序,用设计的滤波器对心电图信号滤波,分析滤波结果。
4.写出实验报告。
三、上机实验内容:
1.用双线性法设计巴特沃思数字低通滤波器,设计指标为:
通带截止频率0.2π,通带内最大波纹1db,阻带开始频率0.3π,阻带最小衰减15db。
(采样间隔T=1)
2.绘制模拟滤波器的幅频响应图,频率以Hz为单位。
3.用双线性法设计数字滤波器,绘制数字滤波器的幅频响应图,频率以数字频率w/π为单位。
验证是否满足指标。
4.用设计的数字滤波器对心电图信号进行仿真滤波,绘制滤波前后的心电图信号波形和频谱,观察总结滤波作用和效果。
四、实验程序:
五、实验结果:
六、思考题:
1.本实验中用双线性法设计数字滤波器的映射公式s=(2/T)(1-z-1)/(1+z-1)中的T对设计的模拟滤波器波形有无影响?
对设计的数字滤波器波形有无影响?
为什么?
答:
对设计的模拟滤波器波形有影响,对设计的数字滤波器波形无影响。
因为由ω=ΩT可知,当数字指标指定时,改变T对Ω有影响,但对数字指标ω无影响,也即对设计的模拟滤波器波形有影响,对设计的数字滤波器波形无影响。
2.滤波前后心电图的波形有何不同?
为什么?
答:
滤波后信号的高于50Hz的分量都被滤掉了。
因为滤波器的阻带开始频率fst=37.5Hz,所以信号的高于50Hz的分量都被滤掉了。
实验三:
用窗函数法设计FIR数字滤波器
一、实验目的:
1.熟悉用窗函数法设计FIR数字滤波器的原理和方法。
2.熟悉线性FIR数字滤波器特性。
3.了解各种窗函数对滤波器性能的影响。
二、实验步骤:
1.复习用窗函数法设计FIR数字滤波器的内容。
2.掌握窗函数参数与滤波器性能的对应关系。
3.根据上机实验内容编写主程序。
4.写出实验报告。
三、上机实验内容:
1.编写函数程序,产生理想低通滤波器冲激响应hd(n),供窗函数设计滤波器调用;
2.设计线性相位数字低通滤波器,阶数N=33,截至频率ωc=π/4,要求:
①分别用矩形窗、汉宁窗、海明窗和布莱克曼窗设计上述滤波器;
②分别绘制四种滤波器的单位抽样相应h(n)、频率幅度H(k)、db频率幅度20lg(H(k)/H(0))和相位特性φ(k)。
(要求将每种滤波器四个特性绘制在一张图上,频率以ω为横坐标,并给出坐标标注及窗函数名称标注);
③比较四种窗函数对应的3db和20db带宽及阻带最大衰减。
3.选择一种窗函数分别采用N=15和N=33、ωc=π/4设计线性相位数字低通滤波器,要求:
①分别绘制N=15和N=33的滤波器单位抽样相应h(n)、频率幅度H(k)、db频率
幅度20lg(H(k)/H(0))和相位特性φ(k)。
(要求将滤波器四个特性绘制在一张图上,频率以ω为横坐标,并给出坐标标注及窗函数名称和N值的标注)。
②比较相同窗函数在不同N值时的过渡带宽及阻带最大衰减。
4.从信号x(t)=sin(100πt)+sin(200πt)+sin(300πt)中将50Hz基频信号提取出来,
①若采用抽样率fs=1000Hz对x(t)进行抽样,请选择合适的数字滤波器指标;
②根据选择的滤波器指标,分别采用矩形窗和布莱克曼窗对信号x(n)进行数字滤波;
③绘制滤波前后的信号频谱,比较两种窗函数的滤波效果。
四、实验程序:
functionhd=ideal(N,wc)
forn=0:
N-1
ifn==(N-1)/2
hd(n+1)=wc/pi;
elsehd(n+1)=sin(wc*(n-(N-1)/2))/(pi*(n-(N-1)/2));
end
end
clearall;cla;closeall;
N=33;wc=pi/4;
hd=ideal(N,wc);
w1=boxcar(N);
w2=hamming(N);
w3=hann(N);
w4=blackman(N);
h1=hd.*w1';
h2=hd.*w2';
h3=hd.*w3';
h4=hd.*w4';
M=512;
fh1=fft(h1,M);
db1=-20*log10(abs(fh1
(1)./(abs(fh1)+eps)));
fh2=fft(h2,M);
db2=-20*log10(abs(fh2
(1)./(abs(fh2)+eps)));
fh3=fft(h2,M);
db3=-20*log10(abs(fh3
(1)./(abs(fh3)+eps)));
fh4=fft(h4,M);
db4=-20*log10(abs(fh4
(1)./(abs(fh4)+eps)));
w=2/M*[0:
M-1];
figure
subplot(2,2,1);stem(h1)
subplot(2,2,2);plot(w,abs(fh1))
subplot(2,2,3);plot(w,db1)
subplot(2,2,4);plot(w,angle(fh1))
figure
subplot(2,2,1);stem(h2)
subplot(2,2,2);plot(w,abs(fh2))
subplot(2,2,3);plot(w,db2)
subplot(2,2,4);plot(w,angle(fh2))
figure
subplot(2,2,1);stem(h3)
subplot(2,2,2);plot(w,abs(fh3))
subplot(2,2,3);plot(w,db3)
subplot(2,2,4);plot(w,angle(fh3))
figure
subplot(2,2,1);stem(h4)
subplot(2,2,2);plot(w,abs(fh4))
subplot(2,2,3);plot(w,db4)
subplot(2,2,4);plot(w,angle(fh4))
N1=15;wc=pi/4;
hd1=ideal(N1,wc);
w1=hamming(N1);
hn1=hd1.*w1';
M=512;
fh1=fft(hn1,M);
w=2/M*[0:
M-1];
figure
subplot(2,2,1);stem(hn1);
title('单位抽样响应h1(n)');
xlabel('n');
ylabel('h1(n)');
subplot(2,2,2);plot(w,abs(fh1));
title('频率幅度');
xlabel('w');
ylabel('|H(k)|');
db1=-20*log10(abs(fh1
(1)./(abs(fh1)+eps)));
subplot(2,2,3);plot(w,db1);
title('db频率');
xlabel('w');
ylabel('db');
subplot(2,2,4);plot(w,angle(fh1));
title('相位特性');
xlabel('w');
ylabel('angle(fh1)');
N2=33;wc=pi/4;
hd2=ideal(N2,wc);
w2=hamming(N2);
hn2=hd2.*w2';
M=512;
fh2=fft(hn2,M);
w=2/M*[0:
M-1];
figure
subplot(2,2,1);stem(hn2);
title('单位抽样响应h2(n)');
xlabel('n');
ylabel('h2(n)');
subplot(2,2,2);plot(w,abs(fh2));
title('频率幅度');
xlabel('w');
ylabel('|H2(k)|');
db2=-20*log10(abs(fh2
(1)./(abs(fh2)+eps)));
subplot(2,2,3);plot(w,db2);
title('db频率');
xlabel('w');
ylabel('db2');
subplot(2,2,4);plot(w,angle(fh2));
title('相位特性');
xlabel('w');
ylabel('angle(fh2)');
N=512;
t=0:
1/512:
1/N*(N-1);
x1=sin(100*pi*t)+sin(200*pi*t)+sin(300*pi*t);
figure;
plot(t,x1);
title('原信号x(t)波形');
xlabel('t');
ylabel('x(t)');
figure;
fh1=fft(x1,N);
f=1/N*[0:
N-1]*512;
plot(f,abs(fh1));
title('滤波前的信号频谱')
xlabel('f');
ylabel('|fh1|');
N=40;
Wp=100*pi/512;Wst=150*pi/512;
Wc=125*pi/512;
hd=ideal(N,Wc);
w1=boxcar(N);
hn1=hd.*w1';
figure;
plot(hn1);
title('矩形窗设计的滤波器');
xlabel('n');
ylabel('h(n)');
f1=conv(hn1,x1);
figure;
plot(f1);
title('滤波后的信号波形');
xlabel('n');
ylabel('f1');
M=512;
fh2=fft(f1,M);
f=1/M*[0:
M-1]*512;
figure;
plot(f,abs(fh2));
title('滤波后的信号频谱');
xlabel('f');
ylabel('|fh2|');
w2=blackman(N);
hn2=hd.*w2';
figure;
plot(hn2);
title('布莱克曼窗设计的滤波器');
xlabel('n');
ylabel('h(n)');
f2=conv(hn2,x1);
figure;
plot(f2);
title('滤波后的信号波形');
xlabel('n');
ylabel('f2');
M=512;
fh2=fft(f2,M);
f=1/M*[0:
M-1]*512;
figure;
plot(f,abs(fh2));
title('滤波后的信号频谱');
xlabel('f');
ylabel('|fh2|');
五、实验结果:
六、思考题:
1.上机实验内容3中的抽样间隔应如何选择?
答:
原信号频谱中最高频率为f=50Hz,由奈奎斯特抽样定理可知:
抽样信号频率fs需满足:
fs≥2f=300,本实验选择fs=512。
2.上机实验内容3中不同窗函数的滤波结果是否相同?
为什么?
答:
不相同。
因为不同窗函数的基本参数不同,故设计的滤波的性能指标也不完全相同,如过滤带的宽度和阻带最小衰减等。