版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DFT基于Matlab的实现一、实验目的1掌握DFT函数的用法。2. 利用DFT进行信号检测及谱分析。3了解信号截取长度对谱分析的影响。二、实验内容1利用DFT计算信号功率谱。实验程序:t=0:0.001:0.6;x=sin(2*pi*50*t)+sin(2*pi*120*t)+randn(1,length(t);Y=dft(x,512);P=Y.*conj(Y)/512;f=1000*(0:255)/512;plot(f,P(1:256)2. 进行信号检测。分析信号频谱所对应频率轴的数字频率和频率之间的关系。模拟信号,以 进行取样,求N点DFT的幅值谱。实验程序:subplot(2,2,1)
2、N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=45')subplot(2,2,2)N=50;n=0:N-1;t=0.01*n; q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=50')subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi
3、*t)+5*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=55')subplot(2,2,4)N=60;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=60')3. 对2,进一步增加截取长度和DFT点数,如N加大到256,观察信号频谱的变化,分析产生这一变化的原因。在截取长度不变的条件下改变采样频率,观察信号频谱的变化,分析产生这一变化的原因。N加大到256时的程序:
4、N=256;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=256')分析原因:在T=0.01s的情况下,第一个序列的周期是100,第二个序列的周期是50,所以当取样点数小于100时,频率分辨率不够,不能够区分出两个信号。当采样点数足够多(256)时,频率分辨率增加,能够区分出两个频率的信号。将采样间隔变为T=0.1s时,N仍为45的程序:N=45;n=0:N-1;t=0.1*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5
5、*cos(8*pi*t);y=dft(x,N);plot(q,abs(y);title('DFT N=45')分析原因:在T=0. 1s的情况下,第一个序列的周期是10,第二个序列的周期是5,所以当取样点数为45时,能够区分出两个信号。参数同上,N取64,并在信号中加入噪声w(t)。figure(2)subplot(2,1,1)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=dft(x,N);plot(q,abs(y);title('DFT N=64')subplot(2,1,2
6、)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+0.8*randn(1,N); y=dft(x,N);plot(q,abs(y);title('DFT N=64(with noise)')由图可以看出这种噪音不影响信号检测。4. 对3,加大噪声到2*randn(1,N)和8*randn(1,N),画出并比较不同噪声下时域波形和频谱。subplot(2,1,1)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+2*randn(
7、1,N); y=dft(x,N);plot(q,abs(y);title('DFT N=64(with noise2)')subplot(2,1,2)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+8*randn(1,N); y=dft(x,N);plot(q,abs(y);title('DFT N=64(with noise8)')subplot(3,2,1)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+
8、0.8*randn(1,N); plot(x);title('噪声为0.8*w的信号')y=dft(x,N);subplot(3,2,2)plot(q,abs(y);title('噪声为0.8*w时的频谱')subplot(3,2,3)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+2*randn(1,N); plot(x);title('噪声为2*w时的信号')y=dft(x,N);subplot(3,2,4)plot(q,abs(y);title('噪声为2
9、*w时的频谱')subplot(3,2,5)N=64;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t)+8*randn(1,N); plot(x);title('噪声为8*w时的信号')y=dft(x,N);subplot(3,2,6)plot(q,abs(y);title('噪声为8*w时的频谱')实验分析:当噪声较小时,不影响信号的检测,但当噪声较大时,就看不出原信号的频率成分了,可以继续加大噪声,可看到其频谱杂乱无章了。5. 用一个N点DFT计算两个长度为N的实序列N点离散傅里叶变换
10、,并将结果和直接使用两个N点DFT得到的结果进行比较。x=1 2 3 4 5 6; y=6 5 4 3 2 1; a,b=dft_2(x,y) a = Columns 1 through 3 21.0000 -3.0000 + 5.1962i -3.0000 + 1.7321i Columns 4 through 6 -3.0000 -3.0000 - 1.7321i -3.0000 - 5.1962i b = Columns 1 through 3 21.0000 3.0000 - 5.1962i 3.0000 - 1.7321i Columns 4 through 6 3.0000 3.0
11、000 + 1.7321i 3.0000 + 5.1962i 函数文件如下:function y1,y2=dft_2(a,b) N=length(a); x=zeros(1,N); x=a+j*b; X=dft(x,N); X0=conj(fliplr(X); X0=X0(N) X0(1:N-1); y1=(X+X0)./2; y2=(X-X0)./2./j; 直接运行计算 :dft(x) ans = Columns 1 through 3 21.0000 -3.0000 + 5.1962i -3.0000 + 1.7321i Columns 4 through 6 -3.0000 -3.00
12、00 - 1.7321i -3.0000 - 5.1962i dft(y) ans = Columns 1 through 3 21.0000 3.0000 - 5.1962i 3.0000 - 1.7321i Columns 4 through 6 3.0000 3.0000 + 1.7321i 3.0000 + 5.1962i 6比较DFT和DFT的运算时间。(计时函数 tic, toc)N分别取256,512,1024,2048,4096, 程序如下: N=256;N=4096; x=randn(1,N); tic y=dft(x,N); toc tic z=dft(x); toc N=
13、256:Elapsed time is 0.172000 seconds. Elapsed time is 0.015000 seconds.N=512:Elapsed time is 0.687000 seconds. Elapsed time is 0.000000 seconds. N=1024:Elapsed time is 3.031000 seconds. Elapsed time is 0.047000 seconds. N=2048:Elapsed time is 13.375000 seconds. Elapsed time is 0.063000 seconds. N=40
14、96:Elapsed time is 59.250000 seconds. Elapsed time is 0.125000 seconds.7对给定语音信号进行谱分析,写出采样频率,画出语音信号的波形及频谱,并分析语音信号的频率分布特点。(1)画时域波形并对整个语音序列做DFT x,fs=wavread('C:ai1.wav'); subplot(2,1,1) N=length(x); n=0:N-1; plot(n,x); xlabel('n'); ylabel('x'); title('时域波形');subplot(2,1,
15、2); N=length(x); n=0:N-1; t=0.01*n; q=n*2*pi/N; y=dft(x,N);plot(q,abs(y); xlabel('n');ylabel('ai1'); title('DFT'); (2)并分别求出k=300,3500所对应的信号频率(Hz) x,fs=wavread('C:ai1.wav')N=length(x);n=0:N-1; t=n*(1/fs);q=n*2*pi/N;n1=300;q1=n1*2*pi/N; f1=q1*fs/(2*pi);n2=3500;q2=n2*2*p
16、i/N;f2=q2*fs/(2*pi);fs = 16000(3)从语音中截取一段语音(256点)做DFT,得出频谱,画出时域波形及频谱。分别求出k=5,60时所对应的信号频率(Hz) 程序如下: x,fs=wavread('C:ai1.wav'); subplot(2,1,1); N=256;n=0:N-1;x=x(1:256); plot(n,x);xlabel('n'); ylabel('x'); title('256点时域波形'); subplot(2,1,2); N=256;n=0:N-1; t=0.01*n;q=n*2*pi/N; x=x(1:256);y=dft(x,N); plot(q,abs(y); xlabel('n'); ylabel('ai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化学初中说课稿
- 好朋友起玩说课稿
- 治疗糖尿病周围神经病变
- 临时行政主管
- 学校园区喷泉施工合同
- 精密仪器公司法务聘用合同
- 体育场馆隔离墙安装合同
- 市政排水工程级配碎石施工合同
- 绿色制造车间环保操作规程
- 2022年大学林业工程专业大学物理下册期中考试试题B卷-附解析
- 工程设计-《工程勘察设计收费标准》(2002年修订本)-完整版
- 隧道专项施工人员培训方案
- 医院员工价值取向培训
- 2024全新煤矿电工培训
- 纸箱厂代加工合作协议书范文
- 人工智能在医疗诊断中的应用与发展趋势研究
- 上海市普陀区2024-2025学年八年级上学期期中物理练习卷
- GB/T 29168.4-2024石油天然气工业管道输送系统用弯管、管件和法兰第4部分:冷弯管
- 2024年农业农村部大数据发展中心第三批面向社会公开招聘7人易考易错模拟试题(共500题)试卷后附参考答案
- 期中测试卷(1-4单元)(试题)-2024-2025学年六年级上册数学人教版
- 实验动物学完整版本
评论
0/150
提交评论