Cascade is a program for analyzing the noise and distortion performance of a cascade of elements in an electronic system. A typical application of cascade is the analysis of a receiver. A text description of the receiver block diagram consisting of things like amplifiers, mixers, and filters is entered into cascade. Each element is characterized by its gain and optionally noise figure, and third order intercept point. The program then analyzes the system and produces a report detailing the performance at each stage.
Return to topCascade reads a system description from a text file, computes the parameters for the system, and produces a report file. The input file is created using any ASCII text editor.
Any line beginning with *
, #
, or ;
is treated as a comment line and is ignored. In addition, any line starting
with @
is treated as a verbose comment line which is copied over
to the output. This allows extra annotation to be added to the output file.
Blank lines (lines with only spaces and tabs) are ignored.
An optional defaults
line may be included to tell the program
certain default parameters. The defaults
line may be used
anywhere in the input file. The listed values take effect at the
place in the system where the defaults
line is
given. Multiple defaults
lines may be used in the input
file. This is useful if, for example, the system switches from
75 ohms to 50 ohms part way through the cascade.
A defaults line is specified as follows:
- defaults [rin=RIN] [rout=ROUT] [rho=RHO]
Where
RIN
= Default input resistance for each stage
ROUT
= Default output resistance for each stage
RHO
= Default third order intermodulation
distortion correlation coefficient
Some examples of valid defaults
lines are:
- defaults rin=75 rout=75
- defaults rho=1
- defaults rin=600 rout=600 rho=0
An optional source line may be included to tell the program what
the carrier level is going into the system. In addition, C/No, or
equivalently, C/N and receiver noise bandwidth, may be specified
to allow calculation of C/N degredation. If a source
line is used, it must come before any element lines.
A source is specified
as follows:
- source c=C [cno=C/No | cn=C/N bw=BW]
Where
C
= Carrier level at the input to the system in dBm.
C/No
= Carrier to noise spectral density ratio at the
input to the system in dBc/Hz.
C/N
= Carrier to noise ratio at the input to the
system in dBc.
BW
= Receiver noise bandwidth in Hz.
Some examples of valid source lines are:
- source c=-25 cn=50 bw=6e6
- source c=-15 cno=115
- source c=-10
Each element in the system is described by an element line. The elements are connected in the order in which they appear in the input file. Elements are entered as follows:
- element_name g=G|gp=GP|gv=GV [nf=NF]
[iip3=IIP3 [r=RHO] ] [rin=RIN] [rout=ROUT]
Where
element_name
= Any string to name the block. The
only restriction is that the keyword source
may not be used as
an element name. Underscores should be used in place of spaces in the
element name.
G
= Power gain of the element in dB.
GP
= Power gain of the element in dB.
GV
= Voltage gain of the element in dB.
NF
= Noise figure of the element in dB.
Defaults to 0 dB
IIP3
= Input third order intercept point
of the element in dBm. Default is no distortion created.
RHO
= Distortion correlation coefficient for
the element. A value of 0 produces power addition, a value of 1 produces
voltage addition. The value of RHO
must be
between 0 and 1. If not specified by a defaults
line,
then the default value is 0 (power addition), otherwise the
value from the defaults
line is used.
RIN
= Input resistance in ohms. Currently only
used in conjunction with ROUT
to relate voltage
gain and power gain for the stage.
If not specified, it defaults to the value
given by the most recent defaults
line.
ROUT
= Output resistance in ohms. Currently only
used in conjunction with RIN
to relate voltage
gain and power gain for the stage.
If not specified, it defaults to the value
given by the most recent defaults
line.
Some examples of valid element lines are:
- ideal_gain g=10
- noisy_gain g=12 nf=15
- transformer gp=0 rin=50 rout=200
- nonlinear_amp g=8 nf=6 iip3=-5
Return to top
This section shows an example of the use of the cascade program. The block diagram for the system to be analyzed is shown below.
The input file ex1.cas
contains the following:
# Id: ex1.cas,v 1.2 2001/09/05 19:15:37 dan Exp
#
@ An example input file for the program cascade
#
source c=-40 cn=25 bw=1e6
rf_filter g=-1.5 nf=1.5
lna g=10 nf=2.3 iip3=0
first_mixer g=-7 nf=7 iip3=20
if_amp_1 g=8 nf=5 iip3=12
transformer rin=50 rout=200 gp=0
# end of input file
To run cascade on the input file and display the results to the screen, use the following format.
The results can be saved to a file by
The resulting output file ex1.out
contains the following:
************************************************************
* CASCADE ANALYSIS *
* Version 1.4 *
* (c) 1997-2001 Dan McMahill *
* mcmahill@alum.mit.edu *
************************************************************
Processing input file "ex1.cas"
@ An example input file for the program cascade
************************************************************
* Input Source *
************************************************************
Source Resistance = 50 Ohms
Input Carrier Level = -40 dBm
Input Noise Density = -125 dBm/Hz
Input C/N = 25 dB
Receiver Noise BW = 1 MHz
Input C/No = 85 dB/Hz
************************************************************
* Stage #1 "rf_filter" *
************************************************************
Power Gain= -1.50 dB, Voltage Gain= -1.50 dB
NF= 1.50 dB
Input Res. = 50 Ohms, Output Res. = 50 Ohms
No Distortion In this Stage
Total Power Gain = -1.50 dB
Total Voltage Gain = -1.50 dB
Total Noise Figure = 1.50 dB
Noise Figure from this stage only = 1.50 dB
C/N = 25.00 dB
C/No = 85.00 dB
C/N Degradation = 0.000 dB
C/N Degradation from this stage only = 0.000 dB
Output Carrier Level = -41.50 dBm
= 5.49 dBmV
Output Open Circuit Voltage = 11.51 dBmV
************************************************************
* Stage #2 "lna" *
************************************************************
Power Gain= 10.00 dB, Voltage Gain= 10.00 dB
NF= 2.30 dB
Input Res. = 50 Ohms, Output Res. = 50 Ohms
IIP3= 0.00 dBm ( 46.99 dBmV), RHO= 0.00
Total Power Gain = 8.50 dB
Total Voltage Gain = 8.50 dB
Total Noise Figure = 3.80 dB
Noise Figure from this stage only = 2.98 dB
C/N = 25.00 dB
C/No = 85.00 dB
C/N Degradation = 0.000 dB
C/N Degradation from this stage only = 0.000 dB
IIP3 = 1.50 dBm
IIP3 from this stage only = 1.50 dBm
Output Carrier Level = -31.50 dBm
= 15.49 dBmV
Output Open Circuit Voltage = 21.51 dBmV
Third Order Intermod Level = -83.00 dBc
************************************************************
* Stage #3 "first_mixer" *
************************************************************
Power Gain= -7.00 dB, Voltage Gain= -7.00 dB
NF= 7.00 dB
Input Res. = 50 Ohms, Output Res. = 50 Ohms
IIP3= 20.00 dBm ( 66.99 dBmV), RHO= 0.00
Total Power Gain = 1.50 dB
Total Voltage Gain = 1.50 dB
Total Noise Figure = 4.72 dB
Noise Figure from this stage only = 1.95 dB
C/N = 25.00 dB
C/No = 85.00 dB
C/N Degradation = 0.000 dB
C/N Degradation from this stage only = 0.000 dB
IIP3 = 1.48 dBm
IIP3 from this stage only = 11.50 dBm
Output Carrier Level = -38.50 dBm
= 8.49 dBmV
Output Open Circuit Voltage = 14.51 dBmV
Third Order Intermod Level = -82.96 dBc
************************************************************
* Stage #4 "if_amp_1" *
************************************************************
Power Gain= 8.00 dB, Voltage Gain= 8.00 dB
NF= 5.00 dB
Input Res. = 50 Ohms, Output Res. = 50 Ohms
IIP3= 12.00 dBm ( 58.99 dBmV), RHO= 0.00
Total Power Gain = 9.50 dB
Total Voltage Gain = 9.50 dB
Total Noise Figure = 6.53 dB
Noise Figure from this stage only = 4.03 dB
C/N = 25.00 dB
C/No = 85.00 dB
C/N Degradation = 0.000 dB
C/N Degradation from this stage only = 0.000 dB
IIP3 = 1.44 dBm
IIP3 from this stage only = 10.50 dBm
Output Carrier Level = -30.50 dBm
= 16.49 dBmV
Output Open Circuit Voltage = 22.51 dBmV
Third Order Intermod Level = -82.89 dBc
************************************************************
* Stage #5 "transformer" *
************************************************************
Power Gain= 0.00 dB, Voltage Gain= 6.02 dB
NF= 0.00 dB
Input Res. = 50 Ohms, Output Res. = 200 Ohms
No Distortion In this Stage
Total Power Gain = 9.50 dB
Total Voltage Gain = 15.52 dB
Total Noise Figure = 6.53 dB
Noise Figure from this stage only = 0.00 dB
C/N = 25.00 dB
C/No = 85.00 dB
C/N Degradation = 0.000 dB
C/N Degradation from this stage only = 0.000 dB
IIP3 = 1.44 dBm
Output Carrier Level = -30.50 dBm
= 16.49 dBmV
Output Open Circuit Voltage = 22.51 dBmV
Third Order Intermod Level = -82.89 dBc
************************************************************
****** ANALYSIS OF THE 5 ELEMENT CASCADE IS COMPLETE ******
************************************************************
************************************************************
* Noise Figure Contribution Summary *
************************************************************
Stage Noise Figure Possible Noise Figure
in the system Improvement
--------------- ---------------- ----------------------
if_amp_1 4.033 dB 1.808 dB
lna 2.980 dB 1.075 dB
first_mixer 1.950 dB 0.585 dB
rf_filter 1.500 dB 0.418 dB
transformer 0.000 dB 0.000 dB
************************************************************
* IIP3 Contribution Summary *
************************************************************
Stage IIP3 in the system
--------------- --------------------
lna 1.500 dBm
if_amp_1 10.500 dBm
first_mixer 11.500 dBm
************************************************************
* CASCADE ANALYSIS COMPLETE *
************************************************************
sh
shell should work. In particular,
cascade has been tested under NetBSD, SunOs, and Solaris.
gawk
or nawk
Cascade is available for free but is not in the public domain. Please refer to the license file for details.
Cascade is now hosted by SourceForge and can be downloaded via FTP at ftp://ftp.sourceforge.net/pub/sourceforge/rfcascade/ or via HTTP from http://prdownloads.sourceforge.net/rfcascade/.
There is a Cascade Package available for NetBSD.
Return to topINSTALL
that is part of the
cascade distribution for details on installation.
To report a bug, request a new feature, or participate in an online discussion forum about cascade, please visit the project's SourceForge Home.
Return to topTo try out cascade, you can use the RF Cascade CGI interface.
Return to top
$Id: index.html,v 1.8 2003/12/20 17:19:51 dan Exp $
|