Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
16

One thing that really helped me understand poles and zeros is to visualize them as amplitude surfaces. Several of these plots can be found in A Filter Primer. Some notes: It's probably easier to learn the analog S plane first, and after you understand it, then learn how the digital Z plane works. A zero is a point at which the gain of the transfer ...


14

One approach would be to use the frequency-domain least-squares (FDLS) method. Given a set of (complex) samples of a discrete-time system's frequency response, and a filter order chosen by the designer, the FDLS method uses linear least-squares optimization to solve for the set of coefficients (which map directly to sets of poles and zeros) for the system ...


12

I think there are actually 3 questions in your question: Q1: Can I derive the frequency response given the poles of a (linear time-invariant) system? Yes, you can, up to a constant. If $s_{\infty,i}$, $i=1,\ldots,N,$ are the poles of the transfer function, you can write the transfer function as $$H(s)=\frac{k}{(s-s_{\infty,1})(s-s_{\infty,2})\ldots (s-s_{\...


8

I don't know the name of the relationship, but $\vert H(f)\vert^2$ is called the power transfer function of the LTI system. The output power spectrum is the input power spectrum multiplied by the power transfer function, just as for deterministic signals, the output spectrum is the input spectrum multiplied by the transfer function $H(f)$.


8

I agree with Peter K.'s answer, but I would like to add one important point: the two statements in the question are only true for causal systems. The most general statement about stability for LTI systems described by rational transfer function is: An LTI system with a rational transfer function is stable if the region of convergence (ROC) of its transfer ...


8

Let's consider a discrete-time state space model (the derivation for a coninuous-time system is completely analogous): $$\begin{align}\mathbf{q}[n+1]&=\mathbf{Aq}[n]+\mathbf{b}x[n]\\ y[n]&=\mathbf{c}^T\mathbf{q}[n]+dx[n]\tag{1} \end{align}$$ where $x[n]$ is the input, $y[n]$ is the output, and $\mathbf{q}[n]$ is the state vector. Taking the $\...


7

The task is to filter x(t) when given y(t), where y(t) = x(t) + n(t). Great but first we need to build an appropriate filter. At this point: No. The task is to filter $y[n]$ to achieve $x[n]$. Your filter acts on the available signal $y[n]$ to get a best estimate of $x[n]$ from a noisy observation of it. BTW. discrete-time uses $y[n]$ or at least $y(n)$ ...


6

You might try Vincent Falco's Collection of Useful C++ Classes for Digital Signal Processing. The StackOverflow Question A C++ library for IIR filter offers a few more suggestions. Finally: the hard part for Butterworth/Chebychev filters is really the design, not the implementation. You might consider doing the design in Matlab (or Gnu Octave), or an ...


6

My colleagues have had great results with vector fitting: Vector Fitting is a robust numerical method for rational approximation in the frequency domain. It permits to identify state space models directly from measured or computed frequency responses, both for single or multiple input/output systems. The resulting approximation has guaranteed stable poles ...


6

The relation that you have results from the Wiener-Khinchin theorem (WK). The WK theorem primarily relates the autocorrelation of the input and its power spectral density (PSD) as a Fourier transform pair. I have not heard it referred to by any particular name other than explicitly saying "From the WK theorem, we have blah..." From the article cited: A ...


6

You may write the second equation on the first form by using $b_i = 0$ corresponding to those poles appearing at $s = 0$. Hence, the only difference is that in the second form you know that there are $m$ poles at $s=0$ while in the first form they may still be there, but one will have to check the values of $b_i$ to determine if they are there. Note that a ...


6

Note that a stable and causal continuous-time transfer function does not need to be strictly proper but only proper, i.e. the degree of the numerator does not exceed the degree of the denominator, but numerator and denominator degree can be equal. E.g. $$H(s)=\frac{as^2+bs+c}{s^2+ds+e}$$ can represent a causal and stable system, as long as its poles are in ...


6

Consider a liner discrete-time system. Assume we can define it in terms of an input-output relation as follows (you can assume a more general model but it is enough for our purpose): $$a_0y[n]+a_{1}y[n-1]+\cdots+a_{N}y[n-N]=b_0x[n]+b_{1}x[n-1]+\cdots+b_{M}x[n-M]\tag{1}$$ When the coefficients $\{a_i\}$ and $\{b_i\}$ are constant, we call it a finite-order ...


6

If the input is a unit step, then the output of the first block in system 1 is not zero, but it is a Dirac delta impulse $\delta(t)$. Intuitively, the derivative is infinite at $t=0$ because of the step going from zero to one. Integrating the Dirac delta impulse will give you a step at the output of the first system. The output of the first block in system ...


6

The "poles-inside-unit-circle" stability criterion only applies to causal systems. Your system is not causal because it uses one sample from the future owing to the $z$ term. The general technique to check for stability involves looking at the regions of convergence (ROC) of $H(z)$. If the ROC includes the unit circle, then the system is stable. See also ...


5

Check out Julius O. Smith III's write up. There is a Hilbert transform relationship between the magnitude response, $G(\omega)$, and the phase response, $\theta(\omega),$ of the associated minimum phase filter. If $$ H(\omega) = G(\omega) \exp(\jmath \theta(\omega)) $$ then $$ \ln( H(\omega) ) = \ln(G(\omega)) + j\theta(\omega) $$ and $$ \theta(\omega) ...


5

The analytic way is to substitute the variable $z$ by $e^{j\omega}$ to get the frequency response $H(\omega)$ (with $\omega = \frac{2 \pi f}{F_s}$) - that is to say, the frequency response is the $z$ transform evaluated on the unit circle. Note that matlab has a built-in function for plotting the frequency response straight from filter coefficients (freqz), ...


5

The response of the filter at any frequency $\omega \in [-\pi, \pi)$ can be found by substituting $z = e^{-j\omega}$ (i.e. a position on the unit circle at an angle of $\omega$) into the transfer function. The resultant $H(e^{j\omega})$ is often referred to as a discrete-time system's frequency response. Most of the time, you're primarily concerned about the ...


5

$y(t) = x(-t)$ is not anticausal, but it is acausal. For negative values of $t$, $y(t)$ is not causal, while for positive $t$, it is causal, since, for example, $y(2) = x(-2)$, but $y(-2) = x(2)$.


5

What are the signal processing principles behind our eye merging the many tiny images into a large coherent one? From what I've read (Source 1: Front-End Vision and Multi-Scale Image Analysis, Source 2: Information Visualization), our eyes apply something very similar to a set of gabor filters to the visual inputs we get. So if you, i.e. focus on Mona Lisa'...


5

That depends to a very large degree on the type & sensitivity on the headset, the gain of the amplifier and the frequency. I don't think there is a reasonable rule of thumb, this will be all over the place.


5

Without an artificial ear and calibrated SPL meter your not going to obtain a valid measurement (even then the SPL will vary per earphone fitting). With earphones and a multimeter, you can only really ballpark the measurement e.g. output a full scale tone, and measure the voltage at the terminals (should be OK to do this by parallel output of the playback ...


5

Both taking a magnitude spectrogram and a Mel filter bank are lossy processes. Important information needed to reconstruct the original will have been lost. Thus you need to go back and use the original audio samples to do the reconstruction by determining a time or frequency domain filter equivalent to your dimensionality reduction. You can make ...


5

Causality is not so much a characteristic of a signal as it is a characteristic of a system. For example, a non-causal system can have an output at time $t$ which depends on the input at time $t+1$. When thinking in terms of time, a non-causal system breaks our intuition because it has to "see the future" in order to operate. Let's say that I want to ...


5

The brutally honest answer here is: The noise is considered zero-mean because that's what the author decided to do. Without looking deeper into the signal model employed, it's impossible to answer. However, for many systems this makes a lot of sense physically, since the processes leading to a noise realization are very often zero-mean in nature. For ...


5

Let $H(s)$ be a transfer function of the form $$H(s) = \frac{1}{s-p}$$ where $p$, which is a pole of $H(s)$, can be written as a complex number $a+jb$. Taking the inverse Laplace transform of $H(s)$ gives the corresponding impulse response $h(t)$ (that is, the output of your system when given $\delta(t)$ as input). Noting $\mathcal{L}^{-1}$ the inverse ...


5

Normally, in electrical enginnering, we apply the term "transfer function" and "filter" to an operation that belongs in the class we call Linear Time-Invariant systems (LTI). Sometimes you might read something from someone where they apply either terms to a nonlinear operation. A 'filter" in statistics usually means a different thing than what EEs mean. ...


5

$$2s+1=2\left(s+\frac12\right)$$ That's all I can say.


5

It's actually quite straightforward: positive powers of $s$ (or, in discrete-time, $z$), correspond to poles at infinity. Negative powers give you zeros at infinity. Let's look at some examples. In continuous time, an ideal differentiator has the transfer function $$H(s)=s\tag{1}$$ Clearly, $\lim_{s\to\infty}H(s)=\infty$, hence you have a pole at infinity ...


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