一、引言
在串行数据链路分析和评测使用的高速通信环境中,需要应用程序,在实时示波器的实时波形上执行建模、测量和仿真。针对从被测器件中采集波形使用的测试测量夹具和仪器,这些应用程序被设置成允许用户加载电路模型。图1显示了这种链路的方框图实例。
图1. 可以使用S参数建模的串行数据链路系统示意图。
S参数模型通常用于这些系统中。本文讨论了S参数级联涉及的问题,介绍了一种防止假信号以及典型零填充插补可能引起的插入额外脉冲的算法。
二、S参数测量
在使用VNA或矢量网络分析仪测量一个S参数集时,会在一个端口上放一个正弦波入射信号。为获得反射系数,将测量反射的正弦波幅度和相位。所有其它端口必须使用参考阻抗端接。反射信号与入射信号之比表示为S11、S22、S33……直到端口总数。对多个频率,完成这一操作。对传输项,如某些配置中的S21,将在端口1上放一个正弦波,在端口2上进行测量,反射信号与入射信号之比变成S21.对耦合项和其它传输项,将采用端口到端口测量的所有其它组合。这适用于采用参考阻抗端接的所有其它端口,参考阻抗通常为50欧姆。这要求进行测量时,在所有反射和传输稳定后,正弦波要保持稳定状态。
也可以使用TDR阶跃发生器、时域反射计或时域传输TDT,在时域中测量和计算S参数。阶跃中包含同时应用到被测器件的所有关心的频率。与扫频正弦测量相比,较低的SNR与TDR/TDT有关。这主要在较高频率上,阶跃信号拥有幅度较小的谐波。
频率间隔和时间响应周期:
被测S参数数据的频率间隔决定着样点数量,直到系统模型环境中表示时域波形的所需采样率。频率间隔越小,样点数量越多,S参数集覆盖的间隔越长。如果频率间隔太大,得到的时间间隔太短、响应还未能稳定,那么就会发生假信号。这会导致时域信号被反转到不正确的位置。频域幅度响应表现是正确的,但频域相位响应还会显示发生了假信号。确定时间间隔的公式如下:
其中:T是S参数集覆盖的时间间隔,Δf是频率间隔。这种倒数关系表明,覆盖的间隔T越长,Δf越小。这会导致频率分辨率更加精细,进而导致频域样点数量提高,直到所需的采样率频率。
参数fs表示采样率。覆盖DC直到fs范围的频域样点数量等于计算IFFT获得时域响应时的时域样点数。因此,在采样率一定时,Δf越小,时间间隔越长。
级联S参数和假信号:
S参数模块级联是串行数据链路仿真和分析环境中的一项关键操作。为了了解涉及的多个问题,看一下图5所示的级联,其中3个模块级联在一起。每个模块中的模型用电缆长度为1.69 m的一个S参数集表示。为计算系统测试点的传递函,必需把多个级联的模块组合成一个模块。3个模块中,每一个模块的S参数相同。另外,我们假设转换到时域中的每个S参数集在时域中全面稳定。
如果没有要用S参数插补,那么最后级联的S参数集覆盖的时间间隔T将与每一个模块相同。因此,如果3个级联模块的总延迟大于各个模块覆盖的时间间隔,那么将发生假信号。在时域中,假信号会导致脉冲响应特性发生在错误的时间位置,其时序可能会颠倒。这源于时域中的相位假信号,其中相位矢量每次旋转时会有不到两个样点。
级联S参数实例:
为更详细地说明问题,看一下有损耗的、均匀的1.69 m电缆的2端口S参数模型,其中在电路仿真器上产生了40欧姆的特性阻抗。间隔在50 MHz直到25GHz的S参数被保存到一个文件中。根据公式(1),这个间隔对应的时间间隔为20 ns。
图2. Z0特性阻抗为40欧姆的1.69 m电缆示意图。
图3. 单个1.69 m电缆模型的s11和s21 S参数图。幅度(dB)对频率(GHz)。
上面显示了这个模型2端口S参数集的频响图。注意,S21在25 GHz时的衰减约为-6 dB.因此,如果这样三条均匀的电缆级联起来,得到的衰减在25 GHz时为-18 dB.
现在,我们把S参数矢量变换到时域,如下面图4所示。这要创建从内奎斯特到采样率的频谱的复共轭部分,使用从DC直到1/2采样率时内奎斯特值的S参数数据完成,然后计算IFFT.2端口S参数的时域版本将表示为t11、t12、t21和t22.
图4. 单个1.69 m电缆模型S参数集的t11和t21时域图。幅度对时间(ns)。
注意,在t21图中,可以看到经过一条电缆的时延。延迟为7.971 ns。有多个来回反射到达端口2,但太小了、看不见。这条电缆的S参数的50MHz间隔导致总时间间隔T为20 ns。在表示经过电缆的7.971 ns插入延迟时,这足够了。
由于电缆Z0的阻抗值为40欧姆,S参数的参考阻抗为50欧姆,因此在电缆的开头和末尾将有一个反射,同时还会有其它多个来回反射。对t11,反射时间在记录的开始处,因此在信号来回传送、等于t21时延两倍的倍数时,将发生反射。所以,第一个来回反射的位置在15.94 ns处。其它多个来回反射非常小,所以看不到。在这个实例中,20ns的时间T很长,足以支持这第一个来回反射传送时间。
图5. 3条完全相同的1.69 m电缆模型模块级联起来的电路仿真器示意图。
另外一个要关注的是,由于50欧姆参考阻抗与电缆的40欧姆特性阻抗不匹配,因此在时间零上,电缆输入处也有一个反射。由于把S参数转换到时域时IFFT的泄漏和循环特点,这个脉冲的部分成分被反转到时间记录末尾。在对S参数集执行插补和再采样以及在时域中使用零填充时,这是一个重要细节。
现在看一下把这三条完全相同的S参数集级联起来,假设频率间隔仍是50 MHz到25 GHz,总时间T为20 ns。这个电路从上面图5所示的电路仿真器中获得。图6所示的频域幅度图与预期相符,三条电缆的S21在25 GHz时为-18 dB,而一条电缆时为-6 dB。
级联的S参数集被变换到时域,如图7所示。这些图显示了相位假信号的影响,导致时域脉冲不在正确的时间位置。一条电缆的延迟为7.971 ns,因此把这样三条电缆级联起来的延迟应该为23.9 ns,由于这个延迟长于S参数集20 ns的时间T,因此将发生假信号。在t21曲线中可以看到这一点,脉冲响应位于3.918 ns处,而不是23.9 ns处。看一下t11,还可以看出,反射假信号偏移到~7.8 ns的位置,而它的位置本应该在~47.8 ns。这是入射信号从端口1传送到端口2、再传回到端口1所用的时间。
三、S参数插补算法
必需对每个模块的各个S参数重新采样,以便提供更小的频率间隔,对组合后的S参数获得更高的时间间隔。
图6. 3个级联电缆模块组合在一起时的S11和S21 S参数。幅度(dB)对频率(GHz)。
可以采取各种方式,执行再采样。例如,一种方式是在频域中执行插补。这可以通过插补实数部分和虚数部分完成,也可以通过插补幅度成分和相位成分完成。这可以使用线性插补实现,但会导致明显误差,除非频率间隔足够小。使用较高阶插补可以改善较高频率上的结果,但可能会在开始频率和结束频率引入瞬态误差,在开始频率和结束频率中,数据集中有不连续点。
下述程序为执行插补和再采样算法提供了某些优势:
1. 如果S参数没有DC值,那么将推断所有S参数数据矢量。从VNA中测得的S参数没有DC值。使用TDR/TDT测得的S参数有DC值。
图7. 把3条级联电缆模块组合到一个S参数集的t11和t22时域图。注意t21中的脉冲偏移到3.918 ns的延迟位置,其本应在23.9 ns。
2. 确定所有S参数集的公共最大频率。这个值可以是级联中所有S参数集的最大频率。把每个S参数集推断到超过最大公共频率的频率。
3. 使用IFFT转换推断的频域S参数,获得时域脉冲响应。
4. 确定脉冲响应之间的实际公共采样周期。可以作为脉冲响应的最小采样周期,获得实际公共采样周期。然后对脉冲响应再采样,以便其拥有相同的采样率。
5. 在正确的位置零填充脉冲响应,如下面所述,获得更高的时间间隔。提高的时间间隔可以确定为每个S参数集表示的所有时间间隔之和的倍数。这要求级联中每一个S参数集都没有假信号。
6. 使用FFT,把时域零填充的脉冲响应转换到频域。
7. 截去推断的较高频率点和高频率点。(这一步是可选的。)
8. 在这一步,所有S参数已经在相同的频率点被再采样,并拥有足够的频率分辨率。对每个频率点,组合级联的每个模块的S参数。每个频率点的S参数组合可以直接完成[2],也可以通过T参数完成。
零填充算法:
在第5步中,零填充的位置不是任意的,也不一定从时域响应的最右侧开始。
对S参数集中的所有脉冲响应,零相位时间参考位置位于时间记录的开始处。如果数据是完全理想的,那么零填充将增加到记录的右侧。这会使所有数据相对于记录开始处的零相位时间位置保持一致。但是,泄漏到相邻频率点及IFFT计算的循环特点,有时可能会导致响应从记录开始处反转反转到记录的末尾。这也可以表达为,末尾的反转反转是由S参数的限带特点引起的,并受到采样偏置的影响。
例如,看一下图8所示的s11数据集的脉冲响应。最后的小振铃从左端反转反转到右端。在普通零衬垫中,零被填到数据记录右端,会产生有误差的S参数结果。这是因为记录最后反转反转的部分将在零填充后发生在记录内部的位置。
图8. 这是零填充前s11的时域响应。早期振铃被反转到末尾。
这种反转问题一般不会出现在一个数据集内部所有S参数矢量上。例如,传输系数(如典型的S21)可能会有足够的延迟,以便响应不会接近记录末端。本例中观察不到任何反转反转效应。但是,S11反射系数的S参数矢量更可能有一个接近开始处的脉冲,这个地方可能会发生反转。我们将使用下面的算法,解决这个反转反转问题。
零应填充在正确的位置,以把反转反转的振铃保持在脉冲响应最后。
选项1:从脉冲响应右端开始,检查是否有反转。如果没有反转,那么可以在脉冲响应最后点之后从右面填充。如果有反转,那么可以向回搜索,找到反转的信号的稳定位置,可以在稳定的位置填充零,如图9所示。
选项2:一直选择一定比例的脉冲响应,填充零。例如,从末尾在时间间隔5%的位置填充零。这种选项要求已经以足够的频率间隔测量所有原始S参数数据,以便以稳定的记录百分比为所有参数提供时间间隔,在这里将插入零填充。这也意味着在零填充点之外已经包括足够的时间,以便在这个点以后,所有反转的数据将从左到右稳定。图8和图9显示了执行零填充前和执行零填充后的结果。
图9. 这是再采样的s11的脉冲响应。右端保留了早期振铃。
再采样的S参数与原始S参数匹配得非常好,如图10中的频域图所示。
图10. 再采样前和再采样后s11放大的幅度响应。
四、最终结果
我们把上面介绍的插补和再采样算法应用到图5所示的3个S参数集中。现在组合S参数覆盖的总时间超过100 ns.我们对S参数再采样,间隔小于10MHz,直到25 GHz.图11显示了得到的时域图。t21和t11脉冲不再有假信号。现在t21脉冲位于正确的延迟位置,即23.9 ns.同样,t11反射位于正确的位置,即47.8 ns.较好的再采样选择一般是以更小的频率间隔重新测量数据。这是因为插补复杂的S参数数据有许多相关困难。但是,在重新测量数据不实用或不可行时,可以使用本文中介绍的算法。
五、总结
我们介绍了防止级联的S参数出现相位假信号的具体算法。我们演示了每一个S参数模块可能足以覆盖时间间隔结果的特点。但是,多个S参数集级联起来时,可能会不能覆盖足够的时间间隔,来表示组合的级联结果。这会导致最后的S参数集出现相位假信号。我们演示了在S参数级联过程中防止假信号的方法,另外还提供了一个级联反嵌和嵌入实例。
图11. 3条级联电缆的t11和t22时域图,没有假信号。幅度对时间(ns)。