《信号分析与处理》_第 8 章 离散信号与系统频域分析及快速傅里叶变换.pptVIP

  • 0
  • 0
  • 约2.04万字
  • 约 92页
  • 2026-03-14 发布于广东
  • 举报

《信号分析与处理》_第 8 章 离散信号与系统频域分析及快速傅里叶变换.ppt

8.10本章中的MATLAB程序gridon;2.根据系统函数求系统的零极点图和频响特性及单位样值响应说明:本程序可以根据输入的系统函数(有理多项式)的分子和分母系数,从而算出系统的零点、极点并画出零极点图,并据此得到系统的幅频特性和相频特性及单位样值响应。cls;close;clear;b=input(‘请输入系统函数的分子系数b=?(系数之间以逗号分隔)’);a=input(‘请输入系统函数的分母系数a=?(系数之间以逗号分隔)’);[z,p,k]=tf2zp(b,a)%求系统的零点(z)、极点(p)和系统增益(k)zplane(b,a);h=dimpulse(b,a);上一页下一页返回8.10本章中的MATLAB程序figure(2);stem([0:length(h)-1],h);ylabel(‘h[n]’);xlabel(‘n’);figure(3);freqz(b,a);8.10.2离散傅里叶变换(DFT)1.DFT函数说明:该程序为可调用函数。可以在MATLAB的其他程序中调用执行。需要将本程序存为文件名为:“DFT.m”,并将此程序存在MATLAB程序目录中的“work”子目录中。上一页下一页返回8.10本章中的MATLAB程序functionXk=DFT(xn)N=length(xn);n=0:N-1;k=n;nk=n*k;WN=exp(-j*2*pi/N);Wnk=WN.^nk;Xk=xn*Wnk;end2.x[n]=RM[n](长度为N)的离散傅里叶变换(DFT)说明:在运行此程序时,需要将DFT函数程序DFT.m文件存放在MATLAB程序的目录中的“work”子目录中方可执行。上一页下一页返回8.10本章中的MATLAB程序clc;close;clear;m=input(‘请输入序列长度m=?’);N=input(‘请输入序列周期长度N=?’);n=0:N-1;ifn=m-1,x=1;elsex=0;Xk=DFT(x);Figure(1)stem(abs(Xk));gridon;上一页下一页返回8.10本章中的MATLAB程序xlabel(‘k’);ylabel(‘幅度|X(k)|’);figure(2);stem(angle(Xk)/pi);xlabel(‘k’);ylabel(‘相频X(k)’);gridon;上一页下一页返回8.10本章中的MATLAB程序8.10.3快速傅里叶变换(FFT)应用说明:下面有两段程序,一个采用卷积和的方法直接求解系统的响应,另一个则采用快速傅里叶变换(FFT)来实现。每个程序均对于运算时间进行测量并据此验证采用FFT实现求解系统响应可以节省时间的理论的正确性。程序1:采用直接卷积求系统的响应clc;close;clear;n=0:1000;x1=sin(0.1*pi*n)+cos(0.5*pi*n);m=0:1023;h1=0.2*sinc(0.2*(m-511));上一页下一页返回8.10本章中的MATLAB程序xk1=fft(x1,1024);hk1=fft(h1,1024);tic;y1=conv(x1,h1);Yk1=fft(y1);figure(1);plot(abs(xk1));gridon;figure(2);plot(abs(hk1));gridon;上一页下一页返回8.10本章中的MATLAB程序figure(3);plot(abs(Yk1));gridon;toc;程序2:采用FFT方法求系统的响应clc;close;clear;N=2048n=0:1000;x2=sin(0.15*pi*n)+cos(0.45*pi*n);m=0:1022;上一页下一页返回8.10本章中的MATLAB程序h2=0.2*sinc(0.2*(m-511));tic;xk2=fft(x2,2048);hk2=fft(h2,2048);YK2=xk2.*hk2;y2=ifft(YK2);figure(1);plot(abs(xk2));gridon;figure(2);上一页下一页返回8.10本章中的MATLAB程序plot(abs(hk2));gridon;figure(3);plot(a

文档评论(0)

1亿VIP精品文档

相关文档