Nächste Seite: 9.9 Unit KoherU
Aufwärts: 9. Programmlisting
Vorherige Seite: 9.7 Unit FFTU
  Inhalt
{-------------------------------------------------------------------}
{ Eindimensionale Fast Fourier Transformation mit Coprozessor }
unit XFFT;
{$N+,E+}
{ Achtung : die Unit XFFT benoetigt waehrend der Kompilation die
Datei FASM.OBJ ! }
{-------------------------------------------------------------------}
interface
uses
Glob; { Globale Deklarationen }
{-------------------------------------------------------------------}
procedure CoSiTab(n : integer); { Muss vor dem ersten Aufruf von
FFTAsm aufgerufen werden ! }
procedure FFTAsm(var xr, xi : Realarray; n, nu : integer;
hin : boolean);
{-------------------------------------------------------------------}
implementation
var
CosTab : array [0..nmax - 1] of single;
SinTab : array [0..nmax - 1] of single;
{-------------------------------------------------------------------}
procedure CoSiTab(n : integer);
var
i : integer;
s : single;
begin
s := 2 * Pi / n;
for i := 0 to n - 1 do
begin
SinTab[i] := sin(s * i);
CosTab[i] := cos(s * i);
end;
end; { CoSiTab }
{-------------------------------------------------------------------}
procedure FFTAsm(var xr, xi : Realarray; n, nu : integer;
hin : boolean); external;
{$L FASM}
{-------------------------------------------------------------------}
end. { XFFT }
{-------------------------------------------------------------------}
Nächste Seite: 9.9 Unit KoherU
Aufwärts: 9. Programmlisting
Vorherige Seite: 9.7 Unit FFTU
  Inhalt
Udo Becker
2000-01-02