如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(精品word)基-4FFT和分裂基FFT的MATLAB仿真实现,与Walsh变换比较
(精品word)基-4FFT和分裂基FFT的MATLAB仿真实现,与Walsh变换比较
(精品word)基-4FFT和分裂基FFT的MATLAB仿真实现,与Walsh变换比较
HarbinInstituteofTechnology
数字信号处理作业
院系:电信学院通信工程系
姓名:
学号:
哈尔滨工业大学
作业一:在MATLAB上完成4096点的基—4FFT和分裂基FFT的运算程序
一、4096点的基—4FFT
1、假设被分析信号为一个四频信号,
对该信号在时间上每隔采样一次,共取4096个采样点,得到长度为的序列,对离散序列做基-4FFT。
2、基-4FFT的MATLAB仿真结果
在对基—4FFT的结果进行仿真时,为了验证其正确性,使用了MATLAB中自带的fft函数对分析信号进行基-2FFT变换,与基-4FFT变换的结果进行对比.
图1-14096点的基—4FFT的频谱图
图1—1是MATLAB中基-4FFT的仿真结果,从图中明显可以看出,四频信号的基—4FFT计算出的频谱图与基-2FFT计算出的频谱完全相同,证明了基—4FFT程序正确.
3、基-4FFT的MATLAB程序
clc;
clear;
N=4096;%DFT的点数
%———生成四频的分析信号-——-—-——
t=0:4095;
x=sin(1*pi/2*t)+sin(2*pi/3*t)+sin(3*pi/4*t)+sin(4*pi/5*t);%四频的信号
subplot(3,1,1);
plot(x);
axis([04096-44]);
title('分析信号的时域波形');
subplot(3,1,2);%绘制基-2FFT的频谱图,用于比较
plot(abs(fft(x)));
axis([0409603000]);
title(’matlab中基—2FFT下的频谱’);
M=log(N)/log(4);%基4FFT的分解级数,M=log4(N)
Wn=exp(-2j*pi/N); %旋转因子
temp=zeros(1,N); %中间临时数组,用于存储各级蝶形运算计算结果
%————--—-四进制逆序—---————
n=0:N-1;
screen=ones(1,N);
n=bitor(bitand(n,screen*hex2dec(’cccc'))/4,bitand(n,screen*hex2dec(’3333'))*4);
n=bitor(bitand(n,screen*hex2dec(’f0f0’))/16,bitand(n,screen*hex2dec('0f0f'))*16);
n=bitor(bitand(n,screen*hex2dec('ff00'))/256,bitand(n,screen*hex2dec(’00ff’))*256);
n=n/4^(8-M)+1;
forn1=1:N
temp(n(n1))=x(n1);
end
x=temp;
%
forL=1:M %运算级之间的循环
group_cont_2=4^(M-L); %第L级数据分组数
group_cont_1=4^(M—L+1); %第L—1级数据分组数
group_interval_2=4^L; %第L级组间数据间隔个数,也是组内数据个数
group_interval_1=4^(L—1);%第L-1级组间数据间隔个数,也是组内数据个数
G=group_cont_2-1; %分组上限
K=group_interval_1-1;%组内数据上限
forg=0:G%每一级中包含的组循环,遍历每一组,计算各组中的数据
fork0=0:K %遍历每一组中的所有数据,计算次级数据
k=k0+g*group_interval_2+1;%每组数据中第一个数据序号
m=group_cont_2*k0; %每一级所乘旋转因子的指数因子
k1=k;%每组数据中四个数据的序号
k2=k1+group_interval_1;
k3=k2+group_interval_1;
k4=k3+group_interval_1;
X1=x(k1);
X2=Wn^m*x(k2);
X3=Wn^(2*m)*x(k3);
X4=Wn^(3*m)*x(k4);
temp(k1)=X1+X2+X3+X4;%递推公式计算结果
temp(k2)=X1-1j*X2-X3+1j*X4;
temp(k3)=X1-X2+X3-X4;
temp(k4)=X1+1j*X2—X3-1j*X4;
end
end
x=temp; %将temp中临时存储的第L级计算结果赋值给x
%
17****21
实名认证
内容提供者
最近下载