⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signal.m

📁 FFT算法
💻 M
字号:
F=input('输入信号的频率:');N=input('输入采样长度:');T=input('输入采样间隔时间:');state=input('是否补零? "1"代表是, "0"代表否:');if state    num=input('输入补零的个数:');endx=0:T:T*(N-1);A=sin(2*pi*F*x);if state    A=[A,zeros(1,num)];end %补零%以上是信号的产生,下面是按时间抽取的FFT算法N=length(A);M=log2(N);AA=ones(1,N); %验证位,供码位倒置时使用for a=0:N-1    b=dec2bin(a,M);    b=fliplr(b);    b=bin2dec(b);    if AA(a+1)&&AA(b+1) %已倒置的位标0,未倒置的标0        temp=A(a+1);A(a+1)=A(b+1);A(b+1)=temp;        AA(a+1)=0;AA(b+1)=0;    endend %码位倒置od=1:N;mul=1;for a=1:M    for b=1:mul        k(b)=(b-1)*N/(mul*2);    end %碟形系数中W因子的指数    mul=mul*2;    m=1;    for b=1:2:N-1        if m>length(k)            m=1;        end        temp=A(od(b));        A(od(b))=temp+A(od(b+1))*exp(-j*2*pi/N*k(m));        A(od(b+1))=temp-A(od(b+1))*exp(-j*2*pi/N*k(m));        m=m+1;    end %一级FFT运算    od1=1:N;    for b=1:2:N-1        c=od1(1);d=c+mul;        od(b)=od1(1);od(b+1)=d;        od1(1)=[];od1(find(od1==d))=[];    end %FFT运算序列中点的运算顺序    k=[];end%以下是频谱的模特性图t=0:N-1;A=abs(A); %取模A=A./max(A); %归一化stem(t,A)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -