S参数详解

一 介绍

目前常见的 S 参数模型文件有两种格式:Touchstone 和 Citifile,常用的是 Touchstone 格式, 在各种仿真和测试仪表上得到了充分的支持,所以本文仅仅对 Touchstone 格式做说明。 Touchstone 文件,也就是我们经常看到的 Snp 文件,一般我们从厂家拿到的、从网络分析仪测 试得到的和从仿真软件仿真得到的 S 参数模型都是这个格式的,最初由 Hp(现 Agilent)公司提 出,现在已经成为 N 端口传输参数事实上的行业标准,包含若干个频率点下端口的传输参数值,下面对 Touchstone 文件的格式做详细介绍。

TouchStone格式文件也就是我们通常是到的SnP文件,用来表示S参数。它是用来保存N端口网络有源设备或者无源连接的参数。在TouchStone格式成为事实上的标准的同时,并没有正式的文档规定文件的格式和语法。本文基于安捷伦公司(Touchstone的来源)的信息,由EIA/IBIS组织制定成一个正式的规定。

二 常规语法和指导原则

下面就是TouchStone文件的语法和指导原则

1. TouchStone文件不区分大小写。

2. 只有ANSI Standard X3.4-1986中规定的ASCII字符才能在TouchStone文件合法使用。ASCII码值比十六进制0x7E大的字符是不允许使用的。同样ASCII码中的控制字符(通常比十六进制0x20小)也不允许使用,除了制表符(tabs)或者回车字符(carriage-return or carriage-return/line-feed combination)。

3. 评论前面要以感叹号(!)开始。评论可以是一个独立的行,也可以在行末。评论通过换行符结束(即,不允许多行评论)。

4. 按照惯例,TouchStone文件后缀为“.snp”,其中n为设备或者连接网络的端口数目。例如,双口网络的文件名就会这样命名: “filename.s2p”,三口网络就是“filename.s3p”,以此类推。

5. 按照惯例角度都是用度数来表示。


三 文件格式格式描述

TouchStone数据文件包含一个“选项行”,在选项行之后会有一个或者多个网络参数的数据集,每个数据集都是在一个特定的频率小得到的。选项行规定文件包含的网络数据类型(s参数,z参数等等),数据值的格式(幅度-相位,实部-虚部等等)和归一化阻抗。每个频率的数据集可能为一行或者多行,每个数据集第一行以频率开始,这个频率就是等到这个数据集的频率。单口网络和双口网络数据集只有一行,三口或者以上网络都按矩阵的形式排列。TouchStone格式的文件支持的矩阵不限大小。(注意,尽管如此,很多应用程序或者计算机内存都会设置一个上限。)


除了上述选项行和数据行之外,双口网络还有可能带有噪声参数数据。最后,可以在需要的时候加入评论行。


选项行,数据行,评论行和噪声数据在后面的章节详细讲述。


选项行

每个TouchStone数据文件必须要包含一个选项行(第一个选项行之后的选项行都会被忽略)。选项行必须是文件中第一个非评论行,格式如下:

# <frequency unit> <parameter> <format> R <n>

其中

# 表示此行为评论行

frequency unit 规定频率的单位。合法的值有GHz, MHz, KHz, Hz。 默认值为GHz。


parameter 表示网络数据的类型。合法的值有:S 为S参数,Y 为导纳参数,Z 为阻抗参数,H 为混合h参数,G 为混合G参数,默认值为S。


format规定网络参数对的格式。合法的值有:DB 是dB-角度 (dB = 20*log|magnitude|),MA 是幅度-角度,RI 是实部-虚部。角度都要用度数表示。要注意的是,本格式并不规定噪声参数。(参见本文最后一节“加入噪声参数”)。默认值是MA。


R n 规定参考电阻,单位为欧姆,n是欧姆值为正整数(实际上的阻抗都会规一化处理)。默认参考电阻是50欧姆。


