在与舍友的深夜畅谈中,对于项目中升余弦滤波器的使用技巧收获颇丰,分享如下(感谢舍友):
聊天背景:
我的工作:我做的是基带通信同步部分的硬件实现,作为收端的第一环,同步一开始便是添加一个根升余弦滤波器,
“好事成双”,发端的最后一环也会添加一个一模一样的根升余弦滤波器(发端为了调满幅,系数和收端的会稍有不同,但成倍数关系)。
舍友的工作:舍友做的是收端的信道估计与均衡的原理分析,但不同于一般的信道估计,导师对他的要求是将收发两端的滤波器也考虑在内。
那么信道的频响函数就成了H = H_filter_sender * H_channel * H_filter_receiver。这也是他工作的难处所在。
我的疑惑:
两人的工作的共同点便是都使用到了根升余弦滤波器,那么这两个滤波器到底是用来做什么的呢?以往在做工程实现时并没有考虑太多,
而实验室师兄让我注意到了在发端有一个和咱收端相同的滤波器,两个根升余弦滤波器一乘,根没了,只剩下一个升余弦滤波器。
且对OFDM的同步来说,此滤波器可通过对单载波调制的同步头上采样而获得和用OFDM调制的数据部分相同的采样速率。细究下来,如此设计的
原因一定不止是调节采样速率这么简单,况且在自然界“对称”也被公认为一种美的结构,那这两对共生的滤波器身上有哪些简洁的工程美呢?
舍友答疑:
如此设计一石三鸟,大呼妙哉!
1,发端的根升余弦滤波器主要起到脉冲成形的作用:在对原始01数据进行编码调制后数据仍是为数不多的几个离散状态,BPSK为1和-1两种状态,
QPSK也是1和-1两种状态(只是比BPSK多了两个映射象限),16QAM则为±1,±2,±3这6状态。这些存在于时域的波形在时域上反应出来就是一个
又一个方波,大佬傅里叶告诉我们,方波的组成是由近乎无限高的高频分量组成的,而这在通信系统中是物理不可实现的。
升余弦滚降滤波器以具有余弦函数性质的频域响应代替了方形频响,将高频的方波“滚降”到物理可实现的余弦波形,即起到了一个低通滤波器的作用。
(这里多说一点:数学公式可以漫天遨游地任意推导,而物理规律的发展显然是跟不上数学的步伐呀,就像空间几何在三维的基础上很容易就推导出了四维空间,给向量多加一维嘛,可要物理上证明就很艰难了!又如在Matlab中对数据进行的各种运算,可以通过函数轻松实现,在FPGA上实现时考虑到并行时序以及硬件的限制就没那么容易了。)
2,收端根升余弦滤波器的作用:此处充当了一个匹配滤波器的作用,即在输入信噪比一定的条件下提高了输出信噪比。
3,两个滤波器“形成合力”后的作用:收发两端采用一对相同的根升余弦滤波器,在频域上一乘“根”就没了,成了一个升余弦滚降滤波器。
参考樊昌信《通信原理(第七版)》P145-150页关于无码间串扰的基带传输特性可知,升余弦滤波器可起到消除ISI的作用。
如此一来,一个看似简单的成对称结构的滤波器设计,同时实现了脉冲成形,匹配滤波,消除ISI这三大通信技术,可谓一石三鸟。
补充说明:
在配置滤波器的IP核时,滤波器系数的值即其时域响应,输出数据长度为原始长度加该系数长度减1,最后仅保留输出数据的中间部分,即在两边各截取1/2(滤波器系数长度-1)
此外,滤波器在数学运算上也可看作是在对原始数据进行延时相加(每延时一次成的系数会减小),即数字卷积的过程:
为了便于分析,可把滤波器和数据的身份对调(即滤波器卷积数据--卷积运算的可交换性),若数据为1,即可看作是一个脉冲函数。
任何函数与脉冲函数的卷积都为其本身,四倍上采则保留四个滤波后的输出数据,数据呈现这样的关系:1232或2321,即中间值最大,两边逐级衰减(与滚降系数有关)
舍友还提到了上采样(内插)和下采样(抽取)结合使用滤波器也起到了降低ISI的作用,其中上采样会使得信号带宽降低。
上文的说理过程不一定精确,后续研究了相关知识后再做修改和补充。另外关于上采样的使用也是后面需要重点研究的。
好了,本文就暂时写到这,欢迎大家批评指正。
原文:https://www.cnblogs.com/achangchang/p/11339040.html