Debut
Por que escribir
De un guión con baches y baches, finalmente se ejecuta con éxito. Alguna experiencia y algunos pequeños problemas desatendidos son realmente fatales. No puedo encontrar a nadie para decir. . . Estoy interesado en convertirme en programador. Actualmente estoy estudiando python \ matlab \ c en mi tercer año. Mi especialización es ciencia y tecnología de la información electrónica, y mi curso profesional se dedica a la comunicación, por lo que matlab se puede usar con más frecuencia. En el futuro, también puede compartir la experiencia en el proceso de desarrollo de FPGA, ¡espere y verá!
El primer código compartido
Al aprender la Transformada Rápida de Fourier, el algoritmo FFT es confuso e ininteligible, y es temporalmente difícil de aceptar. A través del estudio del programa para comprender, el programa resume su ley iterativa, obtiene su esencia; el
código de matlab FFT de muestreo de frecuencia se da a continuación. ps: fft es una función interna en matlab, la ayuda no te lo dice
function y=DIF_FFT(x)
%输入自然序,输出倒位序
m=ceil(log2(length(x)));
N=2^m;
if length(x)<N
x=[x,zeros(1,N-length(x))];
end
for mm=1:m %级数控制
Nmr=2^(m-mm); %与时域抽取不同,指数部分为:总级数-当前级
u=1;
N=exp(-i*2*pi/(2*Nmr));
for j=1:Nmr %控制不同的叠加系数
for k=j :2*Nmr:N %控制相同的系数有几次,每隔2*Nmr出现一个相同系数
kp=k+Nmr;
t=(x(k)-x(kp))*u;%一定要保留一个中间变量,否则修改xk与xkp
%蝶形的递推由上级的两个值确定
x(k)=x(k)+x(kp);
x(kp)=t;
end;
u=u*WN;
end
end
nxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1;
y=x(nxd);%将输出次序修正为自然序
# 简单地结束语
写文档是门手艺,我在排版上有点差,第一次也就不折腾了,码农嘛,算法和思想才关键。
留个QQ吧,寻找码农共同进修啊
My:2991447145