cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Foster to Cauer Conversion

SOLVED
Regular Member

Foster to Cauer Conversion

I am trying to write a program that implements the Foster - Cauer conversion algorithm described in summarily in page 19 of System-Level Thermal Simulation - nxp.com and thoroughly in appendix 2 of Aliyu, Attahir Murtala PhD thesis (that also includes an implementation in MATLAB) , but I cannot find how to program the manipulations they describe using MathCAD, especially the "polynomial long division" to obtain "quotient + remainder".

 

Anyone willing to help?

 

Note that I am using MathCAD 15

 

Thanks

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Foster to Cauer Conversion

I don't have v15, but I have a reasonable guess. If you look at the beginning of the Z2RCladder area, I define a function Stack, which accepts NaN (not a number). This acts as a NULL number. V11 allows for it; I don't know if v15 does or not. In any case, the object of Stack is to allow use of cases such as Stack(NaN, vec), which simply returns vec, the non-NaN argument. The built-in function stack in v11 gives an error in this case; it requires both arguments to be arrays of appropriate dimensions. I don't know if this hold true in v15.

 

This behavior is useful when iterating calculations through a number of values, and want to append the result of the most recent cal to the existing array. By setting the initial value to NaN, the the initial calc (with no preceding calc values to append to) does not need to be treated/programmed as a special case.

 

If you can find an alternate way to implement Stack, then simply replace my original definition. The revised file attached goes another route.I implemented a second version of the Z2RCladder function, in which I initialize the RC array to (0 0) instead of NaN. This results in an extraneous first row in the output array, which is removed  before returning the RC values.

 

Lou

 

 

View solution in original post

29 REPLIES 29

Re: Foster to Cauer Conversion

Hi,
the following two photos illustrate the algorithm of the synthetic division and an example (you have only to change z with s):

divsin.jpgdivsin2.jpg

Re: Foster to Cauer Conversion

Hi Topaz,

Thanks for your reply but this is not exactly what I am looking for. It is not as simple as replacing z with s.

To find the Cauer parameters the quotient of each iteration gives the value of one component and the remainder is used for the next iteration.

I attached a MathCAD file that implements the example A2.3 of Aliyu, Attahir Murtala PhD thesis .

This example is for a second order Cauer network with two capacitors and two resistors. It can easily be expanded to higher order but the problem is that I need to do this calculation for several thousands of networks then I need to convert this into a MathCAD program that I can call each time I need to find the Cauer parameters of a network.

 

Re: Foster to Cauer Conversion

Are all your filters the same size (Same number of R's and C's, same topology)?

 

Luc

Highlighted

Re: Foster to Cauer Conversion

Yes they will be 5th order Cauer networks like this:

 

clipboard_image_0.png

Re: Foster to Cauer Conversion

Z11 is saturated soon when using same C and R.

image.png

Re: Foster to Cauer Conversion

So you have this:

clipboard_image_0.png

Which means that, for a 2 and a 5-stage network you get, respectively:

clipboard_image_1.png

Then with Mathcad 11 you can:

clipboard_image_2.png

With this you have to divide the numerator out in every division, to get the numerators to 1.

Unfortunately Mathcad 11 will not give the full symbolic solution for a 5-stage network (it does 3, tries 4 but takes an awefull lot of time), but:

clipboard_image_3.png

If the numbers are known, a solution is found.

As said, this works in Mathcad 11, I don't think it will work in mathcad 15, nor in any existing version of Prime.

 

This probably is the way it can be solved:

clipboard_image_4.png

Wherein the construct:

clipboard_image_6.png

Means 'the result of the 1st derivative of f to its argument, at the point where the argument is 0'.

I hope this gets you a step further.

 

Success!

Luc

 

P.S. Mathcad 11 actually does the 4-stage fully symbolically, but the result is uncomfortably big.

Re: Foster to Cauer Conversion

In Laplace domain, the network looks like this in MathCAD 15:

clipboard_image_1.png

You can see by looking at the left side, that the technique of "quotient + remainder" is probably the easiest way to retrieve the values of the Cauer network.

 

But doing the symbolic manipulation in a MathCAd routine, that I didn't find how to do it.

Re: Foster to Cauer Conversion

I'm getting close, but not completely there:

clipboard_image_0.png

For the example of the Thesis this gives:

clipboard_image_1.png

Which is correct (please check!).

There's an 8-section example in the NXP presentation that goes completely off.

clipboard_image_2.png

There's one remark to make already: since I'm using multiple symbolic assignments in one program, chances are that this will not work in any other than Mathcad 11.

But it may be possible to find a similar approach that does work in Mathcad 15.

 

Luc

Re: Foster to Cauer Conversion

It looks like this is why I cannot do it.

I need to male multiple symbolic assignments in my program and it is not possible in MathCAD 15!

I just called PTC support and they said that it is not possible to download MathCAD 11.

Is there an other way to get it?

I will try to call PTC support to see if they can find a way to do that in version 15.

 

Thank you very much anyway, I would not have found why I can not do it without your help.

Announcements