基于Matlab的时间抽取基2FFT算法

基于Matlab的时间抽取基2FFT算法
基于Matlab的时间抽取基2FFT算法
function y=myditfft(x)
%本程序输入序列实现DIT-FFT基2算法,点数取大于等于长度的2的幂次
%------------------------------------
%            Leo's fft program(改编网上的一个程序)
%------------------------------------
m=log2(2^nextpow2(length(x)));                %求的x长度对应的2的最低幂次m
N=2^m;
if length(x)<N
    x=[x,zeros(1,N-length(x))];              %若长度不是2的幂,补0到2的整数幂
end
x;
天网防火
%--------------------------------------------------------------------------
%对输入序列进行倒序
%如果输入序列的自然顺序号I用二进制数(例如n2n1n0)表示
147rt%则其倒位序J对应的二进制数就是(n0n1n2),这样,在原来自然顺序时应该放x(I)的
%单元,现在倒位序后应放x(J)。
%--------------------------------------------------------------------------
%以下程序相当于以下程序:
%nxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1;    %求1:2^m数列的倒序
%y=x(nxd);                                    %将倒序排列作为初始值
%--------------------------------------------------------------------------
信息技术与信息化期刊NV2=N/2;
艺术体操音乐NM1=N-1;
I=0;
J=0;热女
while I<NM1
    if I<J
        T=x(J+1);
        x(J+1)=x(I+1);
        x(I+1)=T;
    end
    K=NV2;
   
    while K<=J
        J=J-K;
        K=K/2;
    end
    J=J+K;
    I=I+1;
end             
x;
%--------------------------------------------------------------------------
%以下程序解释:
%第一级从x(0)开始,跨接一阶蝶形,再取每条对称
%第二级从x(0)开始,跨接两阶蝶形,再取每条对称
%第m级从x(0)开始,跨接2^(m-1)阶蝶形,再取每条对称....
中年空巢%--------------------------------------------------------------------------
for mm=1:m                                    %将DFT做m次基2分解,从左到右,对每次分解作DFT运算
    Nmr=2^mm;
    u=1;                                      %旋转因子u初始化
    WN=exp(-j*2*pi/Nmr);                      %本次分解的基本DFT因子WN=exp(-i*2*pi/Nmr)
      for n=1:Nmr/2                          %本次跨越间隔内的各次碟形运算
          for k=n:Nmr:N                      %本次碟形运算的跨越间隔为Nmr=2^mm
              kp=k+Nmr/2;                    %确定碟形运算的对应单元下标(对称性)
              t=x(kp)*u;                      %碟形运算的乘积项
              x(kp)=x(k)-t;                  %碟形运算的加法项
              x(k)=x(k)+t;
          end
          u=u*WN;                            %修改旋转因子,多乘一个基本DFT因子WN
      end
   

本文发布于:2024-09-21 15:23:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/486283.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运算   碟形   程序   对应   输入   序列   因子
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议