Get Help

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Community
- :
- PTC Mathcad
- :
- PTC Mathcad
- :
- Foster to Cauer Conversion

Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Highlighted

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-07-2019
01:14 PM

10-07-2019
01:14 PM

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

Solved! Go to Solution.

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-11-2019
04:02 PM

10-11-2019
04:02 PM

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

29 REPLIES 29

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-07-2019
02:05 PM

10-07-2019
02:05 PM

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):

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-08-2019
12:49 PM

10-08-2019
12:49 PM

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-08-2019
05:23 PM

10-08-2019
05:23 PM

Re: Foster to Cauer Conversion

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

Luc

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-08-2019
06:25 PM

10-08-2019
06:25 PM

Re: Foster to Cauer Conversion

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-09-2019
02:19 AM

10-09-2019
02:19 AM

Re: Foster to Cauer Conversion

Z11 is saturated soon when using same C and R.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-09-2019
07:34 AM

10-09-2019
07:34 AM

Re: Foster to Cauer Conversion

So you have this:

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

Then with Mathcad 11 you can:

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:

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:

Wherein the construct:

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-09-2019
10:00 AM

10-09-2019
10:00 AM

Re: Foster to Cauer Conversion

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

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-09-2019
06:04 PM

10-09-2019
06:04 PM

Re: Foster to Cauer Conversion

I'm getting close, but not completely there:

For the example of the Thesis this gives:

Which is correct (please check!).

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

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Notify Moderator

10-10-2019
03:07 PM

10-10-2019
03:07 PM

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.