傅立叶变换矩阵的频谱响应
线性变换可以用矩阵表示,傅立叶变换是一种线性变换,因此也可以使用矩阵表示。具体可以参考:离散傅立叶变换和线性变换的关系:什么是线性空间?
1、傅立叶矩阵
X [ k ] = ∑ n = 0 N − 1 x [ n ] e − j k 2 π N n (1) X[k] = \sum_{n=0}^{N-1} x[n]e^{-j k \frac{2\pi}{N} n} \tag{1} X[k]=n=0∑N−1x[n]e−jkN2πn(1)
x [ n ] = 1 N ∑ n = 0 N − 1 X [ k ] e j k 2 π N n (2) x[n] = \frac{1}{N}\sum_{n=0}^{N-1} X[k]e^{j k \frac{2\pi}{N} n} \tag{2} x[n]=N1n=0∑N−1X[k]ejkN2πn(2)
import numpy as np
def F(N):F = []for k in range(N):row_k =[]for n in range(N):row_k.append(np.exp(-1j*2*np.pi/N*k*n))F.append(row_k)return np.array(F)N = 100
x = np.zeros((N,1))
x[0] = 1
X_dft = F(N)@x
X_fft = np.fft.fft(x.T).T
np.linalg.norm(X_dft-X_fft)
In [18]: X_dft.T
Out[18]:
array([[1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j,1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j]])
2、傅立叶变换的频谱响应
一个冲激通过傅立叶变换得到一个常数函数。这个和白噪声的频谱响应是冲激函数是一致的。
因此傅立叶变换的响应是 h ( t ) = 1 h(t)=1 h(t)=1。
系统函数 H ( w ) = N δ ( w ) H(w) = N\delta(w) H(w)=Nδ(w)
3、平稳随机信号经过线性系统
因此一个平稳随机信号的离散傅立叶变换的均值为 a N aN aN