1、4.5 快速傅里叶变换4.5.1 4.5.1 离散傅里叶变换离散傅里叶变换1 1.利用得2 2.以此类推,傅里叶变换的逆变换为即F4的逆矩阵为3 3.说明4 4.54.5.2 4.5.2 傅里叶级数与傅里叶积分(阅读)傅里叶级数与傅里叶积分(阅读)书上这些内容仅供有兴趣的读者参考。傅里叶级数:将变量范围为无限的连续的周期函数变换成无限的离散的傅里叶频谱序列。傅里叶积分:对变量范围为无限的连续的非周期函数变换成无限的连续的傅里叶频谱序列。离散时间傅里叶变换:将无限长数据序列变换为周期函数。.6 6.7快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法。4.5.3 4.5.3 快速傅里叶
2、变换的指令快速傅里叶变换的指令.指令及语句格式:();(,)1.一维的FFT及其逆变换8 8.指令及其语句格式:()2.二维的FFT及其逆变换9 9.X=4,0,3,6,2,9,6,5;Y=fft(X)Y=35%零频分量-5.0711+8.6569i-3+2i 9.0711+2.6569i -5%尼奎斯特频率分量 9.0711-2.6569i-3 -2i-5.0711-8.6569i例共轭分量一维傅里叶变换1010.取样频率1000Hz,取样间隔1/1000s=1ms取样数250 总取样时间0.25S建立时间轴:从0到0.25s构造正弦波的信号 包含频率50Hz与100Hzt=0:0.001:
3、.25;x=sin(2*pi*50*t)+sin(2*pi*120*t);y=x+2*randn(size(t);%噪声信号plot(y(1:50)title(Noisy time domain signal)例1111.Y=fft(y,256);Pyy=Y.*conj(Y)/256;f=1000/256*(0:127);plot(f,Pyy(1:128)title(Power spectral density)xlabel(Frequency(Hz)1212.例t=0:1/100:10-1/100;x=sin(2*pi*15*t)+sin(2*pi*40*t);y=fft(x);m=abs(
4、y);f=(0:numel(y)-1)*100/numel(y);plot(f,m)grid onylabel(Abs.Magnitude)xlabel(Frequency Hertz)指令numel:计算列阵中的元素总数。1313.通过分析300年左右的太阳黑子活动的记录资料可以发现每过11年就会达到一个极大值。Wolfer数图:太阳黑子的数目与面积例放大的前50年的数据分析太阳黑子活动的周期性1414.图片取自维基百科1515.傅里叶系数Y在复平面上的分布Y=fft(wolfer);Y(1)=;plot(Y,ro)title(Fourier Coefficients in the Comp
5、lex Plane);xlabel(Real Axis);ylabel(Imaginary Axis);用FFT对太阳黑子数据处理:1616.4.5.3 快速傅里叶变换的指令画振幅相对于频率的周期图将周期图的横坐标改变为倒数,即将(周期/年)改为(年/周期)可以清楚看出11年的周期。n=length(Y);power=abs(Y(1:floor(n/2).2;freq=(1:n/2)/n;plot(freq,power)xlabel(cycles/year)title(Periodogram)1717.18FFT:利用离散傅里叶变换的对称性和允余性的快速算法。4.5.4 4.5.4 快速傅里叶变换的算法(阅读)快速傅里叶变换的算法(阅读).注意到:重新组合现在要8次加法和6次乘法,原来要12次加法和16次乘法。4点的DFT变成了2点的对奇数数列和偶数数列的变换。1919.2020.用这种递归分解与解决的方法来计算DFT就叫FFT。总结:2121.第四章完.