线性变换+DFT+滤波
最近又点开了一个关于傅立叶变换的文章,里面通过动画的形式展示了如何将一个时域的输入信号展开成多个正余弦信号的叠加。看起来好像醍醐灌顶,懂了,然后又忘了。
其实,仔细想了想,傅立叶变换变的是坐标系。我们拿离散数据来讲,时域的输入信号其实是一个处于标准坐标系内的(列)向量 x ∈ R N × 1 \mathbf{x} \in \mathbb{R}^{N\times 1} x∈RN×1, 而傅立叶变换就是通过线性变换的方式改变坐标系,形成一个新的向量: x ^ = F x \hat{\mathbf{x}} = \mathbf{F}\mathbf{x} x^=Fx。
让我们先回顾一下矩阵线性变换吧,具体可以看之前的文章:矩阵于线性代数。
线性变换
假设我们有一个向量 v = [ 1 ; 2 ] \mathbf{v} = [1; 2] v=[1;2],通常,1和2表示的是这个向量在标准坐标系两个轴上的投影,而这个标准的坐标系也是可以用矩阵, M \mathbf{M} M,来表示: M = [ 1 0 0 1 ] \mathbf{M} = \begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix} M=[1001]。如果这个向量是基于另一个坐标系的,比方说: [ 0 − 1 1 0 ] \begin{bmatrix}0 & -1\\ 1 & 0\end{bmatrix} [01−10] (坐标系逆时针旋转90度),我们可以通过以下计算,求出这个向量在标准坐标系下的投影:
v