基于DFT的信号识别系统
12微电子 1228402025 陆小辉
12微电子 1228402021 裴青松
12微电子 1228402030 李壮志
一、实验目的
(1) 通过实验巩固离散傅立叶变换DFT的认识和理解。
(2) 熟练掌握应用DFT进行频谱分析的方法。
(3) 理解DFT离散频谱分析的应用价值。
二、实验内容
在语音识别、雷达信号处理、生物医学信号检测与识别等应用领域广泛使用基于离散傅立叶变换的谱分析技术。一个典型的信号识别系统如图1:
word/media/image1.gif
图1
设系统的输入信号x(n)是具有单一频谱峰值的正弦信号,短时矩形窗将信号截短为有限长,经过DFT变换得到频谱,频率检测器检测频谱最大峰值的位置,即对应的频率,然后由分类器识别信号的类别。分类器的分类判决规则为:
第一类:最大峰值频率分布范围(Hz)为0≤f≤200。
第二类:最大峰值频率分布范围(Hz)为200≤f≤500。
第三类:最大峰值频率分布范围(Hz)为500≤f≤1000。
第四类:最大峰值频率分布范围(Hz)为f≥1000。
设采样频率fs=10000Hz,短时矩形窗宽度为N=1000,短时加窗信号经过DFT可以得到连续频谱在0≤ω<2word/media/image2.gif范围内的1000个取样点。
(1)编程实现该系统
(2)输入信号x(n)=1.2sin(0.08πn),理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
(3)输入信号x(n)=1.5+3cos(0.5πn),理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
(4)输入信号x(n)=0.7sin(0.14πn),理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
(5)输入信号x(n)=1.2cos(0.5πn)+ 9.5sin(0.02πn),理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
(6)输入信号x(n)=cos(0.102πn),理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
三、实验分析
1.设x(n)是长度为N的有限长信号(注意这个前提),即信号仅仅分布在[ 0,N-1 ]区间,其余时间均为0,那么,该信号的离散傅立叶变换定义如式1:
word/media/image3.gif ( k=0~N-1)…….式1
2.模拟角频率Ω与数字角频率ω之间的关系为 ω=ΩTS ….式2
( 若正弦序列是由正弦模拟信号采样得到,假设正弦模拟信号
word/media/image4.gif,则对它采样得离散信号word/media/image5.gif或word/media/image6.gif.其中Ω为正弦模拟信号的模拟角频率,单位是弧度;word/media/image7.gif为采样周期,单位是秒,word/media/image8.gif与x( n)在采样点word/media/image9.gif上数值相等,因此可以得出模拟角频率Ω与数字角频率ω之间的关系)
3.f与k的关系为:word/media/image10.gif ……..式3. (word/media/image11.gif)
4.频率分辨率与时间分辨率的关系:word/media/image12.gif ……..式4.
四、实验结果
1. 编程实现该系统
2.输入信号,理论计算并画出0≤f≤fs范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
(1) x(n)=1.2sin(0.08πn)
图2
频率:400Hz
实际幅值1.2
最大峰值频率为400Hz,属于第2类
与理论值相同,系统识别结果正确。
(2)X(n)= 1.5+3cos(0.5πn)
图3
频率:2500 Hz
实际幅值3
最大峰值频率为2500Hz,属于第4类
与理论值相同,系统识别结果正确。
(3) x(n)=0.7sin(0.14πn)
图4
频率:700Hz
实际幅值0.7
最大峰值频率为700Hz,属于第3类
与理论值相同,系统识别结果正确。
(4)x(n)=1.2cos(0.5πn)+9.5sin(0.02πn)
图5
频率:100Hz
实际幅值9.5
最大峰值频率为100Hz,属于第1类
与理论值相同,系统识别结果正确。
(5) x(n)=cos(0.102πn)
图6
频率:510Hz
实际幅值500
最大峰值频率为510Hz,属于第3类
与理论值相同,系统识别结果正确。
五、思考题
1.当矩形窗长度比1000小,例如32,以上实验内容(6)可能出现什么情况?
图7
如图7所示,会出现识别错误,频率分辨率为word/media/image12.gif,当N=32时,频率分辨率由原来的word/media/image29.gif变为现在的
word/media/image30.gif,在最大峰值(510HZ)处并不能采样,最接
图8
近的则为312.5*2=625HZ处,而输入的信号是离散的正弦信号,在采样点处已经是从最大值处开始下降,如图8,所以采的点可能是峰值以后的点,所以实际测得的值也相应减小。
2. 当输入信号x(n)=cos(0.199πn)+0.9sin(0.204πn)时,系统能够得到正确的识别结果吗?为什么?
答:不能,频率分辨率为word/media/image12.gif=word/media/image29.gif而两个信号一个为word/media/image31.gif一个为word/media/image32.gif但是如图9
图9
当f=990HZ时,|x(n)|=0.6352, 当f=1000HZ时,|x(n)|=0.638, 当f=1010HZ时,|x(n)|=0.2136. f=1020HZ时,|x(n)|=1.209,
即采样的状况如图10所示,在最大值处(f=995HZ)时由于并没有采点,所以使得在处理最大峰值时出现错误,两者的相对大小处理错误。当短时窗的宽度加大时,频率分辨率相对增大,就能处理相应的问题。如将短时窗N增加到5000(错了,
图10
经过验证不能使频率分辨率为大于1的偶数,否则可能还是使995HZ的相应的信号不能正确的识别出来,可能使其相应的幅度值相差较大,不能完成识别任务),(其实增大到2000即可,为了提高运算效率与提高可实时处理性,最好取2000).
3.如果输入信号x(n)中含有叠加性宽带噪声e(n)会影响识别结果吗?为什么?
不一定,这要根据噪声的大小决定,如果噪声过大,则原始信号可能会发生严重失真,原始信号被噪声淹没,这可以由一个指标来反映,比如性噪比
SNR =word/media/image36.gif
又帕斯维尔(parseval)定理描述了信号能量与其傅里叶频谱之间的关系。
所以此例中,用SNR表征这个指标时为SNR=word/media/image37.gif.
在MATLAB用函数rand产生在(0,1)之间的随机数来模拟噪声e(n),然后编程实现求得功率如下图11(只是关键计算部分程序,非完整程序,而是在原程序中加入计算功率的部分):
然后在实验测得的几组数据中选择其中一组,模拟出不同性噪比的时的情形,选择
x(n)=1.5+3cos(0.5πn)这组信号,
图12---16下的文字分别代表
峰值频率,实际峰值大小,类型,信号的能量,噪声的能量
图11
图12 信噪比为无穷时,即没有噪声时的情况
图13 信噪比SNR=word/media/image44.gif=13.03dB时的情况。
图14 信噪比SNR=word/media/image44.gif=0.41dB时的情况。
图15 信噪比SNR=word/media/image44.gif=-1dB时的情况。
图15 信噪比SNR=word/media/image44.gif=-11.9dB时的情况。
图16 信噪比SNR=word/media/image44.gif=-20.6dB时的情况。
由图12——16可见,当噪声不是很大时,性噪比小于20dB时,一般情况下通过幅度谱是能够分辨出原始的信号的。但是系统可能会识别错误,需要用肉眼去直接从频谱图上加以区别(因为信号一般情况下只分布在较少的频率上,因此在这些频率上能量较大,而噪声频谱较分散,在每一频率上能量较小)。
4.如果系统中的DFT需要更新为FFT,并且短时窗不变,则FFT计算时应该注意哪些考虑?对识别结果会产生什么影响?
快速傅里叶变换FFT是离散傅里叶变换的一种快速算法。FFT与DFT在功能上完全一致,都是计算有限长离散信号的离散频谱,但是FFT的运算效率上要快许多,例如计算1024点短时信号的离散频谱,FFT的速度大约比DFT快200倍。但是有限长信号长度N必须是word/media/image53.gif (n为正整数)。当N不满足这一条件时,可以通过补零法来满足,同时,通过补零法可以提高频率分辨率,使离散频谱更加接近连续频谱,同时由于没有增加短时窗的宽度,因此时间分辨率保持不变。所以对识别结果没有影响。
六、总结
通过本次试验,使我更好地学习了数字信号处理课程,使我对课本知识有了更加深刻的理解。同时学习了如何使用MATLAB软件中一些简单的功能。由于之前没有学习过MATLAB,所以在编写程序时参考了很多别人的成果,一般的情况都以理解,并加以小改动,但是还有一些没有读懂,即为什么计算其离散傅里叶变换时对其进行归一化使其反映其真实的幅度值时需要除以N/2(短时窗的一半宽度),为什么当信号有直流成分时,做变换时需要对其中的X(0)需要做一定的减幅处理才能保证正确识别,等等问题。
参考资料:
1. 数字信号处理——理论与应用(第二版)
2. MATLAB实用教程(第二版)
3. MATLAB软件中的help功能
4. 网上查询的英文单词及相关MATLAB程序范本
本文来源:https://www.2haoxitong.net/k/doc/fd1cebc7804d2b160b4ec0c8.html
文档为doc格式