数字信号处理实验报告
《数字信号处理实验报告》由会员分享,可在线阅读,更多相关《数字信号处理实验报告(8页珍藏版)》请在装配图网上搜索。
1、数字信号处理实验报告 实验一:混叠现象的时域与频域表现 实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。 实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn) 对g2[n],g3[n] 稍加变换可得: g2[n]=cos(1.4πn)=cos((2π
2、-0.6π)n)= cos(0.6πn) g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn) 利用Matlab进行编程: n=1:300; t=(n-1)*1/300; g1=cos(6*pi*t); g2=cos(14*pi*t); g3=cos(26*pi*t); plot(t,g1,t,g2,t,g3); k=1:100; s=k*0.1; q1=cos(6*pi*s); q2=cos(14*pi*s); q3=cos(26*pi*s); hold on; plot(s(1:10),q1(1:10),bd); fig
3、ure subplot(2,2,1);plot(k/10,abs(fft(q1))) subplot(2,2,2);plot(k/10,abs(fft(q2))) subplot(2,2,3);plot(k/10,abs(fft(q3))) 通过Matlab软件的图像如图所示: 如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。 程序编程改动如下: k=1:300; q=cos(6*pi*k/30); q1=cos(14*pi*k/30); q2=cos(26*pi*k/30
4、); subplot(2,2,1);plot(k/10,abs(fft(q))) subplot(2,2,2);plot(k/10,abs(fft(q1))) subplot(2,2,3);plot(k/10,abs(fft(q2))) 得图像: 问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。 解答:若采样频率大于等于2倍的最高频率,则不会发生频谱混叠。 编程如下:n=1:300; t=(n-1)*1/300; g1=cos(6*pi*t); g2=c
5、os(14*pi*t); g3=cos(34*pi*t); plot(t,g1,t,g2,t,g3); k=1:300; s=k/30; q1=cos(6*pi*s); q2=cos(14*pi*s); q3=cos(34*pi*s); hold on; plot(s(1:10),q1(1:10),bd); figure subplot(2,2,1);plot(k/10,abs(fft(q1))) subplot(2,2,2);plot(k/10,abs(fft(q2))) subplot(2,2,3);plot(k/10,abs(fft(q3)))
6、 在频谱分析的图像上可以看出,发生了频率混叠,混叠后的频率分别是17Hz和13Hz。 实验二 泄漏效应 实验原理:由于模拟信号的傅里叶变换是在∞区间上的一种积分运算,实际上观察到的模拟信号一般是有限长的,没有观察到的部分只能认为是零,这相当于将模拟信号截取一部分进行分析。使得原来的离散谱线向两边展宽,而展宽的宽度和矩形窗的长度有关,矩形窗的长度越长,展宽就越窄。这种将谱线展宽的现象称为频谱泄露。 实验过程:由于泄漏效应的复杂性,下面的实验演示单一频率正弦信号由于截断引起的泄漏。首先考察频率为10Hz的正弦信号,采样频率为64Hz,对32点的采样序列进行DFT(FFT),由于是整
7、周期截取,所以不会产生泄漏,程序和运行结果如下(图9-34): N=input(type in the length of dft=);%采样点数 t=input(type in the sampling period=);%采样时间间隔 freq=input(type in the sinusoid frequency =);%信号频率 k=0:N-1; f=sin(2*pi*freq*k*(1/t)); F=fft(f); stem(k,abs(F));grid; xlabel(k);ylabel(|x(k)|); 如果采样频率仍为64Hz,采样点数仍为32点,将信号
8、频率改为11Hz,由于非整周期截取,发生了明显的泄漏,如图所示: 问题讨论:如何选取采样点数、采样频率,才能保证频率为11Hz 的正弦信号不会发生泄漏现象?选取采样点数为30,采样频率为66Hz,运行程序看一看是否有泄漏发生。 解答:(1)、不会产生泄漏的条件是:对信号进行整周期截取。 根据条件知:N=(采样点数/采样频率)* 信号频率, 要使泄漏不发生,需使N为正整数,在这一条件下进行采样点数及采样频率。 (2)、将信号频率11Hz、采样点数30、采样频率66Hz代入公式: N=(采样点数/采样频率)* 信号
9、频率 中,得 N=5, 整周期截取,故不发生泄漏。 图像如下: 实验三 FFT(DFT)参数的选取 实验原理:本实验考察有不同频率的两个正弦信号加上随机信号组成的信号的傅立叶变换,通过改变序列的采样点数、DFT长度以及信号的频率,观察谱分辨率以及泄漏对谱估计的影响。 实验过程:编程如下: N=input(signal length=);%采样点数 R=input(DFT length=);%DFT的变换长度 fr=input(type in the sinusoid frequences=);%输入正弦信号的频率 y=hamming(N);%可采用其他的窗函
10、数,进行比较 n=0:N-1; x=cos(2*pi*n*fr(1))+cos(2*pi*n*fr(2))+randn(1,N)/5; x1=x.*y; Fx=fft(x1,R); k=0:R-1; subplot(2,1,1) stem(k/R,abs(Fx));grid 当fr=[0.22 0.34],N=16时,分别取R=16,32,64,128,256,可以看出随R的增大,明显地可看出两个峰值,但还有其他的一些峰值,无法确定是否还有其他的正弦信号。 当N=16, R=128, fr(2)=0.34, fr(1)分别取0.28 ,0.29, 0.30,0.31时,可以
11、看出当 fr(1)=0.28,0.29时,两谱峰是可分辨的,但fr(1)=0.30,0.31时,两谱峰不可分辨,此时取N=32,64时,两谱峰又可分辨。 如图是fr=[0.22 0.34],N=16,R分别等于16,64时的程序运行结果。 (R=16) (R=64) 图是fr=[0.22 0.34],N=32,R=64时的程序运行结果: (N=32) 实验四 量化效应 实验原理:本实验对信号x(t)=sin(2πt)进行采样,得到从t=0开始的1000采样值,采样周期为0.001s,采样取得的信号是舍入的,用四位量化器得到量化后的信号,最后画出原始波形和量化后的波形,并
12、画出量化误差的直方图,且输出信噪比。可以看出,量化误差具有均匀分布的特性。 实验过程:编程如下: N=1000;t=(0:N-1)*0.001;x=sin(2*pi*t); d=max(x)-min(x); b=4;L=2^b; s=d/L; y=s*round(x/s); subplot(2,1,1);plot(t,x);hold on plot(t,y);hold off subplot(2,1,2);e=x-y,hist(e); snra=10*log10(sum(x.*x))/sum(e.*e) 问题讨论: 改变量化器的位数和信号的动态范围等参数,
13、重新运行上面的程序,总结信号的动态范围和量化阶数对信噪比的影响。 解答:A=0.25时: N=1000;t=(0:N-1)*0.001;x=0.25*sin(2*pi*t); d=max(x)-min(x); b=4;L=2^b; s=d/L; y=s*round(x/s); subplot(2,1,1);plot(t,x);hold on plot(t,y);hold off subplot(2,1,2);e=x-y,hist(e); snra=10*log10(sum(x.*x)/sum(e.*e)) A=0.75时: N=1000;t=(0:N-1
14、)*0.001;x=0.75*sin(2*pi*t); d=max(x)-min(x); b=4;L=2^b; s=d/L; y=s*round(x/s); subplot(2,1,1);plot(t,x);hold on plot(t,y);hold off subplot(2,1,2);e=x-y,hist(e); snra=10*log10(sum(x.*x)/sum(e.*e)) b=2时: N=1000;t=(0:N-1)*0.001;x=sin(2*pi*t); d=max(x)-min(x); b=2;L=2^b; s=d/L; y=s*roun
15、d(x/s); subplot(2,1,1);plot(t,x);hold on plot(t,y);hold off subplot(2,1,2);e=x-y,hist(e); snra=10*log10(sum(x.*x) /sum(e.*e) ) b=6时: N=1000;t=(0:N-1)*0.001;x=sin(2*pi*t); d=max(x)-min(x); b=6;L=2^b; s=d/L;y=s*round(x/s); subplot(2,1,1);plot(t,x);hold on plot(t,y);hold off subplot(2,1,2);e=x-y,hist(e); snra=10*log10(sum(x.*x) /sum(e.*e) ) 有实验图像可知:(1)、随着量化阶数b越大,信噪比越大。 (2)、随着信号幅值越小,信噪比越大。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。