傅里叶矩阵
傅里叶矩阵可以看成是离散傅里叶变换的算子,
即对信号做一个 傅里叶变换,相当于对它左乘一个傅里叶矩阵。当然,具体计算应该用快速傅里叶变换。傅里叶矩阵在理论分析时具有重大作用。
傅里叶矩阵
的第k行相当于函数
在
点处的值。



因为
.
所以每一行表示不同的频率。
如第一行表示直流分量,第二行对应
,频率为1Hz。

第三行对应2Hz等等。
clear;
clc;
F=dftmtx(100);
subplot(3,1,1)
hold
on
x=(0:99)/100;
plot(x,real(F(1,:)));
plot(x,real(F(2,:)));
plot(x,real(F(3,:)));
legend(
'k=0'
,
'k=1'
,
'k=2'
)
从而傅里叶矩阵可以有效衡量一个信号的频率成分。
但在高频区,傅里叶矩阵因为是采样与连续型的函数有区别。
主要是采样的容量不够引起的。
subplot(3,1,2)
plot(x,real(F(50,:)));
legend(
'k=50'
)
subplot(3,1,3)
plot(x,cos(100*pi*x));
legend(
'continuous'
)
过采样的傅里叶变换
在许多应用中,如相位恢复等,需要过采样。

其中,K>N.
例如,取K=2N。
则F的第一行仍然表示直流分量。第二行表示0.5Hz。第三行1Hz,第四行1.5Hz.
A=dftmtx(200);
F_o=A(:,1:100);
figure(2)
plot(x,real(F_o(1,:)),x,real(F_o(2,:)),x,real(F_o(3,:)));
legend(
'k=0'
,
'k=1'
,
'k=2'
)
由于自相关性,许多傅里叶矩阵选择K=2N-1.
取N=100,则有如下结果
A1=dftmtx(199);
F1=A1(:,1:100);
figure(3)
plot(x,real(F1(1,:)),x,real(F1(2,:)),x,real(F1(3,:)));
legend(
'k=0'
,
'k=1'
,
'k=2'
)