选项行参数要通过一个或者多个空格隔开,用换行符结束(CR或者CR/LF)。如果参数没有指定就会用默认值。除了开头的#号以及R后面的阻值,选项行的参数可以按随意的顺序排列。


总结,选项行格式如下


单口网络文件: # [HZ/KHZ/MHZ/GHZ] [S/Y/Z/G/H] [MA/DB/RI] [R n]
双口网络文件: # [HZ/KHZ/MHZ/GHZ] [S/Y/Z/G/H] [MA/DB/RI] [R n]
N口网络文件: # [HZ/KHZ/MHZ/GHZ] [S/Y/Z/G/H] [MA/DB/RI] [R n]

中括号([])表示为可选项;…/…/…/表示选择其中一个;n要用一个正整数代替。


选项行示例


频率单位为GHz,S参数,用实部-虚部表示,归一化到100欧姆:

# GHz S RI R 100


频率单位为KHz,Y参数,用实部-虚部表示,归一化到100欧姆:

# KHz Y RI R 100


频率单位为Hz,Z参数,用幅度-角度表示,归一化到1欧姆:

# Hz Z MA R 1


频率单位为KHz,H参数,用实部-虚部表示,归一化到1欧姆:

# KHz H RI R 1


频率单位为Hz,G参数,用幅度-角度表示,归一化到1欧姆:

# Hz G MA R 1


数据行

选项行之后是数据集。数据集包含由选项行规定的网络参数数据(S参数,Z参数,等等。)。单口网络和双口网络值包含一行数据,三口或者以上的网络包含用矩阵形式表示的多行数据。每个数据集都以频率开始(即,每个数据集的第一个行(或者唯一的那一行)的第一个值),数据元素自身是用成对的形式表示的(幅度-角度,dB-角度,实部-虚部)。


数据行和数据集通常有下面三种规则:

  1. 每行的数据对不超过4个。
  2. 每个数据之间用空格隔开
  3. 每行数据通过换行符结束(CR或者CR/LF组合)
  4. 所有数据集要按照频率排序


N端口网络的数据排序如下详述。

单口和双口网络

单口和双口网络每个频率只有一行数据。如下所示,数据行由频率开始,后面跟1个或者4个数据。

单口网络数据集(行)

<frequency value> <N11>

双口网络数据集(行)

<frequency value> <N11>, <N21>, <N12>, <N22>


其中:

frequency value是得到网络参数的频率;N11, N21, N12, N22是数据点,N11, N21,等表示的是数据对。

网络数据点格式由选项行贵的,可以是幅度-角度,dB-角度,实部-虚部(即成对的数据)。对单口网络,只有11,而双口网络需要4个参数组成。

每个数据元都用一个或者多个空格隔开;每个数据行都以换行符结束(CR或者CR/LF)。允许多个数据行(集),但如前文所述,必须要按频率的顺序排列。


下面是一些单口双口网络的实例。以感叹号(!)开始的行为评论。

1

!1-port S-parameter file, single frequency point
# MHz S MA R 50
!freq magS11 angS11
2.000 0.894 -12.136

在上例中,2MHz的S11值用幅度-相位表示。参考阻抗为50欧姆。

2

!1-port Z-parameter file, multiple frequency points
# MHz Z MA R 75
!freq magZ11 angZ11
100 0.99 -4
200 0.80 -22
300 0.707 -45
400 0.40 -62
500 0.01 -89

在上例中,Z11(输入阻抗)归一化到75欧姆,通过选项行中的(R 75)表示。

3

!2-port H-parameter file, single frequency point
# KHz H MA R 1
! freq magH11 angH11 magH21 angH21 magH12 angH12 magH22 angH22
2 .95 -26 3.57 157 .04 76 .66 –14

在上例中H参数是幅度-相位格式,参考电阻为1欧姆。

4

