New answers tagged

0

According to my current understanding of filters, there seems to be a tradeoff between the the passband ripples and the transition band. No. Butterworth filters have neither passband nor stopband ripples. What I don't understand is that how is it possible that by increasing the order of the Butterworth filter, the transition band will decrease but the ...


0

Answering part #2 of your question: In a well conditioned numerical computation, the quantization and rounding errors stay small with respect to the size of the desire result. An unstable filter can do the opposite, where tiny numerical noise incurred during doing the DSP arithmetic can rapidly increase until it becomes vastly larger than any desired ...


3

Yes, of course. Any delay will look like this where the size of the delay determines the slope of the phase. If the the delay turns out to be an integer number of samples, than this very easy to implement. You can also do fractional delays but that's more work and can only be done approximately.


0

As I am a newbie in DSP and I thought this article has a clear explanation, I did not try to answer your questions myself. But you said you have read it and thought these questions are still ambiguous, then I want to try one more time to give my answers. First, about the concepts of bins and bands, they confused me a lot in the beginning when I was trying to ...


0

It appears the OP is missing a critical point about the effects of sampling a continuous time signal, so I provide some slides I have below that may be helpful demonstrating the periodic frequency spectrum that results due to sampling. The spectrum is only unique from $-f_s/2$ to $+f_s/2$ where $f_s$ is the sampling rate and for real waveforms that spectrum ...


0

There's no such thing as "rejection of noise"; it's a filter, it doesn't care nor can't know whether what it filters is noise or signal. You can only compare these by making a statement on the spectrum of your noise, and how much of that spectrum makes it through the filter's frequency response. Also, it would very much makes sense to also compare ...


0

The below tutorial has the clearest explanation I have read about Mel, I think it can answer all of your questions. Mel Frequency Cepstral Coefficient(MFCC) tutorial


1

Your signal is 8 samples per symbol. After reviewing your eye diagram it also appears that the signal is only root-raised cosine filtered. It should go through one more root raised cosine filter before final decision (the matched filter in the receiver) for optimum performance in the presence of noise.


2

Considering an LTI filter, one can define its frequency response by evaluating its transfer function H(z) on the unit circle H(ejω). Is this definition correct? This is only correct if the LTI filter discrete in time. But if it is: yes. I also came across the second definition, which says that the filter's frequency response is the Fourier Transform of its ...


3

For an example analysis, I’ve picked up the low-shelf filter in Robert Bristow-Johnson’s Audio EQ Cookbook. In the book, the transfer function is given as; $$H(s) = A\frac{s^2 + \frac{\sqrt{A}}{Q}s + A}{As^2 + \frac{\sqrt{A}}{Q}s + 1}$$ Since the analysis is going to be done by hand, the asymptotic approximation method of Bode plot analysis can be followed. ...


3

The resonant frequency is related to the "significant frequency" (which is the shelf midpoint frequency) by a factor of $\frac{1}{\sqrt{A}}$ for the lowShelf and the reciprocal of that for the highShelf.


0

However, the resonant peak of these filters doesn't seem to be at $f_0$ It's not supposed to be. The center frequency you specify is the midpoint between the two parts of the shelf. So for a shelf with a gain of X dB, the center frequency is defined where the gain is X/2. If you increase the Q above $\sqrt{2}$ you end up with TWO resonances: a peak and a ...


1

If you put the transfer function into the $z$ form, you get $$ H(z) = \frac{Y(z)}{X(z)} = \frac{z - 0.5}{z}$$ Then you can immediately see that $Y(z) = z - 0.5$, and $X(z) = z$. Thus, by inspection, the transfer function has a pole at $z = 0$, and a zero at $z = 0.5$.


3

There is already a good answer, but here is some extra explanation. This is called "pole/zero cancellation". That means you have a pole, say, $z_p$ but you also have a zero at $z_p$ so the zero cancels the pole. One particular example where this can be useful is a moving average filter of length $N$, The transfer function is $$H(z) = \frac{1}{N} \...


