Records
Functions
-
template <typename T>double SampleToDouble (T value)Defined at line 20 of file ../../src/media/audio/lib/analysis/analysis.cc
-
template <>double SampleToDouble<unsigned char> (uint8_t value)Defined at line 24 of file ../../src/media/audio/lib/analysis/analysis.cc
-
void FFT (double *real,double *imag,uint32_tbuf_size)Perform a Fast Fourier Transform on the provided data arrays.
On input, real[] and imag[] contain 'buf_size' number of double-float values
in the time domain (such as audio samples); buf_size must be a power-of-two.
On output, real[] and imag[] contain 'buf_size' number of double-float values
in frequency domain, but generally used only through buf_size/2 (per Nyquist)
Defined at line 71 of file ../../src/media/audio/lib/analysis/analysis.cc
-
double GetPhase (double real, double imag)Calculate phase in radians for the complex pair. Correctly handles negative
or zero values: range of return value is [-PI,PI], not just [-PI/2,PI/2].
Defined at line 139 of file ../../src/media/audio/lib/analysis/analysis.cc
-
void RectangularToPolar (const double *real,const double *imag,uint32_tbuf_size,double *magn,double *phase)Convert provided real-imag (cartesian) data into magn-phase (polar) format.
This is done with 2 in-buffers 2 two out-buffers -- NOT 2 in-out-buffers.
TODO(mpuryear): will clients (tests) want this transformed in-place?
Defined at line 160 of file ../../src/media/audio/lib/analysis/analysis.cc
-
void RealDFT (const double *reals,uint32_tlen,double *r_freq,double *i_freq)Perform the Discrete Fourier Transform, converting time-domain reals[] (len buf_size) into
freq-domain real_freq[]
&
imag_freq[], both of length (buf_size/2 + 1).
This is a naive, unoptimized (N^2)/2 implementation.
Defined at line 176 of file ../../src/media/audio/lib/analysis/analysis.cc
-
void InverseDFT (double *real,double *imag,uint32_tbuf_size,double *real_out)Converts frequency-domain arrays real_freq
&
imag_freq (len buf_size/2 + 1) into time-domain
array reals (len buf_size). This is a naive, unoptimized (N^2)/2 implementation.
Defined at line 199 of file ../../src/media/audio/lib/analysis/analysis.cc
-
void InverseFFT (double *real,double *imag,uint32_tbuf_size)Converts frequency-domain arrays reals
&
imags (len buf_size) in-place into time-domain arrays
(also len buf_size)
Defined at line 224 of file ../../src/media/audio/lib/analysis/analysis.cc
Variables
DeferredLogBuffer *const deffered_log
Defined at line 10 of file ../../src/media/audio/audio_core/verbose_log.cc