快速傅立叶变换FFT及其应用实验报告

上传人:zou****hua 文档编号:171080620 上传时间:2022-11-24 格式:DOCX 页数:25 大小:388.64KB
返回 下载 相关 举报
快速傅立叶变换FFT及其应用实验报告_第1页
第1页 / 共25页
快速傅立叶变换FFT及其应用实验报告_第2页
第2页 / 共25页
快速傅立叶变换FFT及其应用实验报告_第3页
第3页 / 共25页
点击查看更多>>
资源描述
实验一 离散时间系统的时域分析一、实验目的1. 运用MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。2. 运用MATLAB中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响 应和卷积分析方法的理解。二、实验原理xh卅可j离散时间系统离散时间系统其输入、输出关系可用以下差分方程描述:纟 d yn 一 k=罗 p xn 一 kk=0k = 0*当输入信号为冲激信号时,系统的输出记为系统单位冲激响应5 n T hn,则系统响应为如下的卷积计算式:yn = Xn *hn=兰 Amhn-mm=-g当hn是有限长度的(n : 0, M)时,称系统为FIR系统;反之,称系统为IIR系统。在 MATLAB中,可以用函数y二Filter(p,d,x)求解差分方程,也可以用函数y=Conv(x,h)计算卷 积。例1clf;n=0:40;a=1;b=2;x1= 0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=1, 0.5,3;den=2 -3 0.1;ic=0 0; %设置零初始条件y1二filter(num,den,x1,ic); %计算输入为 x1(n)时的输出 y1(n)y2二filter(num,den,x2,ic); %计算输入为 x2(n)时的输出 y2(n) y=filter(num,den,x,ic); %计算输入为 x (n)时的输出 y(n) yt= a*y1+b*y2;%画出输出信号 subplot(2,1,1) stem(n,y);ylabel(振幅);title(加权输入a*x1+b*x2的输出); subplot(2,1,2) stem(n,yt);ylabel(振幅);title(加权输出 a*y1+b*y2);(一) 、线性和非线性系统对线性离散时间系统,若和n)和Y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入x(n)二ax (n) + bx (n)的输出响应为Y(n)二ay (n) + by (n),即符合叠加性,其中对任意1 2 1 2常量a和b以及任意输入xi(n)和x2(n)都成立,否则为非线性系统。(二) 、时不变系统和时变系统对离散时不变系统,若Y1(n)是x1(n)的响应,则输入x(n)=x1(n-n0)的输出响应为 y(n)=y1(n-n0),式中n0是任意整数。该输入输出关系,对任意输入序列及其相应的输出成立, 若对至少一个输入序列及其相应的输出序列不成立,则系统称之为时变的。(三) 、线性卷积假设待卷积的两个序列为有限长序列,卷积运算符在MATLAB中可命令conv实现。 例如,可以把系统的冲激响应与给定的有限长输入序列进行卷积,得到有限长冲激响应系统 的输出序列。下面的MATLAB程序实现了该方法。例2clf;h=3 2 1 -21 0 -4 0 3;%冲激x二1 -2 3 -4 3 2 1 ; %输入序列 y=conv(h,x);n=0:14; stem(n,y);xlabel(时间序号 n );ylabel(振幅); title(用卷积得到的输出);grid;三、实验内容与步骤1. 假定一因果系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2) 用MATLAB程序仿真该系统,输入三个不同的输入序列:x (n) = cos(2兀-O.ln) x (n) = cos(2兀-0.4n)x = 2x (n) - 3x (n)1 , 2 , 1 2计算并并显示相应的输出y1(N),y2 (n)和y(n)。2. 用MATLAB程序仿真步骤1给出的系统,对两个不同的输入序列x(n)和x(n-10),计算 并显示相应的输出序列y3(n)和y4(n)。yri输出20 ,一.-20 r 03 用MATLAB程序仿真计算下列两个有限长序列的卷积和并显示图形。x (n) = d (n) + 38 (n -1) + 25 (n - 2)x (n) = u (n) 一 u (n 一 3)2四、实验仪器设备计算机,MATLAB软件五、实验要求给出理论计算结果和程序计算结果并讨论六、实验结果实验1:clf; n=0:40; a=2;b=-3;x1= cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x=a*x1+b*x2;den=1, -0.4,0.75;num =2.2403 2.4908 2.2403;%分子系数 ic=0 0; %设置零初始条件y1二filter(num,den,x1,ic); %计算输入为 x1(n)时的输出 y1(n)y2二filter(num,den,x2,ic); %计算输入为 x2(n)时的输出 y2(n)yn二filter(num,den,x,ic); %计算输入为x (n)时的输出y(n)%画出输出信 subplot(2,2,1) stem( n, y1); ylabel(振幅); title(y1 输出); subplot(2,2,2) stem( n, y2); ylabel(振幅); title(y2 输出); subplot(2,2,3) stem( n,yn); ylabel(振幅); title(yn 输出);页脚心习 10203040实验2:clf;n=0:40;n1=0:50;a=2;b=-3;x1= cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x3=a*x1+b*x2;x4=zeros(1,10), x3;den=1, -0.4,0.75; num=2.2403 2.4908 2.2403; ic=0 0; %设置零初始条件y3=filter(num,den,x3,ic);y4二filter(num,den,x4,ic);%计算输入为 x (n)时的输出 y(n)%画出输出信号 subplot(2,1,1) stem( n, y3); ylabel(振幅); title(yn 输出); subplot(2,1,2) stem( n1,y4); ylabel(振幅); title(y1 输出);实验3 :clf;x=1 3 2;% 冲激 u二1 1 1; %输入序列 y=c onv (u,x);页脚7*r(2:;:P?I罟 s用卷积得到的输出n=0:4;stem(n,y);xlabel(时间序号 n);ylabel(振幅); title(用卷积得到的输出);g rid;实验二(1) 离散时间信号的 DTFT一、实验目的1.运用MATLAB理解Z变换及其绘制H(z)的零极点图。2 .运用MATLAB计算逆Z变换。二、实验原理()、MATLAB在ZT中的应用。线性时不变离散时间系统的冲激响应h(n)的z变换是其系统函数H(z),在MATLAB 中可以利用性质求解Z变换,例如可以利用线性卷积求的Z变换。若H(z)的收敛域包含单 位圆,即系统为稳定系统,即系统在单位圆上z = e加处计算的是系统的频率响应。(二)、逆Z变换Z变换对于分析和表示离散线性时不变系统具有重要作用。但是在MATLAB中不能直接 计算Z变换,但是对于一些序列可以进行逆Z变换。已知序列的Z变换及其收敛域,求序列称为逆Z变换。序列的Z变换及共逆Z变换 表示如下:X (z)=x(n)z-, R |z| =1 i ;nlfti=r All ;b=l?=pnly ( r X* (1.40.50.3);r H P Arillir!7. !hr 3 )输出皓杲为r -氐 fl .DR们 ,一诃 Fi:p -U. 9(JD0 -tlOOO O.QUO -D.3J0Uk =1这梓就可臥岸甸母力的翔金分式展开式为,0.03857 !0.047-2.314S 十 2.M4+(1 + 叮旳 fj -0.4s1 + (14-0.5; ) + (L -0JP)再利月Z变换性质关系对沖恥町一 .I ,園叮以得到X的Z圧麦换如入:皿冃0阳曲7(-0场)“代.时4兀0对-2.31側DN+2.8444I0紂四、实验仪器设备计算机,MATLAB软件五、实验注意事项课前预先阅读并理解实验程序;六、实验结果clearnum1=1 0 0 0 0 0 0 0 -1;%分子系数高阶到低阶 den1=1 0 0 0 0 0 0 0 0;subplot(2,2,1)zplane(num1, den1)grid;title(H1零极点分布图);H,w=freqz(num1,den1,200,whole); %中B和A分别为离散系统的系统函数分子、分母多项 式的系数向量,HF=abs(H);%返回量 H 则包含了离散系统频响在 0pi 范围内N个频率等分点的值(其中N为正整数)subplot(2,2,2);%w则包含了范围内N个频率等分点。plot(w,HF)title(H1幅频响应特性曲线);a=0.8;A=aA8;num2=1 0 0 0 0 0 0 0 -1;%分子系数高阶到低阶den2=1 0 0 0 0 0 0 0 A;subplot(2,2,3)zplane(num2, den2);grid;title(H2零极点分布图);H,w=freqz(num2,den2,200,whole); %中B和A分别为离散系统的系统函数分子、分母多项 式的系数向量,HF=abs(H);%返回量 H 则包含了离散系统频响在 0pi 范围内N个频率等分点的值(其中N为正整数)subplot(2,2,4);%w则包含了范围内N个频率等分点。plot(w,HF)title(H2幅频响应特性曲线);点分布期H1幅频响应特性曲线5 0 5a-CIijeul?ITi_NE_-:!.令11Q 1,A;:-1-0.500.51吃幅频响应特性曲线Real PartH2雾极点好布期Real Part5 o 5 a-O. IJITIUL?E_a2实验二(2) 离散傅立叶变换 DFT一、实验目的1. 运用MATLAB计算有限长序列的DFT和IDFT。2. 运用MATLAB验证离散傅立叶变换的性质。3 运用MATLAB计算有限长序列的圆周卷积。二、实验原理()、离散傅立叶变换DFT的定义个有限长度的序列x( n) (0W nN-1),它的DFT X(k)可以通过在 轴(0 2兀、上对X(ej)均匀采样得到X (k) = X (ej)=乞 x(n)e-j 2 兀 kn / N=2 兀 k / N0k N-1n =g可以看到X(k)也是频域上的有限长序列,长度为N。序列X(k)称为序列x(n)的N点DFT。N 称为 DFT 变换区间长度。 通常表示W 二 e - j 2 兀 / n N可将定义式表示为X (k)二 艺 x(n)Wkn0 k N -1n=gX(k)的离散傅里叶逆变换(IDFT )为x(n)二X(k)W -knN0nN-1n=g(二)、DFT的性质1圆周移位定义序列x(n)的m单位的圆周移位y(n)为:y(n) = x (n + m)R (n) = x(n + m) R (n)NN N(x(n + m)n即对x(n)以N为周期进行周期延拓的序列(n)的m点移位,化(n)表示对此延拓移位后再取主值序列)1IrllllTi圆周卷积心ImiIfmllHTT?;-2: 1M1113设 x (n) X1N .他I0 2能伽1”2(n) dFtX? (k)0 k N 1则 兀(n)(n) X (k)X? (k) -0 k N、 1N昭叶这里x1(n) 妙 (n)表示x(尼与11 ;(n) 的的N点循环卷积 7空121x (n)二2S x (m)x (n - m) R (n), n = 0,1,A , N -121N Nm=02 共轭对称性x(n) = x (n) + x (n),0 n N 1epopx (n) = x(n) + x*(N -n)詔 ep 2,0 n N -1x (n) = x(n)-x*(N-n) 、op2x(n) X (k)Nx (n) 丄X (k) + X *(k) = ReX (k) = X (k)ep N 2 r 实际应用中,利用上述对称性质可以减少DFT的运算量,提高运算效率。三、实验内容与步骤:(2,3 选做一个)1构造离散傅立叶正、反变换函数的MATLAB程序,其中dft(xn,N)为离散傅立叶正变换, idft(x n,N)为离散傅立叶反变换。2、如果x(n) = sin(n兀/8) + sin(n兀/4)是一个N = 16的有限长序列,利用离散傅立叶变换 函数求其16点DFT。3、如果x(n) = cos(0.82兀n) + 2sin(0.43兀n)是一个0 n N,在计算离散傅立叶变换之前,对x(n)尾部的L-N个值进行补零。同样,离散傅立叶变换序列X(k)的离散 傅立叶逆变换x(n)用函数ifft计算,它也有两种形式。(一)、基本序列的离散傅立叶变换计算N点离散傅立叶变换的一种物理解释就是,Xk是x(n)以N为周期的周期延拓序列的离 散傅立叶级数系数Xk)的主值区间序列,即X(k) = Xk)R (k)。例如序列 N兀兀兀cos( n) rn (n),当 N = 16 时,cos(- n) rn(n)正好是 cos(8 n)的一个周期,所以兀cos(_8n)RN(n)的周期延拓序列就是这种单一频率的正弦序列。而当N=8时,兀兀兀cos(_8n)rn(n)正好是cos(-n)的半个周期,cos(8n)rn(n)的周期延拓就不再是单一频 率的正弦序列,而是含有丰富的谐波成分,其离散傅立叶级数的系数与N = 16时的差别很大, 因此对信号进行谱分析时,一定要截取整个周期,否则得到错误的频谱。(二)、验证N点DFT的物理意义假如x(n)非周期、有限长,则傅立叶变换存在,那么对X(ej)在N个等间隔频率 =2 n/N, k=0,1,N-1 取样,则可得 X(k)okX (k) = X (w )= x(n)e - j2冗kn / n0 k N 1o=2 兀k / Nn=g序列x(n)的N点DFT的物理意义是对X(w)在0,2n上进行N点的等间隔采样。(三)、利用FFT计算序列的线性卷积直接计算线性卷积计算量大,并且计算机无法判断y(n)的长度,需要计算多少的y(n) 值,若输入为无限长,就更无法计算,其运算量随长度成级数增长。由于可以利用 FFT 对 DFT进行有效的计算,我们希望能够利用DFT来计算线性卷积。设x(n)和h(n)是长度分别为M和N的有限长序列,令L二M + N-1,定义两个长度L的有限长序列:x(n)x(n),0,0nM 1M n L1(3.4.8)h(n) =h(n),0,0n N1N n L 1(3.4.9)通过对x(n)和h(n)补充零样本值得到上面两个序列。那么:y (n) = x(n) * h(n) = y (n) = x(n) h(n)(3.4.10)lc上面的过程如下图所示:计算线性卷积也可以直接调用函数con来计算,因为MATLAB中的计时比较粗糙,所以只 有M和N较大的时候,才能比较两种方法的执行时间快慢。三、实验内容与步骤(选做一个).a1.对复正弦序列x(n)二ej8nR (n),利用MATLAB程序求当N = 16和N=8时的离散傅立N叶变换,并显示其图形。1 e.42 已知x(n) = R4(n), X()= ,绘制相应的幅频和相频曲线,并计算 N=8和41 e.N = 16 时的 DFT。四、实验仪器设备计算机,MATLAB软件五、实验注意事项课前预先阅读并理解实验程序;六、实验结果k1=16; %序列长N1=16;%dft 点数n1=0:1:15;xn1=exp(j*pi/8*n1/k1); %抽样信号xk1=dft(xn1,N1);subplot(2,2,1);stem(n1,xn1);xlabel(t/T);ylabel(x(n);subplot(2,2,2);stem(n1,xk1);grid;xlabel(k); ylabel(x(k);k2=8; %序列长N2=8;%dft 点数n2=0:1:7;xn2=exp(j*pi/8*n2/k2); %抽样信号 xk2=dft(xn2,N2);subplot(2,2,3);stem(n2,xn2); xlabel(t/T); ylabel(x(n);subplot(2,2,4);stem(n2,xk2);grid;xlabel(k);ylabel(x(k);t/Tk实验三 基于MATLAB的IIR数字滤波器设计一、实验目的1.进一步熟悉IIR数字滤波器的理论知识。2 .熟悉与IIR数字滤波器设计有关的MATLAB函数。3 .学会通过MATLAB,利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,加深对数 字滤波器的常用指标和设计过程的理解。二、实验原理()、低通滤波器的常用指标:1 -8 G(ej) 1+8 , forpp 18 ,fOrro兀SS通带边缘频率: ,阻带边缘频率:ps通带起伏:8,通带峰值起伏:a = -20 logpp10(1 -8 )dB,阻带起伏:8ps最小阻带衰减: aS = -20log10(8s)dB。S10 s(二)、IIR数字滤波器设计目前,设计IIR数字滤波器的通用方法是先设计相应的低通滤波器,然后再通过双线性变换 法和频率变换得到所需要的数字滤波器。模拟滤波器从功能上分有低通、高通、带通及带阻 四种,从类型上分有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器以及贝塞尔滤波器等。1、利用模拟滤波器设计IIR数字低通滤波器的步骤。(1) 确定数字低通滤波器的技术指标:通带截止频率卬、通带衰减ap、阻带截止频率阻 带衰减as。(2) 将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。脉冲响应不变法:ro = QT双线性变换法:Q = 2tan(| ro)(3) 按照模拟低通滤波器的技术指标设计模拟低通滤波器。(4) 将模拟滤波器Ha(s),从s平面转换到z平面,得到数字低通滤波器系统函数H(z)。2、下面给出与IIR数字滤波器设计有关的MATLAB文件。(1、buttord.m用来确定数字低通或模拟低通滤波器的阶次,其调用格式分别是a. N,W n二butto rd(Wp,Ws,Rp,Rs)b. N,Wn=buttord(Wp,Ws,Rp,Rs,s)格式a对应数字滤波器,式中Wp,Ws分别是通带和阻带的截止频率,实际上它们是归 化频率,其值在0-1之间,1对应n (即对n的归一化)。Rp,Rs分别是通带和阻带衰减, 单位为dB。N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率。格式b对应模拟滤波器,式中各个变量的含义和格式a相同,但Wp,Ws及Wn是模拟 角频率,单位为rad/s。(2、buttap.m用来设计模拟低通原型(归一化)滤波器Ha(p),其调用的格式为z , p, k=buttap(N)N是欲设计的低通原型(归一化)滤波器的阶次,乙p和k分别是设计出Ha(p)的极点、 零点及增益。(3)lp2lp.m将模拟低通原型(归一化)滤波器H a(p)转换为实际的低通滤波器H a(s)。(去归一化), 其调用格式为:B,A=lp2lp(b,a,Wn)b,a分别是模拟低通原型滤波器Ha(p)的分子、分母多项式的系数向量,其中B, A是去 归一化后Ha(s)的分子、分母多项式的系数向量,Wn为截止频率。(4) bilinear.m实现双线性变换,即由模拟滤波器Ha(s)得到数字滤波器H(z)。其调用格式是:Bz,Az=bilinear(B,A,Fs)B,A是去归一化后Ha(s)的分子、分母多项式的系数向量,Bz, Az是H的分子、分母 多项式的系数向量,Fs是抽样频率。(4) impinvar.m由脉冲响应不变法将模拟滤波器Ha(s)转换为数字滤波器H(z)。其调用格式是:Bz,Az= impinvar(B,A,Fs)B,A是去归一化后Ha(s)的分子、分母多项式的系数向量,Bz,Az是H的分子、分母 多项式的系数向量,Fs是抽样频率。(5) butter.m用来直接设计巴特沃斯数字滤波器(双线性变换法),实际上它把buttord.m, buttap.m, lp2lp.m及bilinear.m等文件都包含进去,从而使设计过程更简捷,其调用格式为:a.B,A=butter(N, Wn)b. B,A=butter(N,Wn,s)格式a是设计低通数字滤波器,格式b是设计低通模拟滤波器。B,A是H的分子、 分母多项式的系数向量,Wn是截止频率。三、实验内容与步骤以下选做一个1 .设计MATLAB程序,采用脉冲响应不变法设计一个巴特沃斯低通数字滤波器,其通带 上限临界频率为400Hz,阻带临界频率为600Hz,抽样频率是1000Hz,在通带内的最 大衰减为0.3dB,阻带内的最小衰减为60dB,并绘出幅频特性曲线。2 设计MATLAB程序,采用双线性变换法设计一个巴特沃斯低通数字滤波器,要求在通 带0,0.2n内衰减不大于3dB,在阻带0.6n,n内衰减不小于40dB,并绘出幅频特性曲 线。四、实验仪器设备计算机,MATLAB软件五、实验要求根据要求独立编程设计,并根据程序运行结果写出滤波器的系统函数六、实验结果选做1:fp=400; %通带上限临界频率fs=600; %阻带临界频率Rp=0.3; %通带允许的最大衰减Rs=60; %阻带允许的最小衰减Fs=1000; %采样频率Wp=2*pi*fp; %通带截止平率Ws=2*pi*fs; %阻带截止平率%Nn=256;n=(0:100-1);% 采样点数N,Wn=buttord(Wp,Ws,Rp,Rs,s); %用于计算阶数和截止平率b,a二butter(N,Wn,s); %计算分子向量b,分母向量a w=linspace(1,400,100)*2*pi; %起始值,终止值,元素个数H=freqs(b,a,w); %在0,2n上进行采样,采样频率点由矢量w指定 figure(1);plot(w/(2*pi),20*log10(abs(H);title(巴特沃斯模拟滤波器幅频特性);xlabel(频率/Hz);实验四 基于 MATLAB 的 FIR 数字滤波器设计一、实验目的1.进一步熟悉FIR数字滤波器的理论知识。2 .熟悉与FIR数字滤波器设计有关的MATLAB函数。3.学会通过MATLAB,利用窗函数法设计FIR数字滤波器。二、实验原理设计FIR滤波器实际上是要在满足线性相位的条件下,实现幅度响应的逼近。而一个FIR 滤波器若是符合线性相位,则必须满足一定的条件,即:个FIR滤波器若是线性相位的,则其单位冲激响应必然满足h(n) = h(N -1 - n)n=0,1,N-1h(n)是关于(N-1)/2对称(奇对称或偶对称) 即,(1) h(n)是偶对称序列a =,0 n N 1(1) h(n) 是奇对称(反对称)序列N 1a =250dB,通带波纹不大于1dB。四、实验仪器设备计算机,MATLAB软件五、实验注意事项根据要求独立编程设计。六、实验结果选做3clear;wp=0.6*pi;%通带边界频率频率0.6nws=0.7*pi;%阻带边界频率0.7n0Omprpn-Ep50-jowd二ws-wp;%主瓣宽度N=ceil(8*pi/wd);wn=(0.6+0.7)*pi/2;b=fir1(N,wn/pi,hanning(N+1);freqz(b,1,512);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!