怎么用matlab求无限长序列的离散时间傅里叶变换

时间:2024-11-08 02:41:27

1、假设有一无限长序列x(n),其表达式如图所示,其中u(n)表示单位阶跃函数。

怎么用matlab求无限长序列的离散时间傅里叶变换

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

怎么用matlab求无限长序列的离散时间傅里叶变换

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

怎么用matlab求无限长序列的离散时间傅里叶变换

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

怎么用matlab求无限长序列的离散时间傅里叶变换

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

怎么用matlab求无限长序列的离散时间傅里叶变换

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

怎么用matlab求无限长序列的离散时间傅里叶变换
© 手抄报圈