基于DFT的信号识别系统.docx
- 文档编号:11456214
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:11
- 大小:187.17KB
基于DFT的信号识别系统.docx
《基于DFT的信号识别系统.docx》由会员分享,可在线阅读,更多相关《基于DFT的信号识别系统.docx(11页珍藏版)》请在冰豆网上搜索。
基于DFT的信号识别系统
基于DFT的信号识别系统
姓名__孔亮__学号__0928401116__专业__电子信息工程__
一、实验目的
(1)通过实验巩固离散傅立叶变换DFT的认识和理解。
(2)熟练掌握应用DFT进行频谱分析的方法。
(3)理解DFT离散频谱分析的应用价值。
二、实验内容
在语音识别、雷达信号处理、生物医学信号检测与识别等应用领域广泛使用基于离散傅立叶变换的谱分析技术。
一个典型的信号识别系统如下图:
设系统的输入信号x(n)是具有单一频谱峰值的正弦信号,短时矩形窗将信号截短为有限长,经过DFT变换得到频谱,频率检测器检测频谱最大峰值的位置,即对应的频率,然后由分类器识别信号的类别。
分类器的分类判决规则为:
第一类:
最大峰值频率分布范围(Hz)为0≤f≤200。
第二类:
最大峰值频率分布范围(Hz)为200≤f≤500。
第三类:
最大峰值频率分布范围(Hz)为500≤f≤1000。
第四类:
最大峰值频率分布范围(Hz)为f≥1000。
设采样频率fs=10000Hz,短时矩形窗宽度为N=1000,短时加窗信号经过DFT可以得到连续频谱在0≤ω<2
范围内的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范围的幅度谱,标出峰值频率,观察系统的实际识别结果,分析其正确性。
三、实验分析
设x(n)是长度为N的有限长信号(注意这个前提),即信号仅仅分布在[0,N-1]区间,其余时间均为0,那么,该信号的离散傅立叶变换定义如下:
,k=0~N-1
f与k的关系为:
因为ω=2πf/fs,所以有f=ωfs/2π。
以此为依据对输入信号作如下理论分析:
(1) 输入信号为x(n)=1.2sin(0.08πn)时,峰值出现在f=ωfs/2π =400Hz。
(2) 输入信号为x(n)=1.5+3cos(0.5πn)时,峰值出现在f=ωfs/2π=0Hz 或f=2500Hz,而因为直流分量不仅使笫1条谱线(0频率)有很大的值,同时由于泄漏的存在,对低频部分造成影响,所以一般频谱分析要去掉0频率,所以最大峰值出现在f=2500Hz。
(3) 输入信号为x(n)=0.7sin(0.14πn)时,峰值出现在f=ωfs/2/π=700Hz。
(4) 输入信号为x(n)=1.2cos(0.5πn)+9.5sin(0.02πn)时,峰值出现在f=ωfs/2π=2500Hz 或f=100Hz,因为幅值9.5>1.2,所以应该出现在100Hz处。
(5) 输入信号为x(n)=cos(0.102πn)时,峰值出现在f=ωfs/2π=510Hz。
四、实验结果
(1)MATLAB程序如下:
functionFS=dft1(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;
y=x;
s=0;
FS=[0,0,0];
fork=1:
N
y(k)=0;
n=1;
while(n y(k)=x(n)*exp(-j*2*pi*(k-1)*(n-1)/N)+y(k); n=n+1; end ifk ifs<=abs(y(k)) s=abs(y(k)); m=k-1; end end end f=fs*m/N; FS=[m,f,s]; k=0: N-1; stem(k,abs(y),'.'); end (2)X(n)=1.2sin(0.08πn) 系统识别结果: 点: k=40 频率: f=400Hz 幅值600 最大峰值频率为400Hz,属于第2类 与理论值相同,系统识别结果正确。 (3)X(n)=1.5+3cos(0.5πn) 系统识别结果: 点1: k=0点2: k=250 频率: f=0Hz频率: f=2500Hz 幅值1500幅值1500 最大峰值频率为2500Hz,属于第4类 与理论值相同,系统识别结果正确。 (4)x(n)=0.7sin(0.14πn) 系统识别结果: 点: k=70 频率: f=700Hz 幅值350 最大峰值频率为700Hz,属于第3类 与理论值相同,系统识别结果正确。 (5)x(n)=1.2cos(0.5πn)+9.5sin(0.02πn) 系统识别结果: 点1: k=10点2: k=250 频率: f=100Hz频率: f=2500Hz 幅值4750幅度: 600 最大峰值频率为100Hz,属于第1类 与理论值相同,系统识别结果正确。 (6)x(n)=cos(0.102πn) 系统识别结果: 点: k=51 频率: f=510Hz 幅值500 最大峰值频率为510Hz,属于第3类 与理论值相同,系统识别结果正确。 五、思考题 1.当矩形窗长度比1000小,例如32,以上实验内容(6)可能出现什么情况? 答: 频率分辨率低,出现失真现象。 如图: 2.当输入信号x(n)=cos(0.19πn)时,系统能够得到正确的识别结果吗? 为什么? 答: 能,因为频域的采样点数与时域信号长度一致,所以系统能够得到正确的结果。 系统识别结果: 点k=95 频率f=950Hz 幅值500 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,并且短时窗不变,则FFT计算时应该做哪儿些考虑? 对识别结果会产生什么影响? 答: 当DFT更新为FFT时,要短时窗不变,在计算的时候应该考虑以下几个方面: ① 首先应该将信号序列分为偶序列X0(K)和奇序列X1(K)两个长度相等的序列; ② 奇序列X1(K)和偶序列X0(K)的短时窗长度都将变为N/2=500点,而不再是N=1000; ③ 奇序列X1(K)和偶序列X0(K)的K值取值范围为K=0~N/2-1;,当N/2≤K<N时,应该利用X0(K)、X1(K)的周期性特征,即X0(K)=X0(K-N/2),X1(K)=X1(K-N/2)。 对识别结果不会产生什么影响。 六、总结 通过本次实验,我对DFT的认识得到了近一步的加深,我了解怎样应用DFT进行频谱分析,并熟悉了MATLAB这一软件的应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DFT 信号 识别 系统