!2-port S-parameter file, three frequency points
# GHZ S RI R 50.0
!freq RelS11 ImS11 ReS21 ImS21 ReS12 ImS12 ReS22 ImS22
1.0000 0.3926 -0.1211 -0.0003 -0.0021 -0.0003 -0.0021 0.3926 -0.1211
2.0000 0.3517 -0.3054 -0.0096 -0.0298 -0.0096 -0.0298 0.3517 -0.3054
10.000 0.3419 0.3336 -0.0134 0.0379 -0.0134 0.0379 0.3419 0.3336

在上例中,S参数格式是实部-虚部。


3口和4口网络


3口和4口网络排列成矩阵形式,每行表示一个矩阵行。换句话说(如下所示),3口网络每个数据集有3行数,每行有3个数据对(即一个3×3的矩阵)。同样地,4口网络每个数据集有4行,每行有4个数据(4×4矩阵)。由于规则要求,数据集第一行以频率开始。

3口网络描述

<frequency value> <N11> <N12> <N13>
<N21> <N22> <N23>
<N31> <N32> <N33>

4口网络描述

<frequency value> <N11> <N12> <N13> <N14>
<N21> <N22> <N23> <N24>
<N31> <N32> <N33> <N34>
<N41> <N42> <N43> <N44>

其中,frequency value是得到网络参数的频率;N11, N21等是数据点,Nij表示的是数据对。


通常,网络数据点格式由选项行规定,可以是幅度-角度,dB-角度,实部-虚部(即成对的数据)。每个数据元都用一个或者多个空格隔开;每个数据行都以换行符结束(CR或者CR/LF)。允许多个数据行(集),但如前文所述,必须要按频率的顺序排列。

5

下面是4口网络的实例.

! 4-port S-parameter data, taken at three frequency points
# GHZ S MA R 50
5.00000 0.60 161.24 0.40 -42.20 0.42 -66.58 0.53 -79.34 !row 1
0.40 -42.20 0.60 161.20 0.53 -79.34 0.42 -66.58 !row 2
0.42 -66.58 0.53 -79.34 0.60 161.24 0.40 -42.20 !row 3
0.53 -79.34 0.42 -66.58 0.40 -42.20 0.60 161.24 !row 4
6.00000 0.57 150.37 0.40 -44.34 0.41 -81.24 0.57 -95.77 !row 1
0.40 -44.34 0.57 150.37 0.57 -95.77 0.41 -81.24 !row 2
0.41 -81.24 0.57 -95.77 0.57 150.37 0.40 -44.34 !row 3
0.57 -95.77 0.41 -81.24 0.40 -44.34 0.57 150.37 !row 4
7.00000 0.50 136.69 0.45 -46.41 0.37 -99.09 0.62 -114.19 !row 1
0.45 -46.41 0.50 136.69 0.62 -114.19 0.37 -99.09 !row 2
0.37 -99.09 0.62 -114.19 0.50 136.69 0.45 -46.41 !row 3
0.62 -114.19 0.37 -99.09 0.45 -46.41 0.50 136.69 !row 4

注意,数据对不需要列对齐;唯一的需要是每行3(3口或者)或者4(4口网络)个数据对.


5口及以上网络

5口或者以上网络同样排列成矩阵形式。但是,由于TouchStone格式限制了每行4个数据对,多出来的数据需要在后面行继续。矩阵每行必须要从新行开始。通常,每数据集第一行的第一个值为频率。这些规则可以通过6口网络格式来表示。

6口网络格式(一个频率点)

<frequency value> <N11> <N12> <N13> <N14> !row 1
<N15> <N16>
<N21> <N22> <N23> <N24> !row 2
<N25> <N26>
<N31> <N32> <N33> <N34> !row 3
<N35> <N36>
<N41> <N42> <N43> <N44> !row 4
<N45> <N46>
<N51> <N52> <N53> <N54> !row 5
<N55> <N56>
<N61> <N62> <N63> <N64> !row 6
<N65> <N66>

其中,frequency value是得到网络参数的频率;N11, N21等是数据点,Nij表示的是数据对。

如上所示,每个矩阵行都扩展成2行。没个矩阵行都新起一行。通常,数据对由选项行指定的格式表示,每个数据元通过空格隔开。

