编写 matlab怎么调用 8 点和 16 点的 fft,8点基于DIT的FFT的实现
七月份工作總結暨八月份營銷方案 (10) X[m]?X1[m]?W8mX2[m],m?0,1,2,3,4,5,6,7
圖1-4 16點蝶形運算圖
2 程序代碼 2.1 計算8點FFT代碼
function y=fft8(x)%根據蝶形圖計算8點FFT
頁腳內容5
七月份工作總結暨八月份營銷方案
wn=exp(-j*2*pi/8);%旋轉因子 x1(1)=x(1)+x(5);%計算蝶形圖第一級 x1(2)=x(1)-x(5); x1(3)=x(3)+x(7); x1(4)=x(3)-x(7); x1(5)=x(2)+x(6); x1(6)=x(2)-x(6); x1(7)=x(4)+x(8); x1(8)=x(4)-x(8);
x2(1)=x1(1)+x1(3);%計算蝶形圖第二級x2(2)=x1(2)+x1(4)*(wn.^2); x2(3)=x1(1)-x1(3); x2(4)=x1(2)-x1(4)*(wn.^2); x2(5)=x1(5)+x1(7); x2(6)=x1(6)+x1(8)*(wn.^2); x2(7)=x1(5)-x1(7); x2(8)=x1(6)-x1(8)*(wn.^2);
頁腳內容6
七月份工作總結暨八月份營銷方案
y(1)=x2(1)+x2(5);%計算蝶形圖輸出 y(2)=x2(2)+x2(6)*(wn.^1); y(3)=x2(3)+x2(7)*(wn.^2); y(4)=x2(4)+x2(8)*(wn.^3); y(5)=x2(1)-x2(5); y(6)=x2(2)-x2(6)*(wn.^1); y(7)=x2(3)-x2(7)*(wn.^2); y(8)=x2(4)-x2(8)*(wn.^3);
2.2計算16點FFT代碼 function y=fft16(x)點FFT wn=exp(-j*2*pi/16);
y1=fft8(x(1:2:16));%計算偶數組的8點fft y2=fft8(x(2:2:16));%就算奇數組的8點fft y(1:8)=y1+y2.*(wn.^[0:7]); %計算前八個點 y(9:16)=y1-y2.*(wn.^[0:7]);%計算后八個點
頁腳內容7
七月份工作總結暨八月份營銷方案
3上機過程 3.1編寫8點FFT函數
運行matlab,新建m文件,進入編輯器輸入程序后保存為fft8,注意文件名與函數名相同。在matlab命令窗口中輸入fft8([1:8]),按回車,運行結果如下 fft8([1:8]) ans =
Columns 1 through 5
36.0000 -4.0000 + 9.6569i -4.0000 + 4.0000i -4.0000 + 1.6569i -4.0000 Columns 6 through 8
-4.0000 - 1.6569i -4.0000 - 4.0000i -4.0000 - 9.6569i 3.2調用系統函數
在命令窗口輸入 fft([1:8])后按回車,通過調用系統函數fft計算8點fft,計算結果與上面一致,結果如下:
頁腳內容8
總結
以上是生活随笔為你收集整理的编写 matlab怎么调用 8 点和 16 点的 fft,8点基于DIT的FFT的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 数据显示格式,php数据格式
- 下一篇: php 自带sql防注入函数,php 最