基4-FFT算法编程Word格式.docx

上传人:wj 文档编号:6965283 上传时间:2023-05-07 格式:DOCX 页数:6 大小:317.20KB
下载 相关 举报
基4-FFT算法编程Word格式.docx_第1页
第1页 / 共6页
基4-FFT算法编程Word格式.docx_第2页
第2页 / 共6页
基4-FFT算法编程Word格式.docx_第3页
第3页 / 共6页
基4-FFT算法编程Word格式.docx_第4页
第4页 / 共6页
基4-FFT算法编程Word格式.docx_第5页
第5页 / 共6页
基4-FFT算法编程Word格式.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基4-FFT算法编程Word格式.docx

《基4-FFT算法编程Word格式.docx》由会员分享,可在线阅读,更多相关《基4-FFT算法编程Word格式.docx(6页珍藏版)》请在冰点文库上搜索。

基4-FFT算法编程Word格式.docx

基4-FFT是混合基FFT的一个特例。

通过编写基4-FFT算法程序,加深对FFT思路、算法结构的理解。

二、实验内容和步骤

编写16点基4-FFT算法的MATLAB程序(studentname.m文件)。

产生16点输入序列x,出生年月日(8位)+自己学号后八位产生。

算出16点频谱序列X,用stem(X)显示频谱图形。

三、主要仪器设备

用MATLAB。

四、操作方法和实验步骤

(参见“二、实验内容和步骤”)

五、实验数据记录和处理

5.1基4-FFT算法思路、流图结构简述如下

5.1.1.算法思路:

在时域上按n的特点对序列x(n)进行不断的以4为基数的分组以及位序调整,进而通过逐级的蝶形复合处理,间接地完成高点数DFT的计算,由此达到降低运算量以及节省存储空间的目的。

令序列x(n)的N点DFT结果为X(k),且有N=4m,按(n)4的结果对序列x(n)分组如下:

x0n=x4nX0k=DFT4m-1{x0(n)}

x1n=x(4n+1) X1k=DFT4m-1{x1(n)}

x2n=x(4n+2) X2k=DFT4m-1{x2(n)}

x3n=x(4n+3) X3k=DFT4m-1{x3(n)}

0≤n≤N4-1 0≤k≤N-1=4m-1

则有:

Xk=X0k+WNkX1k+WN2kX2k+WN3kX3k

Xk+4m-1=X0k-jWNkX1k-WN2kX2k+jWN3kX3k

Xk+2×

4m-1=X0k-WNkX1k+WN2kX2k-WN3kX3k

Xk+3×

4m-1=X0k+jWNkX1k-WN2kX2k-jWN3kX3k

5.1.2蝶形图如下:

对于N/4个点继续进行分组和蝶形复合处理,由原序列x(n)出发,完成位序调整后,经过m级蝶形复合便可求得序列X(k)。

总体过程如下图:

5.216点基4-FFT算法的流图绘出如下(后面省略了系数-1,-j,j,具体系数对应项见上一蝶形图)

-j

-1

j

5.316点基4-FFT算法的MATLAB程序(studentname.m)列出如下

x=[1,9,9,5,0,3,2,5,3,0,1,0,4,7,2,3];

X=fft4_16(x);

X1=fft(x);

n=1:

1:

16;

figure

(1)

stem(n,x,'

filled'

);

title('

InputSequence'

axis([017010]);

figure

(2)

stem(n,X,'

OutputSequence'

axis([017-2060]);

figure(3)

stem(n,X1,'

OutputFFTSequence'

function[X]=fft4_16(x)

X=zeros(1,16);

%初始化输出的频谱序列

N=16;

W=exp(-1j*2*pi/N);

W4=dftmtx(4);

%求出蝶形运算的系数矩阵

x0=[x

(1);

x(5);

x(9);

x(13)];

%先对原序列进行位序调整

x1=[x

(2);

x(6);

x(10);

x(14)];

x2=[x(3);

x(7);

x(11);

x(15)];

x3=[x(4);

x(8);

x(12);

x(16)];

X0=W4*x0;

%第一级蝶形运算

X1=W4*x1;

X2=W4*x2;

X3=W4*x3;

fork=0:

3%第二级蝶形运算

t=W4*[X0(k+1);

(W^k)*X1(k+1);

(W^(2*k))*X2(k+1);

(W^(3*k))*X3(k+1)];

X(k+1)=t

(1);

X(k+4+1)=t

(2);

X(k+2*4+1)=t(3);

X(k+3*4+1)=t(4);

end

5.4用自己的学号构成的输入序列为(列出数值,插入图形)

x1=[1,9,9,5,0,3,2,5,3,0,1,0,4,7,2,3];

5.5对应的输出频谱序列为(列出数值,插入图形)

X={54.0000+0.0000i13.5682-6.7903i1.4142-3.1716i-13.2930-19.4368i

-6.0000-6.0000i-2.0207-0.1231i-1.4142+8.8284i-6.2545-3.4765i

-10.0000-0.0000i-6.2545+3.4765i-1.4142-8.8284i-2.0207+0.1231i

-6.0000+6.0000i-13.2930+19.4368i1.4142+3.1716i13.5682+6.7903i}

六、实验结果与分析

1.基4-FFT计算结果与matlab自带fft函数计算结果对比

以下是matlab自带fft函数的计算结果

由上述序列和图像比较可以看到,matlab自带的函数fft所得结果与我的基于4-FFT算法和代码所得结果是一直的,说明我的基于4-FFT算法和代码是正确的,此外可以看出,基于4与基于2(matlab)的FFT算法的运算结果是一致,即其本质是一致的。

6

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2