FONT SIZE : AAA
The method of converting an S domain equation for a filter to its equivalent Z domain expression uses the bilinear transform. This is a standard method for expressing the S-domain equation in the Z-domain. The basic approach is to replace each instance of s with its equivalent Z domain notation and then rearrange into the most convenient form. The transform is called bilinear as both the numerator and denominator of the expression are linear in terms of z.
s = z − 1 z + 1 (9.2)
If we take a simple example of a basic second order filter we can show how this is translated into the equivalent Z domain form:
H(s) = 1 s2 + 2s + 1 (9.3)
In order to get the function H(s) in its Z-domain equivalent, replace each occurrence of s with the expression for s in terms of z shown in Equation (9.2), giving:
H(z) = 1 (z−1 z+1 )2 + 2(z−1 z+1 ) + 1 (9.4)
H(z) = (z + 1)2 (z − 1)2 + (z − 1)(z + 1) + (z + 1)2 (9.5)
H(z) = z2 + 2z + 1 3z2 + 1 (9.6)
Now, the term H(z) is really the output Y(z) over the input X(z) and we can use this to express the Z domain equation in terms of the input and output:
H(z) = z2 + 2z + 1 3z2 + 1 = Y(z) X(z) (9.7)
This can then be turned into a sequence expression using delays (z is one delay, z2 is two delays and so on) with the following result:
3z2Y(z) + Y(z) = z2X(z) + 2zX(z) + X(z) (9.8)
3y(n + 2) + y(n) = x(n + 1) + 2x(n + 1) + x(n) (9.9)
This is useful because we are now expressing the Z domain equation in terms of delay terms, and the final step is to express the value of y(n) (the current output) in terms of past elements by reducing the delays accordingly (by 2 in this case):
3y(n) + y(n − 2) = x(n) + 2x(n − 1) + x(n − 2) (9.10)
y(n) + 1/3y(n − 2) = 1/3x(n) + 2/3x(n − 1) + 1/3x(n − 2) (9.11)
y(n) = 1/3x(n) + 2/3x(n − 1) + 1/3x(n − 1) − 1/3y(n − 2) (9.12)
The final design note at this point is to make sure that the design frequency is correct, for example the low pass cut-off frequency. The frequencies are different between the S and Z domain models, even after the bilinear transformation, and in fact the desired digital domain frequency must be translated into the equivalent s domain frequency using a technique called prewarping. This simple step translates the frequency from one domain to the other using the following expression:
ωc = tan(cT2 )(9.13)
where c is the digital domain frequency, T is the sampling period of the Z domain system and ωc is the resulting frequency for the analog domain calculations.
Once we have obtained our Z domain expressions, how do we turn this into practical designs?
The next section will explain how this can be achieved in VHDL.
Manufacturer:Xilinx
Product Categories: CPLD/FPGA
Lifecycle:Any -
RoHS: -
Manufacturer:Xilinx
Product Categories:
Lifecycle:Obsolete -
RoHS:
Manufacturer:Xilinx
Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)
Lifecycle:Active Active
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)
Lifecycle:Active Active
RoHS:
Manufacturer:Xilinx
Product Categories: Résistances
Lifecycle:Obsolete -
RoHS: No RoHS
Support