New answers tagged

0

This beginning of this answer is a reformatting of Resonant filters. $$K[n] = aS[n] + bK[n-1] + cK[n-2]$$ where: $K[n]$ is the output value at time n $S[n]$ is the input value at time n $a = \frac{1}{1+d+e}$ $b = \frac{d+2e}{1+d+e}$ $c = -\frac{e}{1+d+e}$ $d = 2pr+2p-1$ $e = r^2$ $r = \text{playback_frequency} \frac{2.0\cdot\pi\cdot110.0\cdot(2.0^{0.25})}{2^{...


0

In the domain of digital audio effects, analog filters (called analog prototype filters or analog prototypes) are used to derive stable and controllable digital infinite-impulse response (IIR) filters. These filters can then be used by musicians or sound engineers, for example, in parametric equalizers. If you are interested in the topic, I have a few ...


0

Does this mean we cannot map high-pass analog filters to high-pass digital filters using impulse invariance? In my opinion this is not correct albeit it is stated everywhere regarding this topic. The reason this is not correct is due to the lemma of riemann-lebegue which states that any fourier transform converges to zero towards infinity (for L1 functions ...


2

The following is useful in applications where we want to null out interfering tones that are within are spectrum of interest where our signal occupies, so with that we want to minimize how much spectrum we remove. In cases where we are really only interested in the signal at 60 Hz (as the OP may be) then a PLL or 2nd order resonator would be most applicable ...


0

My apologies if this is more of a comment then an answer, given my low reputation. As the other comments have mentioned, a sinusoidal impulse response at 60 Hz would be adequate for satisfying the removal of harmonics. If you are concerned with preserving group-delay (and thus phase-delay), consider using a zero-phase digital filter. The MATLAB documentation ...


4

Like @MattL. and @aconcernedcitizen say, the issue is numerical. Python's scipy.signal.firls uses internally the solver scipy.linalg.solve. For your input, the solver throws a "matrix singular" error, but firls suppresses the error and falls back to another solver scipy.linalg.lstsq which doesn't throw an error but also doesn't get the problem ...


6

The problem lies in the formulation of the desired response, and especially in the "don't care" region, which is extremely wide for the chosen filter length. Even though I can't give any exact relation between transition band width and filter length, I know that in the case of a least squares design, the matrix of the system of linear equations ...


2

Because of the comment, I obviously must have seen this question nearly 5 years ago, but I don't remember it really. But one advantage that windowed-sinc has over P-McC or LS for a brick-wall interpolating filter is that the windowed-sinc can be guaranteed to pass through zero at all integer values except 0. That means the interpolated signal always goes ...


0

You are off by a factor of two since you are averaging amplitudes. You should average the power instead (i.e. the square of the amplitude). Off course, this only works if the input signal is white, i.e. equal energy at all freqeuncies.


Top 50 recent answers are included