北交大数字信号处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》课程研究性学习报告
姓名
学号
同组成员
指导教师
时间
DFT近似计算信号频谱专题研讨
【目的】
(1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法。
(2) 理解误差产生的原因及减小误差的方法。
(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。
【研讨题目】基本题
1.利用DFT分析x(t)=A cos(2πf1t)+B cos(2πf2t)的频谱,其中f1=100Hz,f2=120Hz。
(1)A=B=1; (2)A=1,B=0.2。
【题目分析】
分析题目,给出合适的DFT参数
由取样定理知,要使信号频谱不混叠,则抽样频率不小于最高频率的两倍。而要满足信号分辨率的要求,抽样点数N≧f sam/△f。在对信号做DFT时,由于对信号进行截短,因此会产生频谱泄漏,
要想从频谱中很好的分辨出个频率分量,需要考虑时域抽样频率,所加的窗函数,窗函数的长度,以及DFT的点数等参数对结果的影响。
(1)A=B=1,即x(t)=cos(2πf1t)+cos(2πf2t)
矩形窗1:
条件:fsam=240Hz;N=20;L=512
矩形窗2:
条件:fsam=600Hz;N=40;L=512
矩形窗3:
fsam=1200Hz;N=80;L=512
Hamming窗1:
N=40;L=512;fs=600;
Hamming窗2:
N=60;L=512;fs=600;
Hamming 窗3:
N=120;L=512;fs=600;
(2)A=1,B=0.2,即x(t)=cos(2πf1t)+0.2cos(2πf2t)
矩形窗:
N=100;L=512;fs=600
Hamming窗:
N=100;L=512;fs=600
【仿真结果】
【结果分析】
对实验结果进行分析比较,回答:
加窗对谱分析有何影响?如何选择合适的窗函数?
选择合适DFT参数的原则?
在(1)中进行矩形窗仿真时,我们选择了不同的fsam,分别为240,600,1200它们均满足抽样定理,但是我们在实验中却发现,在240hz时出现了混叠现象。所以,在实际应用中抽样频率应大于最低抽样频率3-5倍才能有更好的结果。
进行hamming窗仿真时,在保证抽样频率相同的条件下,取不同的长度也40,120。其中,N=40不满足N>=60的要求,我们可以看到出现了混叠,利用N≧f sam/△f,我们可以算出当fs=600时N为
60时恰好可以分出频谱,而实际中N=60时无法分出两个频率分量,而N=120时,仿真效果良好在(2)的条件下进行仿真时,我们选取了相同的N、L、fsam值,但是分别使用了矩形窗和哈明窗。使用矩形窗时,幅度较小的峰值与旁瓣的幅度接近,甚至难以区分,效果不理想。使用哈明窗后,泄露现象被有效遏制,所以可以清楚区分主瓣、旁瓣。
所以,在选择参数进行DFT变换时,应该保证抽样频率满足抽样定理,并且能大于最小抽样值3-5倍。长度选择保证N≧f sam/△f,且实际中取最小长度即N=f sam/△f时,会出现混叠。为防止泄露现象,特别是峰值之间差异较大时,应该选择加特殊的窗,如哈明窗。
【发现问题】
按照理论分析最小抽样频率只需要满足2fmax就可以满足抽样定理,但在仿真中发现该频率无法满足要求,频谱发生严重的混叠。所以抽样频率应为最小抽样频率3-5倍。
另外,在使用哈明窗作为窗函数时,按照理论分析,当fs=600时N为60时恰好可以分出频谱,而实际中N=60时无法分出两个频率分量,当N=90时则可以分出。因此在做DFT是窗函数长度应大于最小长度。
【仿真程序】
N=20;
L=512;
f1=100;f2=120;fs=240;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t); X=fft(x,L);
w=(-ws/2+(0:L-1)*ws/L)/(2*pi); plot(w,abs(X));
ylabel('矩形窗1.1');
N=40;
L=512;
f1=100;f2=120;fs=600;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t); X=fft(x,L);
w=(-ws/2+(0:L-1)*ws/L)/(2*pi); plot(w,abs(X));
ylabel('矩形窗1.2')
N=80;
L=512;
f1=100;f2=120;fs=1200;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t); X=fft(x,L);
w=(-ws/2+(0:L-1)*ws/L)/(2*pi); plot(w,abs(X));
ylabel('矩形窗1.3')
N=40;
L=512;
f1=100;f2=120;fs=600;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t); wh=(hamming(N))';
x=x.*wh;
X=fft(x,L);
w=(-ws/2+(0:L-1)*ws/L)/(2*pi); plot(w,abs(X));
ylabel('哈明窗1.1')
:
N=60;
L=512;
f1=100;f2=120;fs=600;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t); wh=(hamming(N))';
x=x.*wh;
X=fft(x,L);
w=(-ws/2+(0:L-1)*ws/L)/(2*pi); plot(w,abs(X));
ylabel('哈明窗1.2')
N=120;
L=512;
f1=100;f2=120;fs=600;
T=1/fs;
ws=2*pi*fs;
t=(0:N-1)*T;