The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 4:18pm
Pages: 1
Send Topic Print
small signal calculation using maths software (Read 1775 times)
mkaragou
Junior Member
**
Offline



Posts: 30
Germany Soest
small signal calculation using maths software
Dec 05th, 2006, 6:09am
 
Has anyone experience with math CAD software to perform symbolic small signal calculations.

I am searching for a math tool that is able to find the symbolic solution of my conduction matrix; to perform some simplification on my equations like neglecting terms that do not contain my amplification term gm*ro without loosing the order of my transfer function; to find a pole parameter value which achieves critical damping on a secod order denominator polynom and to subsitute this value into my poles.

I have only the symbolical tool box of MATLAB available and this software has some problems with substitution and factorizing. Maybe I do not know all the tricks for proper use of this software package. So does anyone have some experience in that area?
Back to top
 
 
View Profile   IP Logged
Jess Chen
Community Fellow
*****
Offline



Posts: 380
California Bay Area
Re: small signal calculation using maths software
Reply #1 - Dec 5th, 2006, 8:29am
 
I use Mathematica for symbolic analysis. I have also found that the abstract mathematical functions, like "Outer" and "Map", come in very handy when doing systems analysis.
Back to top
 
 
View Profile   IP Logged
Croaker
Senior Member
****
Offline



Posts: 235

Re: small signal calculation using maths software
Reply #2 - Dec 5th, 2006, 10:00am
 
I have used the Matlab symbolic toolbox before.  In general it just creates a big equation that isn't very useful for insights.

I do like Sapwin.  It allows you to enter a circuit and gives you a symbolic small-signal solution.  Again, the equation isn't always useful, but it's handy to be able to enter a circuit schematic.
Back to top
 
 
View Profile   IP Logged
mkaragou
Junior Member
**
Offline



Posts: 30
Germany Soest
Re: small signal calculation using maths software
Reply #3 - Dec 7th, 2006, 5:03am
 
Croaker wrote on Dec 5th, 2006, 10:00am:
I have used the Matlab symbolic toolbox before.  In general it just creates a big equation that isn't very useful for insights.

I do like Sapwin.  It allows you to enter a circuit and gives you a symbolic small-signal solution.  Again, the equation isn't always useful, but it's handy to be able to enter a circuit schematic.


Yeah  huge equations are note really helpful. So the software should be capable to simplify equations by neglecting terms but only the unworthy ones.  I am searching for a tool that is able to do things like that.
Back to top
 
 
View Profile   IP Logged
mkaragou
Junior Member
**
Offline



Posts: 30
Germany Soest
Re: small signal calculation using maths software
Reply #4 - Dec 7th, 2006, 5:29am
 
Jess Chen wrote on Dec 5th, 2006, 8:29am:
I use Mathematica for symbolic analysis. I have also found that the abstract mathematical functions, like "Outer" and "Map", come in very handy when doing systems analysis.


Oh that is interesting. Could you please explain of what help the functions you mentioned above are. Because I do not have mathematica and before I purchaise a new software package it would lbe nice to know if it makes sense to spend the money.
Back to top
 
 
View Profile   IP Logged
Jess Chen
Community Fellow
*****
Offline



Posts: 380
California Bay Area
Re: small signal calculation using maths software
Reply #5 - Dec 7th, 2006, 1:08pm
 
Before I begin, let me first say that while Mathematica is very powerful, it also has a steep learning curve. I highly recommend investing in the first training course if you decide to buy it. Also, as I write this, I realize I should have mentioned the "List" function too.

As for the functions I mentioned, I first state the problem. In an RF receiver chain, several stages have programmable gain to keep the output signal at the optimal level while the input signal swings over a wide dynamic range. Let suppose the RF front end has 3 gain states while two down stream stages have 10 states each. That makes a total of 300 gain states. For a given input signal level and a target output signal level, there may be several composite gain states that produce the same gain. I call gain states with essentially the same gain,  "degenerate" gain states. Degenerate gain states do not all perform the same, some have lower noise figures while others have higher compression points. From the degenerate gain states, how do we select the "best" one?

I start by computing the composite gain, noise figure, compression point, and a label for ALL possible gain states. I then filter out those states that do not meet noise and linearity constraints. If any degeneracy remains, I select the gain states with superior noise or linearity performance. The result is an optimal set of gain states. Hopefully, the resulting gain states support the desired range of input signals. Gaps in the supported input signal levels indicate that the existing architecture does not meet end-to-end specifications. The key step in this approach is to characterize all possible gain states.

