怎么用matlab求无限长序列的离散时间傅里叶变换
本专栏内容与up主百度经验内容同步。
假设有一无限长序列x(n),怎么用matlab求其离散时间傅里叶变换呢?
假设有一无限长序列x(n),其表达式如图所示,其中u(n)表示单位阶跃函数。

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

根据离散傅里叶变换的两个重要性质:周期性和对称性。我们只需要求出[0,pi]频率点上对应的结果。将[0,pi]频率点均匀划分成300份,得到301个点,代码如下:
根据前述计算结果,写出变换代码:
注意由于是矩阵减法,这里需要使用ones。
求出幅度谱,并用subplot命令画出来,代码如下:

求出相位谱,并用subplot命令画出来,代码如下:

至此,我们获得了无限长序列x(n)的离散时间傅里叶变换及其在频域的信息。