信号与系统 MATLAB 仿真的常用实现 本篇应付考试而采用比较原始的写法,整齐些的设计见另一篇(后来发现没啥用):Gralerfics:MATLAB 简易时域频域信号处理工具类 信号表示 用向量表示值,并再用一个向量(或其他)维护其定义域。 信号卷积(conv) 计算两向量的卷积。 在实际信号处理当中要注意维护信号的定义域,卷积所得结果的定义域为二者左界和到右界和。 差分方程表示的系统响应(filter) 其中向量
与
的定义见后,
为系统输入信号,
即为所求响应。 对于差分方程表示的因果线性时不变系统
MATLAB 中规定
即按照
之系数的顺序排列。 微分方程表示的系统响应(lsim) 其中向量
与
的定义见后,
为系统输入信号,
为时域采样点向量,
即为所求响应,每个素对应于
中指示的采样点位置。 对于微分方程表示的因果线性时不变系统
MATLAB 中规定
即按照
之系数的顺序排列。 差分方程表示的系统频率响应(freqz) n 为采样点个数,只要传入个数是因为区间固定了(响应是周期的),加上那个 whole 就是
,不加就是一半。采样位置还会通过 omega 返回。 微分方程表示的系统频率响应(freqs) 这里需要主动传入采样点集 omega,返回频率响应 H。 上述系统的另一种表示方法——有理传递函数 例如 lsim 函数对于用传递函数
描述的系统,MATLAB 中规定(其他函数中可能不同!)
即按照多项式高次到低次系数的顺序排列。 如 freqz、freqs、filter、lsim 等输入 b 和 a 的函数都有类似用法,要注意各自的系数顺序有些不同。 不高兴整理了,MATLAB 自带帮助里都有,例如:help freqz。多看文档! 快速傅里叶(逆)变换(fft、ifft) 离散傅里叶级数 总之 fft 函数可以用于求解离散傅里叶级数,原因有空补一篇相关快速傅里叶变换的。 刚好嘛,fft 函数接收长度为 N 的向量,返回长度为 N 的向量;并且要注意的是,传入 fft 的向量是信号从原点开始的一个周期长度的值。 fft 函数计算的东西用公式表示下就是这个:
} x[n] e^{-j k \omega_0 n} \\” eeimg=”1″> 而我们知道离散傅里叶级数的公式是这个:
} x[n] e^{-j k \omega_0 n} } \\” eeimg=”1″> 所以利用 fft 求解离散傅里叶级数就用下面这句(即除一个
): 连续傅里叶变换 对于
,我们对其采样,取一个
。我们记
为采样点的序数(也就是
的自变量),
则代表每个采样点之间相隔在时域上的实际距离,于是有
,且
图就不画了,就是在连续的
上取一堆均匀间隔的点变成离散的
。我们总共取
个点,则原周期长度
。 将傅里叶变换的定义式拆解为黎曼和
因为无法模拟无限精度,于是我们用上面提及的
来逼近
以获得傅里叶变换的近似值
所以实际上
才决定了模拟结果与真实结果的逼近程度,而
决定了对结果的采样精度。 而上面提到 fft 函数计算的就是上式的橙色部分。于是代码就这么写: 所以我们实际上是将连续非周期信号采样,并复制延拓为离散周期信号,求得其同样离散周期的傅里叶变换。我们实现中没有特意进行复制延拓等过程,因为 fft、ifft 函数就是将输入作为一个周期的周期信号来处理 接下来考虑变换到频域后定义域的问题(画图等需要)。我们近似后的函数自变量变成了
:
在实际的坐标轴上是这样一个映射关系:
,所以在确定频域变换结果的实际定义区间时,每个采样点的间隔为
。 例如,如果是经过 fftshift(见下)的结果,绘制到图上,横轴可以使用
即 逆变换 逆变换同理,同样要注意传入的向量应代表原点开始的一段频谱周期。 对于逆变换的定义区间问题,我们就把上文的结论反一下即可:
还要注意的一点就是 ifftshift 与 fftshift 的使用,具体见下即可。 循环位移(circshift、fftshift、ifftshift) 该函数将
向量向右循环位移(右侧补到左侧来)
个单位(负数代表向左),可用于求解已知某个周期的周期函数从
开始的一个周期。 该函数将 fft 函数的结果循环位移一半长度,作用是将原点的傅里叶变换值移到向量的中间,一般用于展示。 该函数将被 fftshift 位移后的傅里叶变换值移回去,作用是保证正确地传入 ifft 函数。综合一下,进行一次傅里叶变换并且位移再还原的例子:ifft(ifftshift(fftshift(fft(x))))。 具体原因与 fft 和 ifft 要求的输入有关,具体见上。 计时(tic、toc、timeit) toc 的值即上次 tic 后执行到此的耗时。 f 是函数类型,例如使用匿名函数。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/59359.html