Saturday, April 14, 2018

discrete signals - Calculation frequency response of digital filter with known structure


Short question
What are main stages (steps) of calculation frequency response of digital filter by their structure?


Detailed question
Let suppose that there is discrete FIR filter with known structure which is implemented in programming language (for instance with structure which shown in picture):


              +-----+   +-----+
| | | |
x (k) >---+---| T |---| T |
| | | | |

| +-----+ +-----+
| | |
| +-----+ |
| | | |
| | x 2 | |
| | | |
| +-----+ |
| | |
| +----------------+ +-----+
| | ___ | | 1 |

\---| \ |---| x - |---> y (k)
| /__ | | 4 |
+----------------+ +-----+

It is possible to pass into the filter input signal (as vector of integers which describe magnitude), like this:


in [0, 0, 0, 0, 4, 0, 0, 0, 0, 0]

Which describe signal with following magnitude:


             |
x (k) |

|
. . . . . | . . . .

k 9 8 7 6 5 4 3 2 1 0

And get corresponding output signal, like this:


out [0, 0, 0, 0, 1, 2, 1, 0, 0, 0]

Which describe signal with following magnitude:


y (k)

|
. . . | | | . . . .
k 9 8 7 6 5 4 3 2 1 0

Question is how to calculate frequency response of the filter (by stages)?


Notes
With known input and output signals we can calculate transfer function of the filter by their images of Laplace transform (z-transform for discrete signals):
1. $$X(z) = \mathcal{L} \{x(k)\}$$
2. $$Y(z) = \mathcal{L} \{y(k)\}$$
3. $$H(z) = Y(z) / X(z)$$

And after if we get Fourier transform from transfer function we will get AFC:
4. $$FR = \mathcal{F} \{H(z)\}$$
Is it correct?



Answer



For the given system you can write down the input-output relation as


$$y[k]=\frac14\left(x[k]+2x[k-1]+x[k-2]\right)\tag{1}$$


because $T$ (or $z^{-1}$) denotes a delay element, which delays its input by one sample interval. The $\mathcal{Z}$-transform of (1) is (assuming zero initial conditions)


$$Y(z)=\frac14\left(X(z)+2X(z)z^{-1}+X(z)z^{-2}\right)=\frac{X(z)}{4}\left(1+2z^{-1}+z^{-2}\right)\tag{2}$$


From (2) you get the system's transfer function


$$H(z)=\frac{Y(z)}{X(z)}=\frac14\left(1+2z^{-1}+z^{-2}\right)\tag{3}$$



Since the system is stable (any FIR filter is), the frequency response can be obtained by evaluating the transfer function on the unit circle $z=e^{j\omega}$:


$$H(e^{j\omega})=\frac14\left(1+2e^{-j\omega}+e^{-2j\omega}\right)\tag{4}$$


You also could have arrived at (4) by writing down the impulse response from (1)


$$h[k]=\frac14\left(\delta[k]+2\delta[k-1]+\delta[k-2]\right)\tag{5}$$


and taking the (discrete-time) Fourier transform, which also results in (4).


Finally, a few notes concerning misconceptions in your question:




  • $\mathcal{L}$ usually denotes the Laplace transform, which is defined for continuous functions. $X(z)$ is the $\mathcal{Z}$-transform of the sequence $x[k]$, which can be written as $X(z)=\mathcal{Z}\{x[k]\}$.





  • The frequency response of a linear time-invariant (LTI) system is the Fourier transform of the system's impulse response: $H(e^{j\omega})=\mathcal{F}\{h[k]\}$, not the Fourier transform of $H(z)$ (which you seem to think, judging from the last equation in your question).




No comments:

Post a Comment

periodic trends - Comparing radii in lithium, beryllium, magnesium, aluminium and sodium ions

Apparently the of last four, $\ce{Mg^2+}$ is closest in radius to $\ce{Li+}$. Is this true, and if so, why would a whole larger shell ($\ce{...