4

If you implement the Goertzel algorithm P times to detect P different spectral samples, Goertzel is more efficient (fewer multiplies) than the N-point FFT when P < log2(N).


3

Here is one way to design a complex notch IIR filter Start with a real IIR filter, determine poles, zeros and gain Remove all the poles and zeros at negative frequencies, take the root of the gain Turn back into polynomials and run as a complex filter. I don't know whether scipy.signal.iirfilter() supports complex filter coefficients, but Matlab's filter() ...


2

Why not just implement a complex notch filter as described on page 20 of these notes. This gives the following frequency response. You might want to change the 0.9 figure to something closer to 1. And I'm not clear on what the frequency you're trying to knock out is. Code below Full Jupyter Notebook here. # Page 20 of https://courses.engr.illinois.edu/...


2

any real-valued system, such as a filter as yours, is symmetrical in spectrum. So, what you observe is inevitable. This is kind of a direct result from the fact that real signals are always symmetrical in spectrum, and a real system can't make a complex signal out of a real signal. If you need a one-sided filter, it needs to be complex. So, instead of ...


1

The apostrophe notation $X'$ for the conjugate transpose is used in Matlab, and is a bit ambiguous. More common notations for what is also called the Hermitian transpose are $X^H$ or $X^*$. Dimensions are important. This would be a sloppy writing, yet if the product were pointwise, $X \cdot X' \to X[n] \cdot \overline{X[n]}$ would simply be the power ...


1

Two possibilities: The highpass filter has a gain > 1 in parts of its magnitude response. Together with the spectrum of your input signal, this leads to a fullband signal level increase, that more than compensate for the loss of energy due to the loss of low frequencies. The equalizer is non-linear phase. By re-aligning parts of the spectrum, this ...


Only top voted, non community-wiki answers of a minimum length are eligible