Tag Info

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

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

5

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

4

Your algorithm, as described, is not correct. You are simply counting the number of negative numbers, not the number of zero crossings. For the particular data set that you use, B1, the two numbers are the same, but in general they won't be. The way to do it is to multiply each number by the number after it, and if that number is negative, then you have a ...

3

Axel Mancino's answer is correct for causal filters. In general, FIR filters have poles at either $z=0$ or $|z|\rightarrow\infty$, or both. Take as an example a fourth-order causal FIR filter: $$H_1(z)=a+bz^{-1}+cz^{-2}+dz^{-3}+ez^{-4}\tag{1}$$ Clearly, $H_1(z)$ has all its poles at $z=0$. An anti-causal FIR filter such as H_2(z)=az^4+bz^3+cz^2+dz+e\...

3

You should first appreciate why an HMM would be useful. The problem that you've described is classify a given utterance as either a yes or a no (it would be also useful to have a "neither" class). Because speech is a time-evolving quantity, it needs a classifier that is able to deal with sequences of feature vectors. Different people say "yes" or "no" with ...

2

I wasn't familiar with that term in the context of signal processing. (Instead, I've seen the term being used in the context of the Riemann zeta function.) But I've found a document and this book where the term is used in a DSP context. The (obvious) definition is that trivial poles and zeros are the ones at the origin $z=0$ and at infinity $|z|=\infty$. ...

1

Yes, if all the poles are in $z=0$ then it is FIR. If not, it is IIR.

1

Anyone with a brain will realize I made an extremely elementary arithmetic error in my question. The transformed equation should of course be: which means the zero is -1/2 as expected. The bottom line is that a gain has no effect on the values of the zeros since it is just a scaling factor in the zero polynomial.

1

If there are more zeros than poles, then there is added lags(power of Z^(-1)) in the output which makes the output more lagged while the input remain the same. This makes the system non-causal.

1

In a causal discrete time system, the poles delay the impulse response so that no future samples are required. If you don't have enough poles, you may instead need a time machine (or do processing offline or with a "hidden" delay). Note that the phase represented by walking CCW around a pole well inside the unit circle is about one sample time delay.

1

I think the system is always non-causal if it has more zeros than poles. @Hilmar, your implementation might be possible digitally but if you see a transfer function like this: $H(z) = \frac{(z-1)(z-2)}{(z-3)}$, taking the inverse Z-Transform, $y(n-1)-3y(n-2) = x(n)-3x(n-1)+2x(n-2)$ is clearly non-causal and cannot be implemented real-time(of course you can ...

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