Let's say we have a rational, causal, stable LTI system with transfer function $$H(z) = \frac{A(z)}{B(z)}$$ If $H(z)$ has $N$ poles, we can in theory have only 1 of those poles, $p_i$, show up at the output. So $y[n]$ is $p_i^n$ after some $n>A$. To do this we need to come up with an input $x[n]$ that is causal and has finite length, and $A$, so that we get that output $y[n]$.

How would we construct such a finite $x[n]$ to get this behavior?

Edit: We can assume also that we know the most general form of $h[n]$ since $H(z)$ is causal, LTI and stable. $$h[n] = a_0\delta[n] + a_1\delta[n-1]+a_2\delta[n-2]...a_A\delta[n-A]\\+b_1p_1^nu[n]+b_2\cdot n \cdot p_1^nu[n] + b_3 \cdot n^2 \cdot p_1^nu[n] + ...\\+c_1p_2^nu[n]+c_2 \cdot n \cdot p_2^nu[n] + c_3 \cdot n^2 \cdot p_2^nu[n] + ...\\.\\.\\.$$ So would there be a clever construction of a finite $x[n]$ to cancel all other poles except $p_i$? The first part of $h[n]$ gives us the finite first part of $y[n]$ until integer $A$.

  • $\begingroup$ so you want find out an input x[n] which supresses all the remaining poles other than the chosen one ? $\endgroup$ – Fat32 Nov 20 '17 at 21:23
  • $\begingroup$ Yes, but this x[n] is finite. And y[n] can be anything until n>A, where y[n] becomes p^n. $\endgroup$ – ItM Nov 20 '17 at 21:25
  • $\begingroup$ After n>A, y[n] is exactly p^n. $\endgroup$ – ItM Nov 20 '17 at 21:28

You should always be able to achieve this after $N-1$ samples. For this I will denote the given transfer function as

$$ H(z) = \frac{A(z)}{\prod_{k=1}^N (z - p_k)}. \tag{1} $$

Now by starting with an impulse and filter it with

$$ F(z) = \frac{\prod_{k\neq i} (z - p_k)}{z^{N-1}} = \sum_{k=0}^{N-1} \alpha_k\,z^{-k} \tag{2} $$

and use the output of this filter as the input to the system. The combined transfer function looks like

$$ H(z)\,F(z) = \frac{A(z)}{(z - p_i)\,z^{N-1}}. \tag{3} $$

Therefore this filtered signal should only excite the mode of the system associated with the pole $p_i$. And the $z^{N-1}$ term only adds a delay of $N-1$ samples, so it only takes a finite amount of time after which only $p_i^n$ is visible in the output.

However it can be noted that this does require you to have perfect knowledge of the poles you cancel.

  • $\begingroup$ So what does the finite x[n] look like? $\endgroup$ – ItM Nov 21 '17 at 0:10
  • $\begingroup$ @ItM By expanding the products of all the term in the numerator of $F(z)$ and dividing each term by its denominator, then then the expression for $F(z)$ just becomes a FIR filter. From this it is easy to derive what $x[n]$ should be, given that the input to this filter is an impulse. $\endgroup$ – fibonatic Nov 21 '17 at 4:44
  • $\begingroup$ I'm not familiar with FIR filters. The question was specifically what x[n] is. But thanks anyways! $\endgroup$ – ItM Nov 21 '17 at 8:40
  • $\begingroup$ ItM: Note that, in the general case, exact pole cancellation with cascaded systems is practically impossible with finite precision arithmetic. So if using a computer, the answer to your question is that there is none. However @fibonatic's answer should work analytically. $\endgroup$ – Andy Walls Nov 21 '17 at 11:35
  • $\begingroup$ @AndyWalls You can also filter the impulse twice with $F(z)$. This should set both the magnitude and the slope of the Bode diagram at the (estimated) pole locations to zero, which should give you a bit more robustness in the actual values of these poles. $\endgroup$ – fibonatic Nov 21 '17 at 23:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.