基于MATLAB的离散非周期信号频域分析.doc_第1页
基于MATLAB的离散非周期信号频域分析.doc_第2页
基于MATLAB的离散非周期信号频域分析.doc_第3页
基于MATLAB的离散非周期信号频域分析.doc_第4页
基于MATLAB的离散非周期信号频域分析.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

基于matlab的离散信号频域分析、快速傅里叶变换与采样定理一、 离散信号频域分析(一) 周期离散方波信号频域分析与周期模拟信号一样,周期离散信号同样可以展开成傅里叶级数形式,并得到离散傅里叶级数(dfs)xk=1nn=-n2n2xne-jkn k=0,1,2,n-1 上式可以看成周期离散信号x(n)的离散傅里叶级数展开。xn=k=0n-1xkejkn上式是dfs的反变换,记作idfs并且称x(k)与x(n)构成一对离散傅里叶级数变换对。(以上两式中=2/n)在mtalab中,dfs通过建立周期延拓函数语句实现:function xk=dfs(n,x,n)if nlength(x) n=0:n-1; x=x zeros(1,n-length(x);endk=0:n-1;wn=exp(-j*2*pi/n);nk=n*k;wnnk=wn.nk;xk=x*wnnk;end建立一个离散非周期方波信号xn=rnn=1, &0nn-10, &其他r4n通过周期延拓后所得的周期序列利用dfs计算实现代码如下:clear all;close all;clc;n=0:3;x=ones(1,4);x=fft(x,1024);xk1=dfs(n,x,4);xk2=dfs(n,x,8);figure(1);plot(-1023:2048)/2048*8,abs(x) abs(x) abs(x),-);hold on;stem(-4:7,abs(xk1) abs(xk1) abs(xk1),linewidth,2);grid;figure(2);plot(-1023:2048)/2048*16,abs(x) abs(x) abs(x),-);hold on;stem(-8:15,abs(xk2) abs(xk2) abs(xk2),linewidth,2);grid;set(gcf,color,w);运行后得到的是分别以4和8为周期延拓后的r4n频谱:即第一幅图表示的是周期序列 xn=1 -n+ 的频谱,第二幅图表示的是周期序列xn=1, &4kn4+4k0, &4k-4n4k的频谱。两图中的包络线表示的是通过快速傅里叶变换(fft)所得到的频谱线。(二)非周期离散方波信号频域分析对于非周期离散方波信号,可采用离散时间傅里叶变换dtft进行分析。x=n=-+x(n)e-jn上式为离散时间信号x(n)的离散时间傅里叶变换(dtft)。xn=1202xejnd上式为x的离散时间傅里叶反变换(idtft)。由于:i=-+x(i)length(x) n=0:n-1; x=x zeros(1,n-length(x);endk=0:n-1;wn=exp(-j*2*pi/n);nk=n*k;wnnk=wn.nk;xk=x*wnnk;end建立一个离散非周期方波信号xn=rnn=1, &0nn-10, &其他r8n的离散傅里叶变换xej利用dft计算实现代码如下:clear all;close all;clc;n=0:7;x=ones(1,8);x=fft(x,1024);xk2=dft(n,x,16);figure(1);plot(-1023:2048)/2048*32,abs(x) abs(x) abs(x),-);hold on;stem(-16:31,abs(xk2) abs(xk2) abs(xk2),linewidth,2);grid;figure(2);plot(-1023:2048)/2048*32,angle(x) angle(x) angle(x),-);hold on;stem(-16:31,angle(xk2) angle(xk2) angle(xk2),linewidth,2);grid;set(gcf,color,w);运行后分别得到该离散非周期方波信号的幅频特性与相频特性:幅频特性相频特性两图中的包络线表示的是通过快速傅里叶变换(fft)所得到的频谱线。离散傅里叶变换是傅里叶变换在时域、频域均离散化的形式,因而与其他傅里叶变换有着相似的性质。但是它又是从傅里叶级数派生而来的,所以又具有一些与其他傅里叶变换不同的特性,最主要的是圆周位移性质和圆周卷积性质。二、 快速傅里叶变换(fft)快速傅里叶变换,简称fft,是计算dft的快速算法,习惯上是指以库利和图基算法为基础的一类高效算法。根据快速傅里叶变换基本思路以及基2fft算法,在mtalab中,fft通过建立函数实现:function y=fft(x)m=nextpow2(x); n=2m;if length(x)nx=x,zeros(1,n-length(x); endnxd=bin2dec(fliplr(dec2bin(1:n-1,m)+1;y=x(nxd); for mm=1:m nmr=2mm; u=1;wn=exp(-i*2*pi/nmr); for j=1:nmr/2 for k=j:nmr:n kp=k+nmr/2; t=y(kp)*u; y(kp)=y(k)-t; y(k)=y(k)+t; end u=u*wn; end end建立一个离散非周期方波信号xn=rnn=1, &0nn-10, &其他r8n的快速傅里叶变换利用fft计算实现代码如下:clear all;close all;clc;x=ones(1,8);fx=fft(x,512);z=abs(fx);k=0:length(z)-1;plot(k,z);运行后得到该离散非周期方波信号的幅频特性:分别利用fft和dft进行相同运算:clear all;close all;clc;k=input(k=);n=2k;n=0:n-1;x=randn(1,2k);tic,x=fft(x,n),toctic,x=dft(n,x,n),toc运行结果如下: columns 1 through 4069elapsed time is 0.218536 seconds. columns 1 through 4069elapsed time is 16.726921 seconds.由此可见,采用dft计算时间为16.726921秒,而采用fft计算只需要0.218536秒;说明,fft在计算速度上,明显优于其他算法。三、采样定理(一)时域采样定理为了验证时域采样定理,可以把原始采样序列每隔d-1点取一个值,形成一个新的序列。在matlab中,通过以下程序实现:clear all;close all;clc;x=ones(1,8);d=2;xd=x(1:d:length(x);fx=fft(x,512);fxd=fft(xd,512);z=abs(fx);s=abs(fxd);k=0:length(z)-1;plot(k,s,k,z);d=2时得到的原始序列与采样序列的幅频特性(蓝色为原始序列,绿色为采样序列)。d=3时得到的原始序列与采样序列的幅频特性(蓝色为原始序列,绿色为采样序列)。 d=4时得到的原始序列与采样序列的幅频特性(蓝色为原始序列,绿色为采样序列)。d=0.5时得到的原始序列与采样序列的幅频特性(蓝色为原始序列,绿色为采样序列)。由此可见,采样周期在d大于2的范围内,出现明显的混叠现象,有失真产生,而在小于1的范围内,采样过于密集,增加运算系统负担。因此,可验证时域采样定理。(二)频域采样定理为了验证频域采样定理,可以把原始采样序列每隔d-1点取一个值,形成一个新的序列。在matlab中,通过以下程序实现:clear all;close all;clc;x=-10:0.001:10;y=(sin(x)/x;x=fft(y,20);d=7;xd=x(1:d:le

温馨提示

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

评论

0/150

提交评论