Skip to main content
6 events
when toggle format what by license comment
Aug 6, 2019 at 9:51 comment added f.f so before I added the 2nd filter I had: signal x(N1=256), filter h1(N2=256) and zero padded each to N=512 before fft. all worked fine, Now I have an additional filter (which I multiply in freq domain) of h2[L] with L (0<L<256). I zero padded this one also to 512 and went on. This was wrong right? since I have N1+N2+L which is >512 I need to zero pad now all inputs x,h1 and h2 minimum to length N1+N2+L right?? Could this explain my strange sizzle after adding the filter h2. Aliasing?
Aug 6, 2019 at 9:04 comment added robert bristow-johnson by $\frac1N$ where $N$ is the length of the FFT and iFFT in FFTW. also, keep in mind that the linear convolution of a sequence having non-zero length $M$ with another having non-zero length of $L$ results in a sequence of length $M+L-1$. so when convolving four sequences together, add the non-zero lengths of them all. the FFT length $N$ must be as large as that sum of lengths. zero pad to that length $N$.
Aug 6, 2019 at 8:16 comment added f.f I am not sure if I get it right. If I use FFTW for e.g. 1 input x[n] and three filters h1[n], h2[n] and h3[n] all zero padded to N, then do FFT on each and multiply those three Y[k]=X[k]*H1[k]*H2[k]*H3[k]. After this I transform back using y[n]=iFFT[(Z[k]). How should i skale y[n]?
Aug 6, 2019 at 7:49 comment added robert bristow-johnson the iFFT in FFTW does not do the conventional scaling of $\frac1N$ that is in the most common convention of the definition of the inverse (or "backward") Discrete Fourier Transform. I try, in this answer, to be explicit about the consequences (regarding convolution) of convention of where the $\frac1N$ scaling factor goes.
Aug 6, 2019 at 7:44 history edited robert bristow-johnson CC BY-SA 4.0
conventional notation.
Aug 6, 2019 at 6:41 history asked f.f CC BY-SA 4.0