Tag Info

19

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 ...

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_{\... 11 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 \... 11 If you consider poles of an integral transform domain to be important to the solution of differential equations: (as usual,) Euler did it first, 1753. One "importance" of poles is that they're part of a very useful representation for linear systems. They must've appeared when people started looking at functions as built from generating functions, so that'd ... 9 You can apply a so-called all-pass transformation to a discrete-time low-pass prototype filter in order to convert it to other standard filters (such as high-pass, band-pass, and band-stop). This is accomplished by transforming the complex variable z in the transfer function of the prototype filter by a function G(z) which satisfies |G(e^{j\omega})|=1, ... 8 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 ... 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 ... 7 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 ... 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 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) ...

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

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

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 ...

6

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. ...

6

Note that in this case you can see that the system is causal only from the given implementation. It's important to understand that you can't see it from the difference equation (if no initial conditions are given), and in general you can't see it from the transfer function either (if no region of convergence is given). The only case for which the expression ...

6

In your original code you defined the sampling interval to be $T_s=0.05$ (idd1 = iddata(ddout, ddin, 0.05);). Yet, according to the data file, the time step between sample points appears to be $T_s=0.003$. Changing $T_s$ from $0.5$ to $0.003$ should compress the step response by a factor of $0.05/0.003=16.67$, which compares favorably to the relation between ...

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

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

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

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

If you consider the transfer function of a causal IIR filter $$H(z)=\frac{B(z)}{A(z)}=\frac{\sum_{m=0}^M b_mz^{-m}}{\sum_{n=0}^N a_nz^{-n}},\quad a_0=1$$ then you always get the same number of poles and zeros, regardless of the choice of $M$ and $N$ (as already pointed out by Robert). However, what is meant by a system with "more zeros than poles", is a ...

5

The two are both true, but they are for different cases. Case 1 is true for continuous-time systems, and the transform is the Laplace transform and the variable is the derivative operator, $s$. Case 2 is true for discrete-time systems, and the transform is the $z$-transform and the variable is the delay operator, $z$.

5

An LTI system's "frequency response" tells you how the system acts on the amplitude and phase of a sinusoidal input. If the frequency response is $H(f)$, then an input $x(t)=e^{j2\pi f_0t}$ produces an output $y(t)=|H(f_0)|e^{j(2\pi f_0t+\angle H(f_0))}$. It is common to divide the frequency response in two, the gain $|H(f)|$ and the phase $\angle H(f)$. ...

5

You'd have to figure out the frequency response of the filter. Here are two methods. I prefer Method 2 because it's quick and dirty, and you don't really care about the exact gain values in the frequency response, just the general shape to figure out the type of the filter. Method 1: Brute Force/Computer Assisted import scipy.signal as sp import numpy as ...

5

In this answer I'll try to show you how to qualitatively evaluate a given pole-zero plot by just looking at it. Of course, this method has its limits, but for relatively simple pole-zero plots you can very quickly decide on the type of the corresponding filter. You should know that for stable filters, the frequency response equals the transfer function $H(z)... 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 In the audio domain, waveshaping is simply applying a memoryless nonlinear function to an input signal. $$y(t) = g\big( x(t) \big)$$ The waveshaping function,$g(x)$, is most often a continuous function that goes through the origin:$g(0)=0$. Sometimes$g(x)$is an odd-symmetry function:$g(-x)=-g(x)\$, but it doesn't have to be. Sometimes you want 2nd ...

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