Hi, All!
где можно взять алгоритмы быстрого преобразования фурье. ассемблер. авр (тини, желательно).
практическое применение не плаируется, просто очень (очень-очень) интересно. желательно с *.пдф даташитом.
Oleg
Hi, All!
где можно взять алгоритмы быстрого преобразования фурье. ассемблер. авр (тини, желательно).
практическое применение не плаируется, просто очень (очень-очень) интересно. желательно с *.пдф даташитом.
Oleg
Hi, Oleg Dozhdev
Если просто интересно, то вот:
unit BPF;
interface
type TDoubleArray = array of Double;
var DoubleArray:TDoubleArray;
procedure BPF_Pr(var MasIn: TDoubleArray);
implementation
procedure BPF_Pr(var MasIn: TDoubleArray); const ss: array [1..12] of real =(0,-1,-0.7071,-0.38268,-0.19509,-0.09802,-0.04907, -0.02454, -0.01227, -0.0061, -0.00307, -0.001539); cc: array [1..12] of real =(-1,0,0.7071068,0.9238795,0.9807853,0.9951847,0.9987955, 0.9996988,
0.9999247, 0.9999812, 0.9999953, 0.999999); var n,r,i,k,ni,l,m,j,g,n1,n2:Integer; x,ci,s,v,w,z,u,y,nn:Double; a,b: array of double; begin n:=Length(MasIn); case n of 256: r:=8; 512: r:=9; 1024: r:=10; 2048: r:=11; 4096: r:=12; else Exit; // не поддерживается типа end; n1:=n div 2; n2:=n1+1; nn:=1/n; SetLength(a,n+1); SetLength(b,n+1); for i:=1 to n do a[i]:=MasIn[i-1]; for i:=1 to n do b[i]:=0; ni:=n1; k:=n2; for i:=2 to n-1 do begin if i<k then begin x:=a[k]; a[k]:=a[i]; a[i]:=x; end; l:=ni; while l<k do begin k:=k-l; l:=l div 2; end; k:=k+l; end; m:=1; l:=n1; for i:=1 to r do begin ci:=cc[i]; s:=ss[i]; v:=1; w:=0; for j:=1 to m do begin for k:=1 to l do begin ni:=j+2*(k-1)*m; g:=ni+m; z:=a[g]; u:=b[g]; x:=z*v+u*w; y:=u*v-z*w; z:=a[ni]; u:=b[ni]; a[ni]:=z+x; b[ni]:=u+y; a[g]:=z-x; b[g]:=u-y; end; x:=v*ci-w*s; w:=w*ci+v*s; v:=x; end; m:=m shl 1; l:=l shr 1; end; for i:=1 to n1 do begin a[i]:=a[i]*nn; b[i]:=b[i]*nn; MasIn[i-1]:=sqrt(a[i]*a[i]+b[i]*b[i]); end; SetLength(a,0); SetLength(b,0); end;end.
Numerical recipes in C. Там, вроде и исходник и разжёвано всё. Да и вообще google.
ДАЙТЕ ДЕНЕГ!
PDF даташиты ищутся как application notes. Там тоже разжёвано, с исходниками. У Texas Instruments, например. Да у всех кто что-то с претензией на DSP делает.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.