数字信号处理实验报告66566.docx
- 文档编号:9501936
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:23
- 大小:231.51KB
数字信号处理实验报告66566.docx
《数字信号处理实验报告66566.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告66566.docx(23页珍藏版)》请在冰豆网上搜索。
数字信号处理实验报告66566
数字信号处理
实验报告
实验一序列的傅立叶变换
一、实验目的
1.进一步加深理解DFS,DFT算法的原理;
2.研究补零问题;
3.快速傅立叶变换(FFT)的应用。
二、实验步骤
1.复习DFS和DFT的定义,性质和应用;
2熟悉MATLAB语言的命令窗口、编程窗口和图形窗口的使用;
3利用提供的程序例子编写实验用程序;
4.按实验内容上机实验,并进行实验结果分析;
5.写出完整的实验报告,并将程序附在后面。
三、实验内容
1.周期方波序列的频谱
已知
试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。
2.有限长序列x(n)的DFT
(1)取x(n)(n=0:
10)时,画出x(n)的频谱X(k)的幅度;
(2)将
(1)中的x(n)以补零的方式,使x(n)加长到(n:
0~100)时,画出x(n)的频谱X(k)的幅度;
(3)取x(n)(n:
0~100)时,画出x(n)的频谱X(k)的幅度。
利用FFT进行谱分析
3.已知:
模拟信号
以t=0.01n(n=0:
N-1)进行采样,求N点DFT的幅值谱。
请分别画出N=45;N=50;N=55;N=60时的幅值曲线。
四、实验数据分析
1.周期方波序列的频谱分析
首先定义一个功能函数dfs
function[Xk]=dfs(xn,N)
n=[0:
1:
N-1];
k=[0:
1:
N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
(1)L=5,N=20;
%题1.
(1)
L=5;N=20;%对于
(2),(3),(4)问,只要修改L,N的数值就好。
n=1:
N;
xn=[ones(1,L),zeros(1,N-L)];
Xk=dfs(xn,N);
magXk=abs([Xk(N/2+1:
N)Xk(1:
N/2+1)]);
k=[-N/2:
N/2];
figure
(1)
subplot(2,1,1);
stem(n,xn);xlabel('n');ylabel('xtide(n)');
title('DFSofSQ.wave:
L=5,N=20');
subplot(2,1,2);
stem(k,magXk);
axis([-N/2,N/2,0,16]);
xlabel('k');ylabel('Xtide(k)');
(2)L=5,N=40;
(3).L=5,N=60
(4)L=7,N=60;
结果分析:
虽然周期序列不存在FT,但是一个周期序列可以利用其DFS系数X(k)表示它的频谱分布规律,从以上各频谱图可以看出,随着补零点数的增加,周期序列的谐波次数越来越多,其频谱的包络线越来越平滑连续,更能反映幅度值随时间的变化。
2.有限长序列的DFT
(1)
%题2-
(1)
n=0:
10;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);
N=11;
Xk=fft(xn,N);%序列x(n)的N点DFT
k=0:
N-1;wk=2*k/N;
subplot(1,1,1);stem(wk,abs(Xk),'.');
title('频谱X(K)的幅度');
xlabel('ω/π');ylabel('幅度');
(2)
%题2-2
M=10;
N=100;
n=1:
M;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=[0:
1:
N-1];y1=[xn(1:
1:
M),zeros(1,N-M)];
figure
(1)
subplot(2,1,1);
stem(n1,y1);xlabel('n');ylabel('x(n)');
title('序列x(n),0<=n<=100');
axis([0,N,-2.5,2.5]);
Y1=fft(y1);
magY1=abs(Y1(1:
1:
N/2+1));
k1=0:
1:
N/2;
w1=2*pi/N*k1;
subplot(2,1,2);
title('x(n)的幅频特性曲线');
stem(w1/pi,magY1);
axis([0,1,0,60]);
xlabel('\omega/\pi');
ylabel('|X(K)|');
(3)
%Example2-3
M=10;
N=100;
n=0:
M;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=[0:
1:
N-1];y1=[xn(1:
1:
M),zeros(1,N-M)];
figure
(1)
subplot(2,2,1);
stem(n1,y1);xlabel('n');ylabel('x(n)');
title('序列x(n),0<=n<=100');
axis([0,N,-2.5,2.5]);
YK=fft(y1);
Y=abs(Y1(1:
1:
N/2+1));
k1=0:
1:
N/2;
w1=2*pi/N*k1;
subplot(2,2,3);
stem(w1/pi,Y);
title('x(n)的幅频特性曲线');
axis([0,1,0,60]);
xlabel('\omega/\pi');
ylabel('|X(K)|');
subplot(2,2,4);
plot(angle(Y1));
title('x(n)的相频特性曲线');
xlabel('\omega/\pi');
ylabel('phi(\omega)');
结果分析:
由上述仿真图可得,随着n取值范围的增大,其频谱在[0,2π]上的采样间隔越来越小,采样点越来越多。
采样点越多,其DFS频谱越接近FT的频谱。
其相频特性曲线呈现周期性变化。
3.问题三
%题3
%N=45
figure
(1)
subplot(2,2,1)
N=45;n=0:
N-1;t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
stem(q,abs(y))
title('DFTN=45')
%N=50
subplot(2,2,2)
N=50;n=0:
N-1;t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
stem(q,abs(y))
title('DFTN=50')
%N=55
subplot(2,2,3)
N=55;n=0:
N-1;t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
stem(q,abs(y))
title('DFTN=55')
%N=60
subplot(2,2,4)
N=60;n=0:
N-1;t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
stem(q,abs(y))
title('DFTN=60')
结果分析:
由上述仿真图可得,随着N取值的增大,其频谱在[0,2π]上的采样间隔越来越小,采样点越来越多。
采样点越多,其DFS频谱越接近FT的频谱,幅值曲线越来越清晰,更能准确反应幅值随时间的变化规律。
五、心得体会
对于周期序列的离散傅里叶变换,通过matlab的模拟,可以更好的了解掌握序列采样间隔对其采样频谱的影响。
在实验过程中,学习如何使用matlab程序语言解决问题,是很有价值的。
让我对matlab的使用更为熟练。
实验二用双线性变换法设计IIR数字滤波器
一、实验目的
1.熟悉用双线性变换法设计IIR数字滤波器的原理与方法;
2.掌握数字滤波器的计算机仿真方法;
3、通过观察对实际心电图的滤波作用,获得数字滤波器的感性知识。
二、实验内容
1.用双线性变换法设计一个巴特沃斯低通IIR滤波器,设计指标参数为:
在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大于15dB
2.以0.2π为采样间隔,打印出数字滤波器在频率区间[0,0.2π]上的幅值响应曲线。
3.用所设计的滤波器对实际的心电图信号采样序列x(n)=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];)
进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。
三.实验步骤
1.复习有关巴特沃斯模拟滤波器设计和双线性变换法设计IIR滤波器的内容
2.参考例子程序用MATLAB语言编写仿真实验用程序;
3.在通用计算机上运行仿真程序
4.写出完整的实验报告并回答思考题。
四.实验数据分析
1.巴特沃斯低通IIR滤波器的设计
由题可得,数字低通技术指标为
wp=0.2πrad,αp=1dB,ws=0.3πrad,αs=15dB
若T=1s,预畸变校正计算相应的模拟低通的技术指标为
Ωp=1dB,Ωs=15dB
通过计算可得阶数N=5.3056,向上取整的N=6.
Ωc=0.7663rad/s,这样保证阻带技术指标满足要求,通带指标有富余。
以下是通过matlab实现的巴特沃斯低通IIR滤波器的设计
%1
T=1;Fs=1/T;
wpz=0.2;wsz=0.3;
wp=2*tan(wpz*pi/2);
ws=2*tan(wsz*pi/2);rp=1;rs=15;%预畸变校正转换指标
[N,wc]=buttord(wp,ws,rp,rs,'s');%设计过渡模拟滤波器
[B,A]=butter(N,wc,'s');
[Bz,Az]=bilinear(B,A,Fs);%用双线性变换法转换成数字滤波器
fk=0:
1/512:
1;
wk=2*pi*fk;
Hk=freqs(B,A,wk);
figure
(1);
subplot(2,1,1);
plot(fk,20*log10(abs(Hk)));
gridon;
title('模拟滤波器幅值响应曲线');
xlabel('\omega/\pi');
ylabel('幅度(dB)');
axis([0,1,-100,5]);
[Nd,wdc]=buttord(wpz,wsz,rp,rs);%调用buttord和butter直接设计数字滤波器
[Bz,Az]=butter(N,wdc);
wk=0:
pi/512:
pi;
Hz=freqz(Bz,Az,wk);
subplot(2,1,2);
plot(wk/pi,20*log10(abs(Hz)));
gridon;
title('数字滤波器幅值响应曲线');
xlabel('\omega/\pi');
ylabel('幅度(dB)');
axis([0,1,-100,5]);
2.以0.2π为采样间隔,打印出数字滤波器在频率区间[0,0.2π]上的幅值响应曲线。
在第一问的基础上加上下面的程序
%2
figure
(2);
freqz(Bz,Az,[0:
0.02*pi:
0.2*pi])
3.
在第一问程序的基础上加上如下程序即可
figure(3);
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];
subplot(2,2,1);
n=0:
55;stem(n,x,'.');
title('x(n)的脉冲响应');
xlabel('n');
ylabel('x(n)');
A=0.09036;
b1=[A,2*A,A];
a1=[1,-1.2686,0.7051];
h1=filter(b1,a1,x);
[H1,w]=freqz(b1,a1,100);
b2=[A,2*A,A];
a2=[1,-1.0106,0.3583];
h2=filter(b2,a2,h1);
[H2,w]=freqz(b2,a2,100);
b3=[A,2*A,A];
a3=[1,-0.9044,0.2155];
h3=filter(b3,a3,h2);
[H3,w]=freqz(b3,a3,100);
subplot(2,2,2);stem(n,h3,'.');
xlabel('n');ylabel('y(n)');
title('通过滤波器H1(z),H2(z),H3(z)后的y3(n)函数');
subplot(2,2,3);
H4=H1.*(H2);
H=H4.*(H3);
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
plot(w/pi,db);xlabel('ω/π');
ylabel('20log[Ha3(ejw)]');
title('通过滤波器H1(z),H2(z),H3(z)后的对数频率响应20log[Ha3(ejw)]函数');
grid;
figure(4);
N=1024;n=0:
N/2-1;
Xk=fft(x,N);AXk=abs(Xk(1:
N/2));
f=(0:
N/2-1)*Fs/N;f=f/Fs;
subplot(211);plot(f,AXk);title('x(n)的频谱');
xlabel('f');ylabel('|X(k)|');
axis([0,0.5,0,400]);
五、思考题
用双线性变换设计数字滤波器的过程中,下面变换公式的T值的取值,对设计结果是否有影响?
为什么?
虽然采用双线性变换法设计数字滤波器不会产生混叠现象,T得取值可以任选。
双线性变换法具有非线性,T小一些,非线性的影响也就少一些。
六、心得体会
通过这次实验,我学会了如何使用matlab语言来实现IIR低通滤波器的设计,同时对于其数字低通技术指标的就算有了进一步的认识体会。
在做实验的过程中,面对种种困难,但是却在解决困难的过程中收获了很多。
是一个很有意义的经历。
实验三用窗函数法设计FIR数字滤波器
一.实验目的
1.掌握用窗函数法设计FIR数字滤波器的原理和方法。
2.熟悉线性相位FIR数字滤波器特性。
3.了解各种窗函数对滤波特性的影响。
二.实验原理
如果所希望的滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为
用窗函数w(n)将hd(n)截断,并进行加权处理,得到:
h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(
)为
如果要求线性相位特性,则h(n)还必须满足:
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波特性正确选择其中一类。
例如,要设计线性相位低通特性,可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。
三.实验内容
1.用MATLAB产生各种窗函数
%窗函数
subplot(4,2,1)
m=200;
a=boxcar(m);%矩形窗
m=1:
200;
plot(m,a)
title('矩形窗');
subplot(4,2,2)
m=200;
b=bartlett(m)%三角窗
m=1:
200;
plot(m,b)
title('三角窗');
subplot(4,2,3)
m=200;
c=hanning(m);%汉宁窗
m=1:
200;
plot(m,c)
title('汉宁窗');
subplot(4,2,4)
m=200;
d=hamming(m);%哈明窗
m=1:
200;
title('哈明窗');
plot(m,d)
subplot(4,2,5)
m=200;
e=blackman(m);%布莱克曼窗
m=1:
200;
plot(m,e)
title('布莱克曼窗');
subplot(4,2,6)
m=200;
f=kaiser(m,7.865);%凯塞窗
m=1:
200;
plot(m,f)
title('凯塞窗');
subplot(4,2,7)
plot(m,a,'r*',m,b,'g+',m,c,'y*',m,d,'b.',m,e,'y.',m,f,'k.')
title('各种窗函数');
2.利用窗函数设计FIR滤波器
设计具有下列指标p=0.25,Rp=0.25dB,s=0.3,Rp=50dB的低通数字滤波器。
由已知条件Rp=50dB,通过计算可知应该选择哈明窗,哈明窗的Rps=53dB,选择窗函数时应该选择Rps>=50的,因而选择离50dB的哈明窗。
通过Bt=6.6π/N,Bt=ws-wp得到阶数N。
以下是利用matlab来实现FIR滤波器的设计。
%窗函数法设计FIR数字滤波器
wp=pi*0.25;ws=pi*0.3;
%Rs=50dB,所以选择哈明窗
DB=ws-wp;%计算过渡带宽度
N=ceil(6.6*pi/DB);
%计算哈明窗所需长度N
wc=(wp+ws)/2/pi;
%计算理想低通滤波器通带截止频率(关于π归一化)
hn=fir1(N,wc);
%调用fir1计算低通数字滤波器
%以下是绘图部分
figure
(2)
M=1024;
hk=fft(hn,M);
n=0:
N;
subplot(1,2,1);stem(n,hn,'.');
%绘制序列h(n)
xlabel('n');ylabel('h(n)');
title('数字滤波器h(n)');
k=1:
M/2;
w=2*(0:
M/2-1)/M;
subplot(1,2,2);plot(w,20*log10(abs(hk(k))));
%绘制损耗函数曲线
axis([0,1,-80,5]);xlabel('ω/π');ylabel('20lg|Hg(ω)|');
title('h(n)的损耗函数曲线');
gridon;
结果分析:
根据损耗函数可得,利用哈明窗实现了题目所要求的FIR低通滤波器。
满足p=0.25,Rp=0.25dB,s=0.3,Rp=50dB。
因而选择哈明窗可以很好的满足所需要求。
四、心得体会
本次实验是使用窗函数来设计FIR滤波器,在MATLAB中只需要将给定的参数输入到函数中即可马上得到处结果。
通过本次实验,我对使用MATLAB快速设计滤波器的流程更为熟练,同时,也由衷地感叹MATLAB的功能强大之处,它让我们在设计时能节约大量的时间。
根据输入的参数以及结果,使我对课本上的设计滤波器的知识更为了解。
更加巩固了理论知识。
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告 66566