好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

完成实验03 快速傅立叶变换.doc

7页
  • 卖家[上传人]:博****1
  • 文档编号:543162344
  • 上传时间:2023-09-24
  • 文档格式:DOC
  • 文档大小:91KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验三 快速傅立叶变换一、实验目的1.掌握fft函数的用法2.了解FFT的用途二、实验内容1.利用FFT进行信号检测分析信号频谱所对应频率轴的数字频率和频率轴的频率范围2. 对例2,进一步增加截取长度和FFT点数,如N加大到256,观察信号频谱的变化,分析产生这一变化的原因在截取长度不变的条件下改变采样频率,观察信号频谱的变化,分析产生这一变化的原因3. 对例3,加大噪声到2*randn(1,N)和8*randn(1,N),画出并比较不同噪声下时域波形和频谱4.比较DFT和FFT的运算时间计时函数 tic, toc)5.对给定语音信号进行谱分析,写出采样频率,画出语音信号的波形及频谱,并分析语音信号的频率分布特点三、实验例程%例1 求信号功率谱实验结果与实验流程图如下图示:输入模拟信号表达式求出模拟信号功率观察功率谱%例2 模拟信号,以进行取样,求N点DFT的幅值谱(1)%N分别为(1) N=45 (2) N=50(3) N=55 (4) N=60实验运行结果如下图示: (2). 对例2,进一步增加截取长度和FFT点数,如N加大到256,观察信号频谱的变化,分析产生这一变化的原因。

      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=fft(x,N);plot(q,abs(y));title('FFT N=256') 实验程序运行结果如右图示:产生这一变化原因为:(3).在截取长度不变的条件下改变采样频率,观察信号频谱的变化,分析产生变化的原因改编程序如下:N=256;n=0:N-1;t=0.1*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);plot(q,abs(y));title('FFT N=256') 实验运行结果如右图示:信号频谱产生这一变化的原因:对模拟信号x(t)进行取样并求不同N点DFT的幅值谱进一步增加截取长度和FFT点数,观察信号频谱并分析截取长度不变的条件下改变采样频率,观察信号频谱的变化并分析实验流程图如下图示:%例3 参数同上,N取64,并在信号中加入噪声w(t),比较有无噪声时的信号谱%由结果可以看出这种噪声不影响信号检测(1)加大噪声到8*randn(1,N)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=fft(x,N);plot(q,abs(y));title('FFT N=64')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)+0.8*randn(1,N);y=fft(x,N);plot(q,abs(y));title('FFT N=64(with noise)')实验运行结果如右图示:(2) 对例3,加大噪声到2*randn(1,N)和8*randn(1,N),画出并比较不同噪声下时域波形和频谱。

      加大噪声到2*randn(1,N)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=fft(x,N);plot(q,abs(y));title('FFT N=64')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)+ 2*randn(1,N);y=fft(x,N);plot(q,abs(y));title('FFT N=64(with noise)')实验运行结果如右图示:对模拟信号x(t)进行取样并求N点DFT的幅值谱在信号中加入不同噪声w(t)并画出频谱比较两种不同噪声频谱与有无噪声时的信号谱并分析结果比较两种不同噪声频谱与有无噪声时的信号谱并分析结果4.比较DFT和FFT的运算时间计时函数 tic, toc)N分别取256,512,1024,2048,4096,…程序如下:N=256;N=4096;x=randn(1,N);ticy=dft(x,N);tocticz=fft(x);tocN=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=4096:Elapsed time is 59.250000 seconds.分别求出序列计算DFT和FFT的运算时间计算不同N点所用时间比较分析两种变换计算时间Elapsed time is 0.125000 seconds.经过对比可以得出如下结论:5. 对语音进行频谱分析。

      读语音函数 [x,fs]=wavread(‘ai.wav’); (1) 要求对整个语音x做FFT,得出频谱(X(k)),画出语音信号的时域波形及频谱并分别求出k=300,3500所对应的信号频率(Hz) 提示: (2)从语音中截取一段语音(256点)做FFT,得出频谱,画出时域波形及频谱分别求出k=5,60时所对应的信号频率(Hz) (3)根据频谱对语音信号频率分布特点进行分析实验程序如下:(1)画时域波形并对整个语音序列做FFT[x,fs]=wavread('ai5.wav');subplot(2,1,1) N=length(x);n=0:N-1;plot(n,x);xlabel('n');ylabel('x');title('时域波形');subplot(2,1,2)N=length(x);n=0:N-1;t=0.01*n;q=n*2*pi/N;y=fft(x,N);;plot(q,abs(y));xlabel('n');ylabel('ai5');title('FFT');(2)并分别求出k=300,3500所对应的信号频率(Hz)[x,fs]=wavread('ai5.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*pi/N;f2=q2*fs/(2*pi)实验结果如下fs = 16000f1 = 315.7895f2 = 3.6842e+003(3)从语音中截取一段语音(256点)做FFT,得出频谱,画出时域波形及频谱。

      分别求出k=5,60时所对应的信号频率(Hz)程序如下:[x,fs]=wavread('ai5.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=fft(x,N);;plot(q,abs(y));xlabel('n');ylabel('ai5');title('FFT-256');(4)分别求出k=5,60时所对应的信号频率(Hz)[x,fs]=wavread('ai5.wav');subplot(2,1,1)N=256;n=0:N-1;x=x(1:256);t=0.01*n;q=n*2*pi/N;x=x(1:256);y=fft(x,N);n1=5;q1=n1*2*pi/N;f1=q1*fs/(2*pi)n2=60;q2=n2*2*pi/N;f2=q2*fs/(2*pi)实验结果如下:f1 = 312.5000f2 = 3.7500e+003在语音中截取一段语音(256点)做FFT,画出时域波形及频谱分别求出k=5,60时所对应的信号频率(Hz)并分析实验结果读语音函数 [x,fs]得出时域波形对整个语音x做FFT,得出频谱(X(k)),并分别求出某些点信号频率(Hz)实验流程图如下实验分析如下:。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.