实验一 基于DFT的信号识别系统.docx
- 文档编号:8682392
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:355.07KB
实验一 基于DFT的信号识别系统.docx
《实验一 基于DFT的信号识别系统.docx》由会员分享,可在线阅读,更多相关《实验一 基于DFT的信号识别系统.docx(12页珍藏版)》请在冰豆网上搜索。
实验一基于DFT的信号识别系统
实验一基于DFT的信号识别系统
小组:
肖智议1028401037
杨天富1028401015
一、实验目的
(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、
又因为ω=2πf/fs,所以有2πf=ωfs。
以此为依据对输入信号作如下理论分析:
(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,而因为满足A2>2C,所以,应该出现在0Hz处。
(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,因为A1>A2,所以应该出现在100Hz处。
(5)输入信号为x(n)=cos(0.102πn)时,峰值出现在f=ωfs/2/π=510Hz
四、实验结果
(1)MATLAB程序如下:
functionFS=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;%记录最大峰值
fork=0:
(N-1)%DFT
p(k+1)=0;
forn=0:
(N-1)
p(k+1)=x(n+1)*exp(-j*2*pi*k*n/N)+p(k+1);
end
ifk<=N/2
ifs s=abs(p(k+1)); m=k; end end end fm=fs*m/N;%最大峰值处频率f=fs*k/N type='type'; if(fm>=0)&&(fm<200) type='type1'; elseif(fm>=200)&&(fm<500) type='type2'; elseif(fm>=500)&&(fm<1000) type='type3'; elseiffm>=1000 type='type4'; end FS={m,fm,s,type};%返回最大峰值处,最大峰值处的频率,最大峰值,第几类 subplot(2,1,1); n=0: (N-1); plot(n*fs/N,x); title('sourcesignal'); subplot(2,1,2); plot(n*fs/N,abs(p),'r'); title('Magnitude'); xlabel('Frequency');%画出频谱图 end (2)实验仿真结果 1 X(n)=1.2sin(0.08πn) FS= [40][400][600.0000]'type2' K值: 40频率: 400幅值600 属于第2类 2 X(n)=3cos(0.5πn)+1.5 FS= [0][0][1.5000e+003]'type1' K值: 0频率: 0幅值1500 属于第1类 3 X(n)=0.7sin(0.14πn) FS= [70][700][350.0000]'type3' K值: 70频率: 700幅值350 属于第3类 4 X(n)=1.2cos(0.5πn)+9.5sin(0.02πn) FS= [10][100][4.7500e+003]'type1' K值: 10频率: 100幅值4750 属于第1类 5 X(n)=cos(0.102πn) FS= [51][510][500.0000]'type3' K值: 51频率: 510幅值500 属于第3类 5、思考题 1.当矩形窗长度比1000小,例如32,以上实验内容(6)可能出现什么情况? 答: N取值过小,频率分辨率过低,出现失真现象。 如下图所示: 从图形中可以看出已经得不出原始信号的频谱。 2.当输入信号x(n)=cos(0.199πn)+0.9sin(0.204πn)时,系统能够得到正确识别结果吗? 为什么? 答: 由信号频率量值可以看出两个频率分量很靠近,因此在采样点不够的情况下很难分辨出两个峰值,下面给出在采样点不同的时候仿真结果: N=1000 N=2000 N=5000 N=10000 从图中还可以看出,采样点并不是越多越好,不同的采样点个数对应的对峰值的识别也不会达到很满意的效果。 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)。 对识别结果不会产生什么影响。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 基于DFT的信号识别系统 实验 基于 DFT 信号 识别 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)