Re: [Alsa-user] multichannel multiband FFT-based equalizer - README
Brought to you by:
perex
|
From: Sergei S. <ste...@li...> - 2006-01-02 23:22:40
|
Regarding "A weighted sum of some DFT outputs" - do you agree that if, say, I have an 8 point FFTW, the following frequencies are represented in the FFTW output array C (the result of time -> frequency conversion, i.e. direct FFT): C[0] <=> DC (only real part) C[1], C[7] <=> 1 * Fs / 8; C[2], C[6] <=> 2 * Fs / 8; C[3], C[5] <=> 3 * Fs / 8; C[4] <=> 4 * Fs / 8; Nyquist frequency (only imaginary part) ? If yes, do you agree that no SINGLE C-array element represents, say 1.5 * Fs / 8 frequency ? If yes, do you agree that changing simultaneously gain of C[1], C[7] and C[2], C[6] pairs. i.e of the pairs that represent (1 * Fs / 8) and (2 * Fs / 8) pairs I will not only change gain of (1.5 * Fs / 8) frequency, but also of the whole 1 * Fs / 8) .. (2 * Fs / 8) frequency range ? If yes, do you agree that had I wanted to change only gain of, say, (2 * Fs / 8), i.e amplitude of (C[2], C[6]) I wouldn't have changed the amplitude of, say, (1 * Fs / 8) spectral component or any other spectral component for that matter ? If yes, that's what I meant saying that central frequencies should be a multiple of frequency resolution ((Fs / 8) in this example). If central frequency is not a multiple of frequency resolution, its amplitude can NOT be changed without affecting the amplitude of other spectral components. On Mon, 2 Jan 2006 23:53:33 +0100 fons adriaensen <fon...@sk...> wrote: > On Mon, Jan 02, 2006 at 11:37:54PM +0200, Sergei Steshenko wrote: > > > So, how are going to implement a central frequency which is > > not a multiple of (Fs / N) in a DFT equalizer ? > > > > That is, what data resulting from direct DFT represents such frequencies ? > > A weighted sum of some DFT outputs, instead of just one of them. > > Look at what you have now. You do a forward FFT and get N complex > values A [i]. You multiply each of these A [i] by some factor, and > then do an IFFT. > > The second step can be regarded as the multiplication of the vector > A [i] by a diagonal matrix. Using central frequencies in between > the 'integer' bins would just mean this matrix is no longer diagonal. > In practice it would become a band matrix and still be quite sparse, > and the product can be done efficiently. > > Once you have the matrix instead of the term by term product, the > windowing can also be absorbed into it. > > -- > FA > > > > > |