- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 用MATLAB计算傅立叶变换
(2课时)
实验目的
1、掌握用MATLAB计算DTFT及系统频率响应的方法。
2、掌握用MATLAB计算DFT和IDFT的方法。
3、掌握用DFT计算圆周卷积和线性卷积的方法。
实验设备
计算机一台,装有MATLAB软件。
实验原理和基本操作
1.用MATLAB计算DTFT
对于序列x(n),其离散时间傅立叶变换(DTFT)定义为:
(1)
序列的傅立叶变换(DTFT)在频域是连续的,并且以=2π为周期。因此只需要知道的一个周期,即=[0,2π],或[-π,π]。就可以分析序列的频谱。
用MATLAB计算DTFT,必须在-π≤≤π范围内,把用很密的、长度很长的向量来近似,该向量中各个值可用下式表示:
w=k*dw=k* (2)
其中:d= 称为频率分辨率。它表示把数字频率的范围2π均分成K份后,每一份的大小,k是表示频率序数的整数向量,简称为频序向量,它的取值可以有几种方法:通常在DTFT中,频率取-π≤л的范围,当K为偶数时,取
k
如果K为奇数,则取
k
可以为奇偶两种情况综合出一个共同的确定频序向量k的公式;
k= : (3)
上式中表示向下取整。
在MATLAB中的向下取整函数为floor,floor(x)的作用是把x向下(向-方向)取整,所以与(3)式等价的MATLAB语句为
k (4)
给定了输入序列(包括序列x及其位置向量n),又设定了频率分辨率d及频序向量k,则DTFT的计算式(1)可以用一个向量与矩阵相乘的运算来实现。
(5)
如果频率向量表为=[,,……,]=k*d,而序列的位置向量为nx=[n1:nN],则(5)式中的矩阵的指数部分可以写成-j*nT*,用MATLAB语句表达时,把代以w,转置符号nT换成MATLAB中的相应符号n,则求DTFT的程序可以写成:
例1 求有限序列x=[2,-1,1,1]的DTFT,其位置向量为nx=[0:3]。
假如取64个频点,画出它在-ππ范围内的幅频和相频特性。程序如下:
x=[2,-1,1,1];nx=[0:3];K=64;dw=2*pi/K;
k=floor((-K/2+0.5):(K/2-0.5)); % 设定频序向量
%w=linspace(-8,8,1000);
X=x*exp(-j*dw*nx*k) % 用(1)式计算DTFT
subplot(2,1,1); plot(k*dw,abs(X)), % 画幅频曲线
subplot(2,1,2) ;plot(k*dw,angle(X)), % 画相频曲线
2. 用MATLA B计算系统频率响应
MATLA B中用于求系统频率响应的函数是freqz,其功能是:由给定的系统函数H(Z)的分子和分母的系数向量绘制系统的幅度和相位响应。
调用格式:
[H,w]=freqz(b,a,N),或N缺省[H,w]=freqz(b,a),此时N取默认值512。
H是系统的频率特性,它是一个N元的复数向量。w是数字频率向量,它把0到π均分为N份,分辨率为π/N,w =[0:N-1]π/N。
b和a分别为分子分母多项式的负幂系数向量,即多项式的首项是常数项,以后按e
的升幂排列,由此形成的多项式的系数向量。
N为所选的频率点数,它决定了频率分辨率的密度。
这样求出的频率特性是在0≤π之间的特性,如果要让MATLAB计算全频率0≤2π范围的频率特性,要增加一个输入变元’whole’: [H,w]=freqz(b,a,N,’whole’),此时w的范围是0到2π(不含2π)。
若没有左端变量,即键入freqz(b,a,N),MATLAB将不给出数据H和w而只绘出频率特性曲线。若在输入变元中给出频点向量w: freqz(b,a,w),这种调用方法可以在自己选定的频点向量w上计算频率特性。
例2:设一个LTI系统的差分方程为y(n)-0.9y(n-1)=0.5x(n)+0.8x(n-1)
求其频率响应。
可直接写出H(e)=
用下面的程序可绘出幅频和相频特性曲线。
b=[0.5 0.8]; % 分子多项式系数向量
a=[1 -0.9]; % 分母多项式系数向量
[H,w]=freqz(b,a); % 求出频率响应(0到pi分成500点)
subplot(2,1,1),plot(w,abs(H)),grid on
xlabel(频率),ylabel(幅度dB)
subplot(2,1,2),plot(w,angle(H)),grid on
xlabel(频率),ylabel(相角(度))
3. 用MATLAB计算DFT和IDFT
可以利用MATLAB提供的计算快速傅
文档评论(0)