怎么用matlab求无限长序列的离散时间傅里叶变换
1、假设有一无限长序列x(n),其表达式如图所示,其中u(n)表示单位阶跃函数。

2、我们首先根据离散时间傅里叶变换的定义把结果求出来,如图所示。求解时主要用到了等比级数求和。

3、根据离散傅里叶变换的两个重要性质:周期性和对称性。我们只需要求出[0,pi]频率点上对应的结果。将[0,pi]频率点均匀划分成300份,得到301个点,代码如下:
w = [0:1:300]*pi/300;

4、根据前述计算结果,写出变换代码:
X = exp(j*w)./(exp(j*w)-0.5*ones(1,301));
注意由于是矩阵减法,这里需要使用ones。

5、求出幅度谱,并用subplot命令画出来,代码如下:
magX = abs(X);
subplot(1,2,1)
plot(w,magX)

6、求出相位谱,并用subplot命令画出来,代码如下:
angX = angle(X);
subplot(1,2,2)
plot(w,angX)
至此,我们获得了无限长序列x(n)的离散时间傅里叶变换及其在频域的信息。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:73
阅读量:188
阅读量:181
阅读量:159
阅读量:136