数字信号处理实验四.doc_第1页
数字信号处理实验四.doc_第2页
数字信号处理实验四.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子信息工程系实验报告成 绩:课程名称: 数字信号处理 指导教师(签名):实验项目名称:实验4用DFT(FFT)对连续信号进行频谱分析 实验时间班级: 姓名: 学号: 一、实 验 目 的: 1 掌握用DFT(FFT)对模拟信号进行谱分析的方法,理解可能出现的分析误差及其原因, 以便在实际中正确应用FFT。2熟悉应用FFT实现两个序列的线性卷积的方法。二、实验原理:用DFT(FFT)对模拟信号做谱分析是一种近似的谱分析。首先一般的模拟信号(周期信号除外)的频谱是连续谱,而用FFT做谱分析得到的是数字谱,因此应该取FFT的点数多一些,用它的包络作为模拟信号的近似谱。另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。最后要注意一般的模拟信号是无限长的,分析时要截断,截断的长度与对模拟信号进行频谱分析的分辨率有关。用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。三、实验仪器及设备计算机、MATLAB软件。四、实 验 内 容: (1) 复习用DFT(FFT)对连续信号进行频谱分析的误差问题 以及用DFT(FFT)进行线性卷积的方法 。(2) 用MATLAB编制程序产生以下实验信号:答:matlab编程如下:3clearclcsubplot(311);%产生x1 函数表达式x1=(t)Heaviside(t)-Heaviside(t-1.5*10(-3);ezplot(x1,0,3*10-3);grid on;ylabel(x1(t);%产生x2 函数表达式f=246;%2班46号x2=(t)sin(2*pi*f*t+pi/8);subplot(312);ezplot(x2,0,0.01);grid on;ylabel(x2(t);x3=(t)cos(8*pi*t)+cos(16*pi*t)+cos(20*pi*t);% 产生x3函数表达式subplot(313);ezplot(x3,0,1);ylabel(x3(t);grid on;图1 运行结果(3)分别对以上三种模拟信号选择采样频率和采样点数: 对,选择采样频率fs=4k、8k、16k Hz,采样点数用计算。 对,频率f自己选择,采样频率,观测时间采样点数用计算。 对,选择采样频率,采样点数分别为16、32、64。分别将它们转换成序列,顺序用表示,再分别将它们进行FFT(如果采样点数不满足2的整数幂,可以通过序列尾部加零满足)并画出各自的幅频特性曲线。答:matlab编程如下:Clear;clcx1=(t)Heaviside(t)-Heaviside(t-1.5*10(-3);f=246;%2班46号x2=(t)sin(2*pi*f*t+pi/8);x3=(t)cos(8*pi*t)+cos(16*pi*t)+cos(20*pi*t);fs4k=4000;fs8k=8000;fs16k=16000;tp=3*10(-3);t11=0:1/fs4k:tp;t12=0:1/fs8k:tp;t13=0:1/fs16k:tp;x1_4k=x1(t11);x1_8k=x1(t12);x1_16k=x1(t13);subplot(331);stem(t11,x1_4k,.);subplot(332);stem(t12,x1_8k,.);subplot(333);stem(t13,x1_16k,.);fs=4*f;tp1=0.5/f;tp2=1/f;tp3=2/f;t21=0:1/fs:tp1;t22=0:1/fs:tp2;t23=0:1/fs:tp3;x2_tp1=x2(t21);x2_tp2=x2(t22);x2_tp3=x2(t23);subplot(334);stem(t21,x2_tp1,.);subplot(335);stem(t22,x2_tp2,.);subplot(336);stem(t23,x2_tp3,.);fs=64;tp16=15/fs;tp32=31/fs;tp64=63/fs;x3_16=x3(0:1/fs:tp16);x3_32=x3(0:1/fs:tp32);x3_64=x3(0:1/fs:tp64);Xk16=fft(x3_16,16);Xk32=fft(x3_32,32);Xk64=fft(x3_64,64);subplot(337);stem(2*(0:15)/16,abs(Xk16),.);xlabel(omega/pi);subplot(338);stem(2*(0:31)/32,abs(Xk32),.);xlabel(omega/pi);subplot(339);tem(2*(0:63)/64,abs(Xk64),.);xlabel(omega/pi);图2 运行结果 (4)利用DFT的方式计算下面两序列的线性卷积:, 。答:matlab编程如下:Clear;clc;xn=1,2,1,1,2,1,1,2;hn=0,1,3,2,0;yn=conv(xn,hn);subplot(211);stem(0:length(yn)-1,yn,.);axis(0,14,0,10);title(线性卷积)xnk=xn,zeros(1,12-length(xn);hnk=hn,zeros(1,12-length(hn);xnXk=fft(xnk,12);hnXk=fft(hnk,12);ynXk=xnXk.*hnXk;ynk=ifft(ynXk);subplot(212);stem(0:length(ynk)-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论