离散傅里叶变换(DFT)
已知序列x(n)={1 2 4 3},试用MATLAB求其离散傅里叶变换X(k),然后再求X(k)的离散傅里叶反变换x(n),并对结果进行比较。
dft与dftmtx均可实现傅里叶变换后者可以看作是傅里叶变换所形成的正交基
y=dftmtx(4)*x与y=dft(x)等价,dftmtx产生的矩阵元素均为旋转因子的行列倍(也就是系数,都需要后面再乘一个x)
A.’ 表示求A得非共轭转置矩阵, A’ 表示求A得共轭转置矩阵,在下述应用无所谓因为不包含虚数部分。
rand(m,n)表示产生0-1之间的m行n列的随机数
display()为显示函数,将括号内内容所指代的对象显示到命令窗口去
conj为做共轭
利用dft求idft两个方法
%其一:先将X(K)取共轭,再直接调用FFT,在对运算结果取共轭并乘以常数1/N
%其二:先调用FFT计算X(K)的DFT,然后把运算结果翻褶后平移N位,最后乘以常数1/N
display (xn)显示函数,将xk的内容以xk= XXX 显示到命令窗口,去掉括号就直接显示xk
%计算DFT
xn=[1 2 4 3]';%矩阵A'作用为求A得共轭转置矩阵,A.'为求A的非共轭转置矩阵
%x=rand(4,1);y=dftmtx&