EDN China > 设计实例 > EDA工具与服务 > PCB设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

利用FIR滤波器去除传输线效应

Mohit Kumar?? 2015年06月30日 ?? 收藏0
网络串行解串器(SERDES)的串行数据输出速度已经高达28Gbps,并且还在继续发展。在如此高数据速率的条件下,即使很短的PCB走线也会起到传输线的作用,进而通过衰减和散射降低信号完整性。在芯片的焊球上监视SERDES发送器输出信号很难做到。通常信号会引到SMA或SMP连接器后再用示波器进行监测。然而,信号特性会因为IC和连接器之间的传输线而发生改变。因此,真正的挑战是在SERDES引脚处监视信号性能,而这可以通过去除传输线效应来实现。本设计实例介绍了一种去除传输线的方法。

假设H(s)是走线的冲激响应,如果X(s)是输入信号,那么从数学角度看:

Y(s)=H(s)×X(s)

X(s)=Y(s)×H-1(s)

可以将H-1(s)实现为有限冲激响应(FIR)滤波器,并使用MATLAB确定滤波系数(参考文章最后的文档)。

走线的H(s)可以用网络分析仪进行测量,测量的对象是Sdd21。首先需要确定FIR滤波器(hf(t))的系数,其频率响应(Hf(s))接近上述测量的Sdd21的倒数,即Hf(s)=H-1(s)。计算滤波器系数的方法是先从特定系数开始计算频率响应,然后计算H(s)和Hf(s)之间的幅度误差。最后使用优化算法改变系数,直到使和方差最小。

参考FIR_filter_design.m,nc是FIR滤波器中的系数值,drate是单位为Gbps的输入串行数据的数据速率。选择合适的fs,使fs/drate为整数。这样将定义用1个比特表示的系数值。Ncbit给出了相邻系数间的时间差。假设N是频率响应Hf(s)中的点数,numfpts=N/2是奈奎斯特范围内的频点数。滤波器传递函数的奈奎斯特频率就是fs/2。然后定义finmin到finmax的频率范围,这样就可以计算这个范围内的幅度误差了。

对应奈奎斯特的滤波器频率点为:

Hz1=(k×fs)/(2×numfpts),k=0~numpts-1

插值运算是通过计算Hz1频率点处的Sdd21幅度完成的。将滤波系数初始化为某个值。使用freqz MATLAB函数计算滤波器的频率响应幅度,然后确定插值后获得的Sdd21幅度数据间的误差。使用MATLAB fminbnd函数可以最大程度地减小和方差,最小化算法有许多实现方式,本文提供的代码只是其中一种。

下一页:演示FIR滤波器的效果

本文来自《电子技术设计》2015年7月刊,版权所有,谢绝转载。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

传输线效应? 网络分析仪? 采样示波器? 低通滤波?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