3

You can simplify the z-transform further, $ H(z) = \frac{Y(z)}{X(z)}= \frac{0.5-0.5z^{-2}}{1-z^{-1}}$ $ H(z) = \frac{(1-z^{-1})(1+z^{-1})}{2(1-z^{-1})} $ canceling the common pole and zero $ H(z) = \frac {1+z^{-1}}{2}$ take inverse z-transform $ Y(n) = \frac{x(n)+x(n-1)}{2} $


0

Both are basically convolution of a signal by one or several IIR or FIR filters (a bank of complex filters), that can be implemented in the Fourier domain. However, the "several filters" of the STFT are design together to possess certain "invertibility properties". They cannot be "any bunch of bandpass filters". For instance, ...


0

Using an STFT usually implies a set of FFTs or DFTs, each of which is identical to a bank of fixed length FIR filters (depending on any window(s) applied), that FIR filter length being the size of each STFT. If you use a separate pre-filter, you can use an IIR or much longer FIR filter kernel, which may provide better filter characteristics (stop band ...


1

STFT is also bandpassing. The method the quote refers to is likely the Continuous Wavelet Transform. The fundamental difference is, STFT uses fixed-resolution kernels spaced linearly, while CWT uses varied-resolution kernels spaced logarithmically. Example CWT filterbank in frequency domain (source; x axis from 0 to pi radians): An STFT with Gaussian window ...


1

Your signal has a massive DC bias so your output is dominated by the step response of the band pass filter. It will eventually get there but it's going to take a really long time. Initialize your state with zi = -26040*sosfilt_zi(). See my answer to your other question today. EDIT On second thought: while you can fix some of this in software, you probably ...


1

But I don't understand what it does, and how it determines initial conditions from the sos argument and not from the actual signal to filter. From the documentation Compute an initial state zi for the sosfilt function that corresponds to the steady state of the step response. It assumes that the input signal is a unit step. That's useful if you input ...


1

I think you are using the wrong tool for the job. Semitones are spaced logarithmically but FIR filters have linear frequency resolution. If you want to reliably distinguish between the low E and the low F on the bass guitar you need a frequency resolution of better than 2 Hz which requires 10s of thousands of taps (at 48 kHz sample rate). That's why most ...


0

You can write your transfer function as the sum of three 2-nd order transfer functions (partial fractions), and then the impulse response will be the sum of the impulse response of each. To help you with the partial fractions you can use this calculator


0

To have the desired effect of image denoising, the Wiener filter for can only be implemented with a point-spread function (blurring filter) that filters out the noise by averaging in some neighborhood of image pixels. As you do not disclose your program text, one cannot say for sure, but most probably your disappointing result comes from failure to apply the ...


0

A linear filter just attenuate some frequencies more and others less. If you alter the SNR, the output of the FIR filter should change accordingly. Many applications use more elaborate noise reduction methods in stead of (or in addition to) linear filtering. If you know that your signal is going to be a sine of known frequency, you may estimate its phase and ...


2

Does the number of taps affect a cost of implementation of FIR? Well, insert your definition of "cost", and your question should really answer itself. FIR filters belong to the class of linear filters, the combination of N lower order filters can create the desired FIR filter of the higher order. So I was thinking If it makes sense to implement ...


0

Maybe what is extremely slow is python, if you are comparing with a rolling average function implemented in some library.Specially if the dimension of the observations large, each step it will invert a matrix, $O(n^3)$, it seems you have only one observation in your example. Even for similar implementations Kalman filter will be slower than moving average. ...


1

I am not sure why the first 3 coefficients in python are always different than that of MATLAB. It's just a scaling. If you call Matlab's zp2sos without the second output argument, you will get the same three values as Python. If you need Python to match Matlab, use the first value of the sos as your "k" and divide the first three values in the sos ...


Top 50 recent answers are included