1、基于DFT的信号识别系统实验一:基于DFT的信号识别系统一、实验目的(1) 通过实验巩固离散傅立叶变换DFT的认识和理解。(2) 熟练掌握应用DFT进行频谱分析的方法。(3) 理解DFT离散频谱分析的应用价值。二、实验内容在语音识别、雷达信号处理、生物医学信号检测与识别等应用领域广泛使用基于离散傅立叶变换的谱分析技术。一个典型的信号识别系统如下图:设系统的输入信号x(n)是具有单一频谱峰值的正弦信号,短时矩形窗将信号截短为有限长,经过DFT变换得到频谱,频率检测器检测频谱最大峰值的位置,即对应的频率,然后由分类器识别信号的类别。分类器的分类判决规则为:第一类:最大峰值频率分布范围(Hz)为0f
2、200。第二类:最大峰值频率分布范围(Hz)为200f500。第三类:最大峰值频率分布范围(Hz)为500f1000。第四类:最大峰值频率分布范围(Hz)为f1000。设采样频率fs=10000Hz,短时矩形窗宽度为N=1000,短时加窗信号经过DFT可以得到连续频谱在02范围内的1000个取样点。(1)编程实现该系统(2)输入信号x(n)=1.2sin(0.08n),理论计算并画出0ffs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。(3)输入信号x(n)=1.5+3cos(0.5n),理论计算并画出0ffs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性
3、。(4)输入信号x(n)=0.7sin(0.14n),理论计算并画出0ffs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。(5)输入信号x(n)=1.2cos(0.5n)+ 9.5sin(0.02n),理论计算并画出0ffs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。(6)输入信号x(n)= cos(0.102n),理论计算并画出0ffs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。三、实验分析设x(n)是长度为N点的有限长信号(注意这个前提),即信号仅仅分布在 0,N-1区间,其余时间均为0,那么,该信号的离散傅立叶变换定义如下:
4、 , k=0N-1f与k的关系式为: 因为,所以有。以此为依据对输入信号作如下理论分析:(1)输入信号为x(n)=1.2sin(0.08n)时,峰值出现在=400Hz 。(2)输入信号为x(n)=1.5+3cos(0.5n)时,峰值出现在=0Hz或f=2500Hz,而因为直流分量不仅使笫1条谱线(0频率)有很大的值,同时由于泄漏的存在,对低频部分造成影响,所以一般频谱分析要去掉0频率,所以最大峰值出现在f=2500Hz 。(3)输入信号为x(n)=0.7sin(0.14n)时,峰值出现在=700Hz。(4)输入信号为x(n)=1.2cos(0.5n)+9.5sin(0.02n)时,峰值出现在=
5、2500Hz或=100Hz,因为幅值9.51.2,所以应该出现在=0.02时即f=100Hz处。(5)输入信号为x(n)= cos(0.102n)时,峰值出现在=510Hz 。备注:MATLAB程序见实验报告最后。四、实验结果(1) X(n)=1.2sin(0.08n)系统识别结果:点 :K=40频率:f=400 Hz幅值:600最大峰值频率为400Hz,属于第2类 结论:与理论值相同,系统识别结果正确。(2) X(n)= 1.5+3cos(0.5n) 系统识别结果:点1:K=0 点2:K=250频率:f=0Hz 频率:f=2500Hz幅值:1500 幅值:1500最大峰值频率为2500 Hz
6、,属于第4类 结论:与理论值相同,系统识别结果正确。(3) x(n)=0.7sin(0.14n) 系统识别结果:点 :K=70 频率:f=700Hz 幅值:350最大峰值频率为700 Hz,属于第3类 结论:与理论值相同,系统识别结果正确。(4) x(n)=1.2cos(0.5n)+9.5sin(0.02n) 系统识别结果:点1:k=10 点2:k=250频率:f=100Hz 频率:f=2500Hz幅值:4750 幅值:600最大峰值频率为100 Hz,属于第1类 结论:与理论值相同,系统识别结果正确。(5) x(n)=cos(0.102n) 系统识别结果:点 :K=51 频率:f=510Hz
7、 幅值:500最大峰值频率为510 Hz,属于第3类 结论:与理论值相同,系统识别结果正确。五、思考题1. 当矩形窗长度比1000小,例如32,以上实验内容(6)可能出现什么情况?答:当N=32时,由于矩形窗太小,频率分辨率低,出现失真现象,即:从图形中可以看出已经得不出原始信号的频谱,分辨不出最大峰值频率。如图: 2. 当输入信号x(n)= cos(0.199n) + 0.9sin(0.204n)时,系统能够得到正确的识别结果吗?为什么?答:能,因为输入信号的两个频率分量的差值为1020Hz-995Hz=25Hz,当采样频率为10000Hz,矩形窗的宽度为1000时,频率分辨率为10Hz,2
8、510,所以在两个频率之间还有采样点,所以能够得出正确的识别结果。其识别如下: 系统识别结果:点k=102 频率f=995Hz 幅值514.3属于第三类3、如果输入信号x(n)中含有叠加性宽带噪声e(n)会影响识别结果么?为什么?答:(如果噪声信号的幅度很大),可能会影响识别结果。设混叠后的信号为s(n),则s(n)=x(n)+e(n);所以S(K)=X(K)+E(K),因此S(K)2= S(K)S(K)*=X(K )2+E(K)2。两边求算术平方根得S(K)= 所以,如果输入信号中含有叠加性宽带噪声,且噪声较大,则有可能会影响识别结果。4、如果系统中的DFT需要更新为FFT,并且短时窗不变,
9、则FFT计算时应该做哪儿些考虑?对识别结果会产生什么影响?答: 当DFT更新为FFT时,要短时窗不变,在计算的时候应该考虑以下几个方面:由于FFT要求信号的长度N是2的整数幂,可以采用补零法将N增加为2的整数幂,补零法保持时间分辨率不变,提高了频率分辨率。首先应该将信号序列分为偶序列X0(K)和奇序列X1(K)两个长度相等的序列;奇序列X1(K)和偶序列X0(K)的短时窗长度都将变为N/2=500点,而不再是N=1000;奇序列X1(K)和偶序列X0(K)的K值取值范围为K=0N/2-1;,当N/2KN时,应该利用X0(K)、X1(K)的周期性特征,即X0(K)= X0(K-N/2),X1(K
10、)=X1(K-N/2)。对识别结果不会产生什么影响。六、实验总结通过此次DFT信号识别系统的实验,我们小组得出如下实验总结:(1) 从频谱图中可以看出,在0 f fs的范围内,幅度谱呈对称分布;(2) 因为频率分辨率与采样频率和采样点有关,只要频率的分辨率足够,使在两个峰值对应的频率之间至少有一个采样谷点,就能够将两个频率分辨出,如思考题(2);(3) 若采样频率不变,矩形窗的宽度变小,则频率分辨率降低,幅度谱可能会失真,如思考题(1)(4) 离散傅里叶变换在语音的识别中具有重要的作用。另外,通过本次实验,我们小组三人不仅仅对DFT的认识得到了近一步的加深,我们了解到应该怎样应用DFT进行频谱
11、分析,同时对MATLAB这一软件的应用操作更加熟练,编写程序更加快捷。七、附MATLAB程序:function FS=dft4(A,a,B,b,C)fs=10000;N=1000;n=0:(N-1);x=A*cos(a*pi*n)+B*sin(b*pi*n)+C;s=0;for k=0:(N-1) p(k+1)=0; for n=0:(N-1) p(k+1)=x(n+1)*exp(-j*2*pi*k*n/N)+p(k+1); end if k=N/2 if s=0)&(fm=200)&(fm=500)&(fm=1000 type=type4; endFS=m,fm,s,type; subplot(2,1,1);n=0:(N-1);plot(n*fs/N,x);title(source signal);subplot(2,1,2);plot(n*fs/N,abs(p),r);title(Magnitude);xlabel(Frequency);end
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1