- #1
stiive
- 2
- 0
Hi All,
I'm new to this forum. Its been awhile since university, so I've unfortuntely forgotten most of my teachings on transfer functions it seems!
Basically I am trying to design a 3 stage cascading digital filter. I am sampling an AC waveform and need to integrate the signal. I'm getting some DC offset error from pure integration (trapezoidal method), so have decided to use a cascading filter with an adjustable cut-off freq (set just above the current variable AC electrical freq), and gain multiplication to compensate for attenuation and for the integration.
I have been told that the transfer function for the 3 identical stage filter of a sine would be
H(s)=[itex]G*(\frac{1}{\tau*s+1})^{3}[/itex]
Obviously as i am sampling discretely, I need to be in Z domain
So I think i'd apply tunstin transformation(?) ;
s=[itex]\frac{2(z-1)}{T(z+1)}[/itex]
therefore,
H(Z) = G*[itex](\frac{1}{\tau[\frac{2(z-1)}{T(z+1)}]+1})^{3}[/itex]
where [itex]\tau [/itex]= cut-off freq, G = gain, T = Δtime
But from here I'm kinda stuck, and would appreciate any prompting/help in the right direction. I'm guessing i'll need to do partial fractions? I have tried this, but the answer I got I'm fairly sure is wrong as most of the terms are future sample input/outputs (ie y[n+3], x[n+3]). Is perhaps the z term meant to be [itex]z^{-1}[/itex]? For instance, I have seen in MATLAB simulink the trapezoidal transfer function as;
[itex]\frac{K*Ts(z+1)}{2(z-1)}[/itex]
whereas i think it should be;
[itex]\frac{K*Ts(z^{-1}+1)}{2(z^{-1}-1)}[/itex]
Perhaps MATLAB uses geophysical(?) definition?
Perhaps also instead of tunstin transformation, i should just use [itex]s=z^{-1}[/itex]??
Thanks for any help in advance!
I'm new to this forum. Its been awhile since university, so I've unfortuntely forgotten most of my teachings on transfer functions it seems!
Basically I am trying to design a 3 stage cascading digital filter. I am sampling an AC waveform and need to integrate the signal. I'm getting some DC offset error from pure integration (trapezoidal method), so have decided to use a cascading filter with an adjustable cut-off freq (set just above the current variable AC electrical freq), and gain multiplication to compensate for attenuation and for the integration.
I have been told that the transfer function for the 3 identical stage filter of a sine would be
H(s)=[itex]G*(\frac{1}{\tau*s+1})^{3}[/itex]
Obviously as i am sampling discretely, I need to be in Z domain
So I think i'd apply tunstin transformation(?) ;
s=[itex]\frac{2(z-1)}{T(z+1)}[/itex]
therefore,
H(Z) = G*[itex](\frac{1}{\tau[\frac{2(z-1)}{T(z+1)}]+1})^{3}[/itex]
where [itex]\tau [/itex]= cut-off freq, G = gain, T = Δtime
But from here I'm kinda stuck, and would appreciate any prompting/help in the right direction. I'm guessing i'll need to do partial fractions? I have tried this, but the answer I got I'm fairly sure is wrong as most of the terms are future sample input/outputs (ie y[n+3], x[n+3]). Is perhaps the z term meant to be [itex]z^{-1}[/itex]? For instance, I have seen in MATLAB simulink the trapezoidal transfer function as;
[itex]\frac{K*Ts(z+1)}{2(z-1)}[/itex]
whereas i think it should be;
[itex]\frac{K*Ts(z^{-1}+1)}{2(z^{-1}-1)}[/itex]
Perhaps MATLAB uses geophysical(?) definition?
Perhaps also instead of tunstin transformation, i should just use [itex]s=z^{-1}[/itex]??
Thanks for any help in advance!