版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗数据安全保险技术应用
- 湖北省麻城一中2026届生物高一第一学期期末达标检测试题含解析
- 医疗数据安全与智慧医疗协同发展
- 河北省市巨鹿县二中2026届高一上数学期末经典试题含解析
- 医疗数据可共享性的区块链权限管理优化
- 广东省揭阳市华侨高级中学2026届数学高三上期末教学质量检测试题含解析
- 26:2024届江苏省南京市、盐城市高三下学期三模 学生版答案
- 医疗数据共享的区块链隐私保护责任模型
- 肾结石科普教学课件
- 英语科技论文写作 课件 5-结果与讨论写作(一)-25
- 合作意向协议书模板
- 07FJ02防空地下室建筑构造
- 外研版(三起)(2024)三年级上册英语Unit 2 My school things单元测试卷(含答案)
- 化工建设综合项目审批作业流程图
- 人教版二年级数学下册 5 混合运算 第2课时 没有括号的两级混合运算(教学课件)
- 马工程《经济法学》教学
- 2023-2024学年四川省宜宾市高一上册期末1月月考地理模拟试题(附答案)
- 福建省泉州市2022-2023学年高一上学期期末教学质量监测化学试题(含答案)
- 一级建造师机电工程管理与实务
- 英语book report简单范文(通用4篇)
- 船舶建造 监理
评论
0/150
提交评论