Winsoft DSP Library v1.1 for Delphi/C++ Builder 6 - 10.3 Full Source

Winsoft DSP Library v1.1 for Delphi/C++ Builder 6 - 10.3 Full Source

Winsoft DSP Library v1.1 for Delphi/C++ Builder 6 - 10.3 Full Source
Winsoft DSP Library v1.1 for Delphi/C++ Builder 6 - 10.3 Full Source


Digital Signal Processing library for Delphi and C++ Builder.
uses General Purpose FFT Package
supports Windows 32 and Windows 64
available for Delphi/C++ Builder 6 - 10.3
source code included in registered version
royalty free distribution in applications

type
  Complex = packed record
    Re, Im: Double
  end;

  IntegerPtr = ^Integer;
  DoublePtr = ^Double;
  ComplexPtr = ^Complex;

  EFFTError = class(Exception)
  end;

  // Complex Discrete Fourier Transform

  TComplexDFT = class
    constructor Create(N: Integer);

    procedure Compute(Data: ComplexPtr); overload;
    procedure Inverse(Data: ComplexPtr); overload;

    property N: Integer read FN;
  end;

  // Real Discrete Fourier Transform

  TRealDFT = class
    constructor Create(N: Integer);

    procedure Compute(Data: TDoubleDynArray); overload;
    procedure Compute(Data: DoublePtr); overload;
    procedure Inverse(Data: TDoubleDynArray); overload;
    procedure Inverse(Data: DoublePtr); overload;

    property N: Integer read FN;
  end;

  // Discrete Cosine Transform

  TDCT = class
    constructor Create(N: Integer);

    procedure Compute(Data: TDoubleDynArray); overload;
    procedure Compute(Data: DoublePtr); overload;
    procedure Inverse(Data: TDoubleDynArray); overload;
    procedure Inverse(Data: DoublePtr); overload;

    property N: Integer read FN;
  end;

  // Discrete Sine Transform

  TDST = class
  public
    constructor Create(N: Integer);

    procedure Compute(Data: TDoubleDynArray); overload;
    procedure Compute(Data: DoublePtr); overload;
    procedure Inverse(Data: TDoubleDynArray); overload;
    procedure Inverse(Data: DoublePtr); overload;

    property N: Integer read FN;
  end;

function SineWave(Count, SamplingFrequency: Integer): TDoubleDynArray;
function CosineWave(Count, SamplingFrequency: Integer): TDoubleDynArray;
function Mean(Data: TDoubleDynArray): Double;
function RootMeanSquare(Data: TDoubleDynArray): Double;
function MaxPosition(Data: TDoubleDynArray): Integer;
function MinPosition(Data: TDoubleDynArray): Integer;


Only for V.I.P
Warning! You are not allowed to view this text.