下面是一个更详细的10口网络的例子,Y参数是幅度-相位格式,单个频率。

6

# frequency_unit Y MA R impedance
freq magY11 angY11 magY12 angY12 magY13 angY13 magY14 angY14 ! 1st row
magY15 angY15 magY16 angY16 magY17 angY17 magY18 angY18
magY19 angY19 magY1,10 angY1,10
magY21 angY21 magY22 angY22 magY23 angY23 magY24 angY24 ! 2nd row
magY25 angY25 magY26 angY26 magY27 angY27 magY28 angY28
magY29 angY29 magY2,10 angY2,10
magY31 angY31 magY32 angY32 magY33 angY33 magY34 angY34 ! 3rd row
magY35 angY35 magY36 angY36 magY37 angY37 magY38 angY38
magY39 angY39 magY3,10 angY3,10
magY41 angY41 magY42 angY42 magY43 angY43 magY44 angY44 ! 4th row
magY45 angY45 magY46 angY46 magY47 angY47 magY48 angY48
magY49 angY49 magY4,10 angY4,10
magY51 angY51 magY52 angY52 magY53 angY53 magY54 angY54 ! 5th row
magY55 angY55 magY56 angY56 magY57 angY57 magY58 angY58
magY59 angY59 magY5,10 angY5,10
magY61 angY61 magY62 angY62 magY63 angY63 magY64 angY64 ! 6th row
magY65 angY65 magY66 angY66 magY67 angY67 magY68 angY68
magY69 angY69 magY6,10 angY6,10
magY71 angY71 magY72 angY72 magY73 angY73 magY74 angY74 ! 7th row
magY75 angY75 magY76 angY76 magY77 angY77 magY78 angY78
magY79 angY79 magY7,10 angY7,10
magY81 angY81 magY82 angY82 magY83 angY83 magY84 angY84 ! 8th row
magY85 angY85 magY86 angY86 magY87 angY87 magY88 angY88
magY89 angY89 magY8,10 angY8,10
magY91 angY91 magY92 angY92 magY93 angY93 magY94 angY94 ! 9th row
magY95 angY95 magY96 angY96 magY97 angY97 magY98 angY98
magY99 angY99 magY9,10 angY9,10
!10th row
magY10,1 angY10,1 magY10,2 angY10,2 magY10,3 angY10,3 magY10,4 angY10,4
magY10,5 angY10,5 magY10,6 angY10,6 magY10,7 angY10,7 magY10,8 angY10,8
magY10,9 angY10,9 magY10,10 angY10,10

评论行

TouchStone格式文件的评论行以感叹号(!)开头。一个评论占一行或者跟在数据后面。

加入噪声参数

TouchStone格式文件可以包含噪声参数,但是只能包含在双口网络中。噪声参数跟在每个频率的G-,H-,S-Y-,或者Z-参数之后。

每个噪声参数行有5个元素:

<x1> <x2> <x3> <x4> <x5>

其中,x1为频率,噪声数据第1点的频率必须比S参数最后一个频率小;x2为最小噪声,用dB表示;x3为噪声反射系数实现最小噪声(MA);x4为反射系数相位,用度数表示(MA);x5归一化的有效噪声电阻。仿真器需要这参数来满足物理需要。如果用户提供的x5值比实际允许的值小,仿真器可以强制x5为最小的物理需求。


注意噪声参数和网络参数的频率不需要匹配。唯一的要求是噪声参数最低频率小于或者等于网络参数最高的频率。这是为了让文件处理器判断什么地方是网络参数结束噪声参数开始。


源反射系数和有效噪声电阻归一化为选项文件中规的和网络参数同样的电阻。

7

!2-port network, S-parameter and noise data
# GHZ S MA R 50
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
! NOISE PARAMETERS
4 .7 .64 69 .38
18 2.7 .46 -33 .40

posted @ 2023-11-06 14:27  SymPny  阅读(156)  评论(0编辑  收藏  举报