My Mathematica implemenation of this approach to RF systems design is based primarily on one Mathematica function, the Outer function. I use the Outer function to characterize all possible gain states. The Outer function is a generalization of the outer product. The outer product of two vectors, {a,b} and {c,d}, is the following matrix:

{{a*c,a*d},{b*c,b*d}}.

The outer product computes all possible products of the components of the two vectors. Mathematica's Outer function does the same thing but is not confined to just two vectors and is not confined to just "*" as the operator. Also, the operator is not confined to scalar arguments like "a" and "c" or to scalar outputs like a*c. In fact, I replace "a" with a list comprised of {gain, noise figure, compression point, and label}. "b" would represent the same list but for a different gain state. The hyper-list {a,b,...} would characterize all gain states of the first stage. The "{c,d,...}" list would do the same for the second gain stage, and so on.  I replace the "*" operator in the outer product with a list of operators that compute composite {gain, noise figure, compression point, label} for a particular composite gain state. The composite gain function merely sums the dB of gains from each stage. The composite noise figure function applies the Friis formula for cascaded noise figure. The composite compression point comes from a simillar formula. Mathematica has another function, "List", ideally suited to iterative computations like the Friis formula. You specify a function (e.g. two stage Friis formula), a starting output, and a list of arguments. The List function then iterates through the arguments to compute the cascaded results.

I also used the "Map" function many times. Map applies a function to all elements of a list. For example, I could use the Map function to convert a list of frequencies into a list of attenuations based on a transfer function. I would "Map" the transfer function over the list of frequencies. I have not mentioned all the functions I used, only some of the key functions.

One could implement this overall approach to receiver design in Matlab, or C, or any other language but I don't think the result would be as flexible. I implemented this approach in Matlab once. Matlab is better suited for, and faster at, long simulations but in my opinion, Mathematica is better at higher levels of abstraction. In this application, the higher level of abstraction makes the code more flexible. If it's done right, adding or subtracting another stage is trivial: just add another element to the list of stages. If you want to add another parameter, just add it to the lists. If you want to add another output, like blocker level, just add that function to the function list. Nowhere in the Mathematica code did I have to use a "for, next" loop. A "for" loop would have required knowledge of the length of the chain. Since Mathematica is also a word processor, it's easy to document your work. The data visualiztion capabilities are also very good.

I have also used the Outer function to compute and track all possible mixer spurs and then flag those culprit spurs that fall into any one of a set of victim bands. In this case, string manipulation played a key role and I found the Mathematica's string manipulation capabilities superior to those found in other tools.

Again, I must warn you that although Mathematica is a very power tool for RF systems design and analysis (in my opinion), it takes patience to learn. I have not regretted the time it took me to learn Mathematica. On the contrary, once I got into it, it was fun to use.

-Jess
Back to top
 
« Last Edit: Dec 7th, 2006, 6:31pm by Jess Chen »  
View Profile   IP Logged
mkaragou
Junior Member
**
Offline



Posts: 30
Germany Soest
Re: small signal calculation using maths software
Reply #6 - Dec 8th, 2006, 3:37am
 
Ok Jeff you have convinced me. I have already bought and installed Mathematica on my notebook.
Thanks for your help!
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: small signal calculation using maths software
Reply #7 - Dec 10th, 2006, 4:30am
 
Mkaragou,

  If you have Mathematica, you might want to try Analog Insydes. You can
get a free demo at the home page,

http://www.wolfram.com/products/applications/insydes/

it also has an integration into the Cadence tools

http://www.wolfram.com/products/applications/insydes/new.html

I worked through the tutorial material and it seemed to worked. However, the
demo license was not enough for to get to the level I needed to be to use the
way I wanted to use it, i.e., for making behavioral models.

                                                        Best Regards,

                                                          Sheldon
Back to top
 
 
View Profile   IP Logged
mkaragou
Junior Member
**
Offline



Posts: 30
Germany Soest
Re: small signal calculation using maths software
Reply #8 - Dec 10th, 2006, 2:15pm
 
Wow, this seems to be exactly what I was searching for.

Look at this!

Quote:
To cope with the extreme complexity of symbolic calculations Analog Insydes provides advanced symbolic approximation algorithms. By detecting and discarding insignificant terms large expressions or systems of equations can be reduced to simple ones that let you gain more insight into the behavior of your circuits.


http://www.analog-insydes.de/ai/symbolic/

The only thing that I do not like is the price Sad If I like the demo I will contact them. Maybe they have special offers for students!
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.