Harbin Institute of Technology数字信号处理作业院 系: 电信学院 通信工程系 姓 名: 学 号: 哈尔滨工业大学作业一:在 MATLAB 上完成 4096 点的基—4FFT 和分裂基 FFT 的运算程序一、4096 点的基—4 FFT1、假设被分析信号为一个四频信号,对该信号在时间 上每隔 采样一次,共取 4096 个采样点,得到长度为 的序列 ,对离散序列做基-4 FFT。2、基-4 FFT 的 MATLAB 仿真结果 在对基—4 FFT 的结果进行仿真时,为了验证其正确性,使用了 MATLAB 中自带的 fft 函数对分析信号进行基-2 FFT 变换,与基-4 FFT 变换的结果进行对比.05001000150020002500300035004000-4-2024分 析 信 号 的 时 域 波 形050010001500200025003000350040000100020003000matlab-2 FFT中 基下 的 频 谱050010001500200025003000350040000100020003000-4 FFT基下 的 频 谱图 1-1 4096 点的基—4 FFT 的频谱图 图 1—1 是 MATLAB 中基-4 FFT 的仿真结果,从图中明显可以看出,四频信号 的基—4 FFT计算出的频谱图与基-2 FFT 计算出的频谱完全相同,证明了基—4 FFT 程序正确.3、基-4 FFT 的 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([0 4096 -4 4]);title('分析信号的时域波形'); subplot(3,1,2); %绘制基-2 FFT 的频谱图,用于比较plot(abs(fft(x))); axis([0 4096 0 3000]);title(’matlab 中基—2 FFT 下的频谱’); 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; for n1=1:N temp(n(n1))=x(n1); end x=temp; %for L=1:M %运算级之间的循环 ...