SignalUtils.GoertzTwo Method

Overload List

#SignatureDescription
1procedure GoertzTwo(const Src: TVec; Freq0: Double; Freq1: Double; var Result0: TCplx; var Result1: TCplx; PhaseCorrection: TGoertzPhaseCorrection);The Discrete Fourier transformation (DFT) for given two frequencies.
2procedure GoertzTwo(const Src: TVec; Freq0: Double; Freq1: Double; var Result0: TCplx; var Result1: TCplx; const SrcIndex: Integer; srcLen: Integer; PhaseCorrection: TGoertzPhaseCorrection);The Discrete Fourier transformation (DFT) for given two frequencies.

Overload 1: procedure GoertzTwo(const Src: TVec; Freq0: Double; Freq1: Double; var Result0: TCplx; var Result1: TCplx; PhaseCorrection: TGoertzPhaseCorrection);

The Discrete Fourier transformation (DFT) for given two frequencies.

#NameTypeDescription
1SrcTVec
2Freq0Doublescalar
3Freq1Doublescalar
4Result0TCplx
5Result1TCplx
6PhaseCorrectionTGoertzPhaseCorrection

Result: stored in self (calling object)

Remarks:

Calculates the Discrete Fourier transformation (DFT) for two given frequencies. Goertz returns the DFT at the two frequencies pass as a parameter. Each value of the DFT computed by the Goertzel algorithm takes 2N+2 real multiplications and 4N real additions. FFT computes the DFT with N*log2(N) of real multiplications and additions.

The Goertz method is faster, than direct DFT, if we need values at consecutively different frequencies. if at every call the Freq0 and Freq1 parameters are different. If the frequencies, at which we need to evalute the spectrum are fixed, then the direct DFT method is faster.

See Also: SignalUtils.Goertz

Overload 2: procedure GoertzTwo(const Src: TVec; Freq0: Double; Freq1: Double; var Result0: TCplx; var Result1: TCplx; const SrcIndex: Integer; srcLen: Integer; PhaseCorrection: TGoertzPhaseCorrection);

The Discrete Fourier transformation (DFT) for given two frequencies.

#NameTypeDescription
1SrcTVec
2Freq0Doublescalar
3Freq1Doublescalar
4Result0TCplx
5Result1TCplx
6SrcIndexIntegersource start index
7srcLenInteger
8PhaseCorrectionTGoertzPhaseCorrection

Result: stored in self (calling object)

Remarks:

SrcIndex and srcLen define the sub-range of Src on which to compute the function.