Copyright (c) 2007 Takuichi Hirano
Generalized Scattering Matrix (GSM), Scattering Matrix (S-Matrix), Microwave Circuit, Antenna, High Frequency, Electromagnetic Wave, Distributed Constant Circuit, Connection, Mode, Transmission Line, Waveguide, Microstrip Line, Coaxial Cable, Simulator
Generalized Scattering Matrix (GSM) Solver is a free software to solve connected scattering matrix network. User can specify arbitrarily-connected scattering matrix network by using two input files. One input file specifies scattering matrices of each block, another one describes connection network, excitation and matched-load terminal condition.
Fig.1 Arbitrarily-connected scattering matrix network.
Copyright (c) 2007 Takuichi Hirano. All rights reserved.
GSM Solver is a freely-available software. Like all software, it is copyrighted. I do not have any responsibilities for problems which will be caused by using this software. It can be included in commercial software packages. I only ask that proper credit be given to the author.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer listed in this license in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- If you redistribute with modification by retaining LAPACK routines, you must follow restrictions on the use of LAPACK software because GSM Solver uses "zgesvd.f plus dependencies" of LAPACK.
The content of the following distributions are completely the same. The only difference is the kind of archivers. Please download a favorite archive.
Passed virus scan by Trend Micro Virus Buster 2007 (Program Ver.: 15.00.1433, Engine Ver.: 8.32.1003, Pattern File No.: 4.169.50).
This distribution includes:
* Readme.txt (Simple document and copyright declaration)
* gsm.exe (Windows EXE file; 32-bit executable binary file for console application)
* s_matrix.dat (Sample S-matrix input file of "1. Quarter Wavelength Transformer" in page)
* topology.dat (Sample topology input file of "1. Quarter Wavelength Transformer" in page)
Fig.2 Quater-wavelength line with lumped impedance termination.
As an example, let us consider the structure as shown in Fig.2 (a). Quarter-wavelength line is connected to the impedance Z. In order to calculate the input impedance from the terminal port, S-parameter representation in Fig.2 (b) is used in GSM Solver. Lengths of connection lines between the blocks are zero (only topology is represented). You can express the length of connection line by S-matrix of a delay line as shown in Fig.2 (b). The followings are input two files to express this situation.
[S-matrix Input File (s_matrix.dat)]
|"-------- GSM SOLVER (S-MATRIX INPUT FILE) --------"
"NO. OF BLOCKS", 2
"NO. OF PORTS IN BLOCK 1", 2
"S(1,1) [dB, deg]=", -100.0, 0.0
"S(1,2) [dB, deg]=", 0.0, -90.0
"S(2,1) [dB, deg]=", 0.0, -90.0
"S(2,2) [dB, deg]=", -100.0, 0.0
"NO. OF PORTS IN BLOCK 2", 1
"S(1,1) [dB, deg]=", -6.9897, 63.6439
* Character strings between double or single quotations are
for human-friendly and will be ignored in the program.
* The first line is string comment.
* The second line specifies the number of blocks.
* From the third line, the number of blocks and S-matrix of each block are specified.
* If Block M have N ports, the size of scattering matrix [S(i,j)] is N by N. This will be represented by N lines in the S-matrix input file with the form of "S(i,j) [dB, deg]=", Magnitude[dB], Phase[deg]". Variables i and j are outer and inner loop, respectively.
[Toplogy Input File (topology.dat)]
|CM -------- GSM SOLVER (TOPOLOGY INPUT
CM CM; COMMENTS
CM CN BLOCKi PORTi BLOCKj PORTj; CONNECT
CM EX BLOCKi PORTi MAG[dB] PHA[deg]; EXCITE
CM LD BLOCKi PORTi; MATCHED LOAD
CM OP BLOCKi PORTi IN_OUT[1=IN, 2=OUT]; OUTPUT
CM ED; END
CN 1 2 2 1
EX 1 1 0.0d0 0.0d0
OP 1 1 2
OP 2 1 1
OP 2 1 2
|CM [COMMENTS]||Comments. The rest of "CM" will be neglected by the program.|
|CN [BLOCKi] [PORTj] [BLOCKk] [PORTl]||Connects Port j of Block i and Port l of Block k.|
|EX [BLOCKi] [PORTj] [MAG(dB)] [PHA(deg)]||Excitate Port j of Block i. Magnitude and phase can be specified.|
|LD [BLOCKi] [PORTj]||Terminat Port j of Block i with matched load (no reflection).|
|OP [BLOCKi] [PORTj] [IN OR OUT(1=IN, 2=OUT)]||The result of Port j of Block i will be displayed in output file. You can specify input or output.|
|ED||End of topology input file.|
* Excitation port is terminated by a matched-load.
* If you do not specify termination at ports, those ports will be terminated by matched-loads.
* The topology input file is read from the top to the bottom line. But the order of commands is not important.
* If "ED" command appears, the rest of commands are neglected.
Usage: gsm [input S-matrix file] [input topology file] [output file]
Output is written in output file (result.dat) as follows.
| **** INPUT ****
---- READ S MATRICES ----
NO. OF TOTAL BLOCKS= 2
NO. OF TOTAL PORTS= 3
-- BLOCK 1 --
S( 1, 1)= -100.000000000000 [dB],
S( 1, 2)= 0.000000000000000E+000 [dB],
S( 2, 1)= 0.000000000000000E+000 [dB],
S( 2, 2)= -100.000000000000 [dB],
-- BLOCK 2 --
S( 1, 1)= -6.98970000000000 [dB],
---- END OF READ S MATRICES ----
---- READ TOPOLOGY ----
CN 1 2 2 1
EX 1 1 0.000000000000000E+000 0.000000000000000E+000
OP 1 1 2
OP 2 1 1
OP 2 1 2
---- END OF READ TOPOLOGY ----
NO. OF GSM UNKNOWNS= 5
**** BUILD GSM MATRIX ****
**** SOLVE ****
CONDITION NUMBER= 4.75277868641375
**** OUTPUT ****
(BLOCK, PORT, IN OR OUT)=MAGNITUDE [dB], PHASE [deg]
( 1, 1, 2)=
-6.98976897770091 [dB], -116.354722391180 [deg]
( 2, 1, 1)=
1.724490571454202E-005 [dB], -89.9997704000476 [deg]
( 2, 1, 2)=
-6.98968275509429 [dB], -26.3558704000476 [deg]
**** FINISHED ****
PDF File: gsm_technical_notes.pdf
[History of GSM Solver releases]