+ Post New Thread
Results 1 to 19 of 19

8th February 2019, 14:46 #1
 Join Date
 Oct 2012
 Posts
 99
 Helped
 0 / 0
 Points
 1,630
 Level
 9
How to implement a transfer function with discrete components
Hi,
I need to implement a second order transfer function in 's' domain (having 2 poles, 1 zero and 2.5 DC gain) using transistors and discrete components. Since I have not done so previously, can anyone guide me how to do so? I did a search with the keywords ‘realise a second order transfer function, bjt’ but ended up with papers on filters etc.
If possible, pls. point to me to any document / app note/ website demonstrating the transfer function realization with an example.
I am looking forward to your comments.
Thanks,
Arvind Gupta.

8th February 2019, 15:24 #2
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
Hi,
A commonemitter amplifier should do, I think.
What are the zero and poles frequencies?
   Updated   
Add:
What type of zero is it? Inverted or noninverted? Write out your transfer function too.Last edited by Akanimo; 8th February 2019 at 15:30.

Akanimo.

8th February 2019, 16:24 #3

Advertisment

8th February 2019, 17:25 #4
 Join Date
 Oct 2012
 Posts
 99
 Helped
 0 / 0
 Points
 1,630
 Level
 9
Re: How to implement a transfer function with discrete components
Thanks for the response.
The TF = 2.5 (s  1)/ {(s+5) (s+60)}
Regards,
Arvind Gupta
   Updated   
   Updated   
Thanks for the clarification. BTW is there any general technique for implementing TFs, viz. one pole TFs, 2 pole TFs, 3 pole TFs and so on.
Regards,
Arvind Gupta

9th February 2019, 02:50 #5
 Join Date
 Feb 2014
 Posts
 577
 Helped
 207 / 207
 Points
 4,400
 Level
 15
Re: How to implement a transfer function with discrete components
As said, yes this is a filter and you need to be familiar with basic filter building blocks. There is no magic way to create an arbitrary system but there are some basic building blocks:
First order low pass (pole)
First order high pass (zero)
Integrator (pole)
Differentiator (zero)
And then more advanced filter topological which include multiple poles and zeros (and the possibility of complex poles as zeros) such as sallenkey or biquad (2 pole, 2 zero).
It's possible to create 3rd order and higher but, for various reasons, quite common to build those instead by cascading multiple first or second order blocks in series.
Note that everything mentioned above is equally applicable to analog or digital (see IIR) systems.
In the specific case of your transfer function I built it in LTSpice with RC>Differentiator (with opamp)>RC to create the two poles and one zero.

9th February 2019, 09:10 #6
 Join Date
 Oct 2012
 Posts
 99
 Helped
 0 / 0
 Points
 1,630
 Level
 9
Re: How to implement a transfer function with discrete components

Advertisment

9th February 2019, 09:32 #7
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
asdf44 mentioned that he did it with an OpAmp, so basically, it would be Rf/R1=2.5 for a DC gain of 2.5.
You haven't implemented transfer functions before? Why then are you going for transistorbased implementation? Why not prefer opampbased implementation which would be far easier?
Your transfer function is not in normalised form. Repost it's normalised form here.
Akanimo.

Advertisment

10th February 2019, 17:44 #8
 Join Date
 Oct 2012
 Posts
 99
 Helped
 0 / 0
 Points
 1,630
 Level
 9
Re: How to implement a transfer function with discrete components

10th February 2019, 17:55 #9
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components

Akanimo.

11th February 2019, 00:27 #10
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
I was trying to normalise the TF but I encountered some challenge. Here is where I got stuck:
TF(s) = (2.5/300)*(s1)/(1+(s/(300/65))+((s^2)/300))
I am thinking of ways to normalise the numerator.
How did you arrive at this transfer function? Where did you get it from?
Akanimo.

16th February 2019, 00:08 #11
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
I have been thinking about this transfer function.
(s1) in the numerator. Isn't that a RHPZ?
And the frequencies are very low. For instance, if the zero (s1) is compared to a standard form (sw_z) then w_z = 1 = 2*pi*f_z.
Therefore zero frequency f_z = 1/(2*pi) = 1/6.284 Hz.
The transfer function doesn't seem like it is for a compensator. It seems like it is the transfer function of an uncompensated loop gain that you need to compensate. That's why I ask how you arrived at it. Maybe you should clarify.Last edited by Akanimo; 16th February 2019 at 00:28.

Akanimo.

16th February 2019, 11:34 #12
 Join Date
 Jan 2008
 Location
 Bochum, Germany
 Posts
 43,781
 Helped
 13312 / 13312
 Points
 251,412
 Level
 100

16th February 2019, 13:58 #13
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
FvM,
Please review. The DC gain should be 2.5*1/(5*60) = 2.5/300.
But not for the RHPZ, it could be implemented with a single Opamp.
Akanimo.

16th February 2019, 14:07 #14
 Join Date
 Jan 2008
 Location
 Bochum, Germany
 Posts
 43,781
 Helped
 13312 / 13312
 Points
 251,412
 Level
 100
Re: How to implement a transfer function with discrete components
The DC gain should be 2.5*1/(5*60) = 2.5/300.

Yesterday, 12:54 #15
 Join Date
 Jan 2019
 Posts
 1
 Helped
 0 / 0
 Points
 28
 Level
 1
Re: How to implement a transfer function with discrete components
There is a classic book on this topic by Kendall Su. It is really an exhaustive book on filter design using passive components and/or active components.

Yesterday, 18:39 #16
 Join Date
 Feb 2014
 Posts
 577
 Helped
 207 / 207
 Points
 4,400
 Level
 15
Re: How to implement a transfer function with discrete components
I admit when I said I had modeled it above I was wrong which is why I never posted it. I had matched the gain and thought the phase mismatch I was seeing was a simulation artifact but infact was because I wasn't handling the RHP zero correctly. Thanks FvM for posting the correct circuit.

Yesterday, 20:05 #17
 Join Date
 Aug 2016
 Posts
 241
 Helped
 37 / 37
 Points
 1,568
 Level
 9
Re: How to implement a transfer function with discrete components
Now, I'm wondering what application we would need to implement a RHPZ for. Why would we want to increase gain slope by +20dB/decade but lose phase margin by 45 degrees?
Last edited by Akanimo; Yesterday at 20:18.

Akanimo.

Yesterday, 20:22 #18
 Join Date
 Oct 2012
 Posts
 99
 Helped
 0 / 0
 Points
 1,630
 Level
 9

Advertisment

Today, 00:09 #19
 Join Date
 Jan 2008
 Location
 Bochum, Germany
 Posts
 43,781
 Helped
 13312 / 13312
 Points
 251,412
 Level
 100
Re: How to implement a transfer function with discrete components
1. Know that a RHPZ + single pole combo with unequal pole/zero frequencies can be implemented by modification of a standard active allpass
2. Add a second pole respectively first order lowpass
3. Adjust the parameters by comparison of coefficients
Used Sapwin to validate the transfer function
+ Post New Thread
Please login