-[[.:start]]
====== DM32 Progs ======
** Description **
===== Return Loss & SWR from Complex Impedance =====
Input Rs and Xs to calculate |z|, |ρ|, VSWR and R.Loss
=== Complex numbers in DM32 ===
The DM32/HP31Sii handles complex numbers by treating stack-X as //Real//, stack-Y and //Imaginary// for one complex number, and stack-Z as //Real// and stack-T as //Imaginary// for a second complex number.
This means the normal 4 level stack can hold 2 complex numbers. This is similar to the HP41 Advantage Pack's method.
To store a complex number in a register actually requires two to be used - one for Real part and one for Imaginary part. This is similar to the HP15C/DM15L.
Once the real and imaginary values are on the stack various "Complex" functions are accessed by SHIFTCMPLXFunction for example to add
Z1 = (10 + j20)
and
Z2 = (30 - j25)
gives
Z3 = Z1 + Z2 = ( 10 + j20 ) + ( 30 - j25 )
20 ENTER 10 ENTER
25 CHS ENTER 30
The stack will show
20.0000
10.0000
-25.0000
30.0000
Then carry out the addition
SHIFT CMPLX +
The display will show
20.0000
10.0000
-5.0000
40.0000
X has the real part of Z3 (40) and Y has the imaginary part of Z3 (-5)
Z3 = ( 40 - j5 )
===== The program =====
LBL Z
INPUT R
INPUT X
X<>Y ; swap so Real is R and Imag is X
0
ENTER
50 ; enter Zo as 50 + j 0
CMPLX + ; complex addition Z + Zo
STO A ; store intermediate value Re (Z + Zo)
R↓
STO B ; store intermediate value Im (Z + Zo)
R↓ ; X and Y stack now holds input Z real & imag again
0
ENTER
50 ; enter Zo as 50 + j 0 (again)
CMPLX - ; complex subtraction Z - Zo
RCL B ; Im (Z + Zo)
RCL A ; Re (Z + Zo)
CMPLX ÷ ; complex divide (STACK z,t holds (Z - Zo) stack x,y holds (Z + Zo) (from reg. A & B) to calculate complex reflection coeff. ρ
STO E ; save Re ρ
R↓
STO F ; save Im ρ
RCL E
y,x -> θ, r ; convert complex rectangular ρ to mag/angle - X holds the magnitude |ρ| ( Y holds the angle, but we don't care)
STO P ; save |ρ|
1
RCL+ P
1
RCL- P
÷
STO S ; store VSWR ( 1 + |ρ| ) / ( 1 - |ρ| )
RCL P
LOG
20
X
STO Y ; store Return Loss = 20 LOG |ρ|
RCL X
RCL R
y,x -> θ, r
STO Z ; store magnitude of impedance |z|
RCL P ; |ρ|
RCL S ; VSWR
RCL Y ; Return Loss
RTN
=== Example ===
* Z = 65.2 + j 17.7
* R = 65.2
* X = 17.7
* Results on stack:
67.5598
0.2002
1.5006
-13.9718
* |Z| = 67.6 ohms
* |ρ| = 0.2
* SWR = 1.5:1
* Return Loss = 13.9dB
--- //John Pumford-Green 19/07/23 06:08//
===== Further Information =====
{{tag>}}