数字匹配滤波器的优化设计与FPGA实现
摘要:介绍在直接序列扩频通信中应用数字匹配滤波器实现m序列同步,分析其具体结构,详细讨论了其基于FPGA(现场可编程门阵列)的性能优化。结果表明,数字匹配滤波器用FPGA实现时,能够大大减少资源占用,并提高工作效率。
关键词:FPGA;数字匹配滤波器;直接序列扩频
1 引言
在通信系统中,匹配滤波器的应用十分广泛,尤其在扩频通信如在CDMA系统中,用于伪随机序列(通常是m序列)的同步捕获。匹配滤波器是扩频通信中的关键部件,它的性能直接影响到通信的质量。本文从数字匹配滤波器的理论及结构出发,讨论了它在数字通信直扩系统中的应用,并对其基于FPGA的具体实现进行了优化。
2 数字匹配滤波捕获技术
在直接序列扩频解扩系统中,数字匹配滤波器的捕获是以接收端扩频码序列作为数字FIR滤波器的抽头系数,对接收到的信号进行相关滤波,滤波输出结果进入门限判决器进行门限判决,如果超过设定门限,表明此刻本地序列码的相位与接收扩频序列码的相位达到同步。如果并未超过设定门限,则表明此刻本地序列码的相位与接收到的扩频序列码的相位不同步,需要再次重复相关运算,直到同步为止,如图l所示。
数字匹配滤波器由移位寄存器、乘法器和累加器组成,这只是FIR滤波器的结构形式,只不过伪码寄存器中的系数为-1或+1,实际并不是真正意义上的乘法。伪码寄存器中的数据可以由一种伪随机序列发生器产生。
数字匹配滤波器的表达式为:
其中,x(n)为输入信号;h(-i)为滤波系数,由接收端扩频码决定,取值-1或+1,m序列码元为1,取值为+l,m序列码元为O,取值为-1。匹配滤波器的长度N等于扩频比,也就是对于每一信息符号的扩频码元数,即Tb/Tc。当输入信号{x(n)}与本地扩频码{h(-i)}匹配时,时输出Z达到最大,超出预先设定的门限,表示捕获成功。
很显然,数字匹配滤波器中的关键部件是乘法器和累加器,而移位寄存器可以由信号的相互移位来实现,例如要实现8 bit串行数据的移位。假设输入数据序列为din,移位寄存器中的信号为dO,d1,d2,d3,d4,d5,d6,d7,用VHDL语言中的进程语句实现程序为:
每来一个时钟信号,信号同时改变1次,这就实现了和移位寄存器相同的功能。这样的进程实现并不需要太多的逻辑单元。所以影响资源占用和工作效率的主要是乘法器和累加器。下面讨论就乘法器和累加器分别加以讨论,研究其对资源和效率的影响。
3 乘法器
由于此处采用的是0,1的二进制系统,所以将逻辑0映射为实际电平-l,逻辑l映射为实际电平+1.也就是伪码寄存器中的系数。移位寄存器抽头输出为有符号二进制补码,采用乘法器实现相乘运算时,如果伪码较长,则需要耗费太多的逻辑单元且运行速度过慢。已经知道,一个数乘以l不改变原值,而乘以-l则改变符号,因为移位寄存器抽头系数只能是1和-1,可以考虑用二进制的补码运算来代替相乘1和-1运算,这就避免了相乘运算对资源的大量耗费,并能提高运算速度。可以看到,伪码寄存器中的系数为+1或-l,如对移位抽头输出进行乘1运算,相当于不改变原补码值,而对移位抽头输出进行乘-1运算,则相当于对原补码数值改变符号,并对低位二进制码元求其补码值。下面证明上述结论。
假设二进制补码数为
最高位xn-1为符号位,其取值为0或1,0代表正数,1代表负数。
不失一般性,设xn-2,xn-3,x1,x0均为l,x2到xn-4均设为0,则二进制补码数x的后n-1位代表的真值为 :2n-2+2n-3+21+20
当最高位xn-1=O时,若移位抽头输出系数为1,则x代表的正数乘1后仍然是xn-2+2n-3+21+20,正数的补码表示还是x。
若移位抽头输出系数为-1.x代表的正数和-1相乘后变为负数,取x的后n-1位的朴码值,可以表示为2n-4+2n-3+…+23+20,改变x最高位的符号位为1.取2n-4+2n-3+…+23+20的二进制表示作为x的后(n-1)位,即为x与-l相乘的补码表示;
当最高位xn-1=1时,若移位抽头输出系数为1,则x代表的负数乘l后的真值仍然是x的后n-l位的补码值2n-4+2n-3+…+23+20,负数的补码表示还是x。
若移位抽头输出系数为-1,x代表的负数和-l相乘后变为正数,取x的后n-l位的补码值,可以表示为2n-4+2n-3+…+23+20,改变x最高位的符号位为0,取2n-4+2n-3+…+23+20的二进制表示作为x的后(n-1)位,即为x与-1相乘的补码表示。
结论成立,二进制求补运算代替乘法器的处理框图为如图2所示。
综上所述,在数字匹配滤波器中,因为
- 一种基于FPGA的接口电路设计(11-18)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- 设计性能:物理综合与优化(04-28)
- 使用 PlanAhead Design 工具提高设计性能(04-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 面向 FPGA 的 ESL 工具(04-29)