本文简述发送器常用的FFE滤波器频域响应从数学上的理解。
FFE滤波器
信号发送端常用FFE作均衡器,FFE为数字滤波器,如下为IEEE 802.3 120D中定义的3-tap均衡器结构:
输入输出关系的数学表达为:
其中三个系数通常在IC中有相应的配置寄存器:
pre tap coefficient
main tap coefficient
post tap coefficient
: 周期(1个UI的时间)
频域分析
对上面表达式应用离散时间傅利叶变换后得到:
可以看到频率响应由三个部分构成,将三个部分画到复平面上,可以直观的看到响应与频率的大致关系。(关于复平面的知识可以参考之前的文章)
继舜:复数、复平面、旋转向量zhuanlan.zhihu.com下面以pre/post均为负值时的情况为例:
当频率较低时(
),由于系数为负,导致两个向量处于复平面左侧,三个向量相加后的实部将会相对比较小,最小值出现在频率为0时。当频率增加后(
)两个向量到达复平面右侧,三个向量相加后实部相对较大,最大值出现在
,即
,其中
为数据速率(NRZ:bit rate,PAM4:symbol rate)。
FFE频域响应的幅度是以
为周期重复的,但因为芯片的驱动器与走线为低通系统,所以高频部分会抑制,通常只关心低频一个数据速率周期内的。
Reference:
802.3 120D
频域作图参考代码:
import matplotlib.pyplot as plt
import numpy as np
cpre = -0.1
cmain = 0.8
cpost = -0.2
r = np.linspace(0,26.5625, 10000)
f = r/26.5625
h = 20 * np.log10(cpre * np.exp(1j * 2 * np.pi * f) + cmain + cpost * np.exp(-1j * 2 * np.pi * f))
plt.plot(r,h)
plt.xscale('log')
plt.xlabel('frequency (GHz)')
plt.ylabel('response (dB)')
peak = np.argmax(h)
pf = r[peak]
plt.text(pf,0,'%.2f GHz'%pf)
plt.show()