1. 变速率采样
5M带宽的LTE系统中,采样率为512*15k=7.68MHz,而USRP2在不改变FPGA代码的情况下仅支持100M的整数倍分频的采样率,最接近7.68M的采样率为6.25M。所以在空口获得的数据采样率为6.25M,而LTE系统内部采样率为7.68M,需要进行插值和抽取实现速率转换。
(补充说明一点,由于LTE过采样的特点,采样率6.25M仍然可以完整保留信号特性,实际上,只要大于5M的采样率都是可以的,7.68M应该是为了作FFT的方便设定的)
以接收为例,如果进行6.25M到7.68M的采样率转换,需要先进行768倍内插,再进行625倍抽取,即6.25M * 768 / 625 = 7.68M,这样可以防止丢失采样点信息(先抽取后内插会丢失)。通用的变速率流程是:
插767个0(x00...0 x00..0 x...)——LPF低通滤波——抽取(每625个点抽取一个)
(插0后过LPF实际上完成了插值的功能,而在抽取前过LPF则是为了防止抽取带来的镜像干扰,两个LPF可以合并为一个,截止频率用低的即可)
2. 低通滤波器设计
低通滤波的作用是消除内插和抽取带来的镜像干扰,低通截止频率为min(7.68,6.25)/2=3.125MHz,然而对于5M带宽的信号来讲,基带信号带宽为2.5MHz,实际上在2.5~3.125之间并没有信号分量,所以在设计滤波器的时候可以放宽过渡带带宽的要求,通带范围是0~2.5Hz,截止频率即阻带起始频率为3.125+3.125-2.5=3.75MHz。阻带衰减根据需要而定,默认80db。注意滤波器是在插值之后,故滤波器的Fs=6.25M*768=4800MHz,这样设计的滤波器阶数一般很高,程序中采用10000阶,据说超过10000阶fdatool会跑死,有兴趣可以试验一下。
利用matlab fdatool可以进行滤波器设计,浮点系数到定点系数的转换。在matlab命令行中输入”fdatool”即可打开设计面板,参数介绍参考文档《MATLAB FDATOOL的使用.doc》。
(补充一点,对于定点和浮点的转换主要考虑到计算效率的问题,设计定点滤波器的时候需要考虑溢出和精度的问题)
分析fir滤波器幅频特性和相频特性
b=[fir系数向量]
a=1
fvtool(b,a)