1、电信类课程试验报告学 院:基础信息工程 系 别:电子信息工程 课程名称:数字信号处理姓 名: 学 号: 日 期:实验五 实验名称:利用 FFT 实现快速卷积一、实验目的1.加深理解 FFT 在实现数字滤波(或快速卷积)中的重要作用,更好地利用 FFT 进行数字信号处理。2.进一步掌握圆周卷积和线性卷积两者之间的关系。二、主要函数简介MATLAB 中计算序列的离散傅里叶变换和逆变换是采用快速算法,利用 fft 和 ifft 函数实现。1、x =fft(x , N)kn输入参数:为待计算 DFT 的序列,N 为序列的长度。输出参数:为序列 的 IDFT。2、 ),(iftXxkn输入参数:x 为待
2、计算 IDFT 的序列,N 为序列 x 的长度。k输出参数:X 为序列 x 的 IDFT。nk三、实验内容给定两个序列 x(n)=2,1,1,2,h(n)=1,-1,-1,1。首先直接在时域计算两者的线性卷积;其次用 FFT快速计算二者的线性卷积,验证结果。数字滤波器的脉冲响应为 h(n)=(- ,N 可自定,本实验取 N 输入序列 x(n)可选下列几种),(212nRN22情况:X(n)=R (n),N 可自取 161Nx(n)=cos( ,N =16)(21nRNX(n)=( R (n), N =16n)311实验前,预先编制一个应用 FFT 实现数字滤波器的通用程序。上机独立调试,并打印
3、或记录实验结果。将实验结果与预先笔算的结果比较,验证其正确性。(1)clear;clc;xn=2 1 1 2;hn=1 -1 -1 1;yn=conv(xn,hn);stem(yn);ylabel(xn与 hn卷积的幅度);xlabel(xn的值 );用FFT:clear;clc;n=0:1:3;m=0:1:3;N1=length(n);N2=length(m);xn=2 1 1 2;hn=1 -1 -1 1;N=N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK=XK.*HK;yn=ifft(YK,N);if all(imag(xn)=0)endx=0:N-1;stem
4、(x,yn,.)(2)n=0:1:16;m=0:1:5;N1=length(n);N2=length(m);xn=(-0.5).n;hn=ones(1,N2);N=N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK=XK.*HK;yn=ifft(YK,N);if all(imag(xn)=0)endx=0:N-1;stem(x,yn,.)n=0:1:16;m=0:1:10;N1=length(n);N2=length(m);xn=cos(2*pi*n/N1);hn=ones(1,N2);N=N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK=XK.*HK;yn=ifft(YK,N);if all(imag(xn)=0)endx=0:N-1;stem(x,yn,.)n=0:1:16;m=0:1:10;N1=length(n);N2=length(m);xn=(1/3).n;hn=ones(1,N2);N=N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK=XK.*HK;yn=ifft(YK,N);if all(imag(xn)=0)endx=0:N-1;stem(x,yn,.)四、实验小结五、教师评语教师签字: 年 月 日