一种具有任意倍升采样的高速率脉冲成型算法

2015-06-15 17:21梁婷婷迟永钢刘军军吴凤辉
哈尔滨工业大学学报 2015年11期
关键词:高速率倍数时钟

梁婷婷,迟永钢,刘军军,吴凤辉

(哈尔滨工业大学通信技术研究所,150001哈尔滨)

一种具有任意倍升采样的高速率脉冲成型算法

梁婷婷,迟永钢,刘军军,吴凤辉

(哈尔滨工业大学通信技术研究所,150001哈尔滨)

针对高速数字通信系统中实现任意倍采样率的信号脉冲成型滤波问题,文章提出一种基于查找表思想的可灵活改变采样率的高速通用实现算法.该算法采用FIR滤波器结构,通过将不同采样率转换映射为对查找表地址的寻址问题,实现一定范围内的任意倍采样率的灵活变换;同时结合流水线结构和改进的全并行分布式算法,实现高速率脉冲成型滤波功能,并在硬件平台上进行验证.所提算法具有占用资源低、实现速率高、性能稳定、且可在一定范围实现任意倍可变采样率的特点.

脉冲成型;分布式算法;任意倍升采样;查找表

数字通信系统中,由于基带信号的频谱范围比较宽,在信号调制之前要先进行脉冲成型滤波,以减少码间干扰,并降低带外辐射以满足频谱要求,提高频谱利用率[1].数字FIR滤波器由于其严格的线性相位特性,是实现脉冲成型滤波器的理想选择.对于FIR滤波器,乘法运算的速度往往决定整个系统的速度.近来,不少学者对FIR滤波器的硬件实现进行了广泛的研究,旨在设计更高速率的FIR滤波器.文献[2]用脉动行结构设计滤波器卷积过程,将乘法拆成多个并行单元实现来提高速度,但其大量的乘法运算还是制约了系统速度;文献[3]使用CSD编码思想,把滤波器的乘加结构转化为运算量小的乘加减结构,提高处理速度;文献[4]采用分布式算法,基于查找表实现FIR滤波,将乘累加操作全部转化为加法和移位的操作,系统的处理速度大大提高,但它是以消耗很大的硬件资源为代价的.本文基于上述研究,采用改进的全并行分布式算法[5]和流水线处理技术,设计了一种资源消耗较少且硬件实现速率高的脉冲成型滤波器.

在现代信号处理结构下,信号侦察、调制分析、解调接收等许多流程都需要对数字信号进行采样率变换,且采样倍数往往任意可变.因此简单的整数倍内插抽取已不能满足要求,需要设计可灵活改变的任意倍采样率变换方法.采样率越高,获取的有用信息越多,在高速率硬件环境下,用升采样技术来提高采样率,考虑到硬件结构复杂度,有必要研究一种内插倍数可灵活改变的通用实现结构.常用的升采样方法有CIC(积分梳状)滤波器和HB(半带)滤波器实现的有限整数倍内插、CIC滤波器和HB滤波器多级级联实现的有理分数倍内插[6]、Farrow结构重构[6]和Lagrange插值算法[7]等.其中,以CIC滤波器和HB滤波器为主的升采样技术只能实现有限内插倍数变换,并且由于各级内插倍数较小,使得级联数多时控制复杂;而后两种方法虽然可通过滤波器系数插值的方式实现任意时刻的内插,但因其计算量大而不适用于高速率场合.同时,以上方法在硬件实现时内插倍数均无法灵活改变.文献[8-9]虽基于取邻抽取理论实现了任意倍可变升采样,但对滤波器实现方式未做讨论.基于此,文章提出一种基于查找表实现的升采样技术,采用单级FIR滤波器完成了高速率下任意速率的灵活适配.该算法通用性强,采样倍数可在一定范围内灵活取值,且具有占用资源低、性能优良的特点,并为高速率硬件实现提供了一种全新的技术手段.

1 脉冲成型滤波算法原理

1.1 全并行分布式算法原理

分布式[4]算法DA(distributed arithmetic)是一项重要的算法实现技术,它把输入的采样信号序列作为查找表的地址,通过读表实现乘法运算.与传统算法相比,分布式算法大大提高了电路的执行速度[10].

N阶线性FIR滤波器的差分表达式为

式中:h(m)为滤波器系数,对于性能确定的滤波器,h(m)是一组确定的常数,x(n-m)表示第(nm)个单位时间的采样输入,y(n)为第n个单位时间的采样输入值x(n)对应的输出.

对于有符号数的DA系统,数据采用二进制补码的形式表示,(B+1)位的x(n)用二进制补码为

式中:xb(n)为0或1,是用二进制表示的x(n)第b位数据;B+1表示输入数据的位宽.

将式(2)代入式(1)中,可得到全并行DA算法为

全并行分布式算法[11-12]的设计思想是将所有的部分和并行执行,这就需要将查找表复制B+1次以达到并行的目的.显然,这是一种以牺牲资源换取速度的方法,适用于对滤波器速度要求较高,资源较丰富的系统中.

实现时,将N个x(n)的各位数据并行输入,在一个时钟周期内同时求得B+1个映射f[h(n),xb(n)],各个映射根据所在的位数进行相应的二次幂加权,并将加权结果累加,在N次查询循环后就完成了内积的计算.全并行工作方式的硬件电路框图见图1.

图1 全并行分布式算法结构

1.2 改进的全并行分布式算法

在保证系统高速率的前提下,从以下3方面对全并行分布式算法进行优化,减少硬件资源的消耗,并进一步提高系统速度.

1)通过分割查找表的方式对全并行DA算法进行优化,其核心思想是将查找表的输入地址按位分割,将一个大的查找表划分成若干小的查找表:假定一个NL阶的滤波器,可以将NL个系数分成L组,每组对应一个查找表,即用L个独立的N阶串行DA的LUT输出之和替代一个NL阶的LUT输出,就可将查找表的规模从2NL变为L∗2N,分割后的LUT规模大大减小,只用了原来的L/2N.

2)用流水线寄存器结构[13]实现对查找表结果的累加操作,虽然在资源上稍有增加,但系统的速度却有明显提升.

3)考虑到FIR滤波器系数的对称性,存储表可以节省一半.另外,内插是在两个码片间插入0的处理,这样的话,查找表中很大一部分数都是0,编写只包含有效数值的子函数代替包含很多0的ROM,可进一步降低查找表的规模.

采用以上改进措施后,硬件资源使用可减少至少60%,而系统的速度也有显著提升.

2 任意倍可变升采样算法原理

2.1 插零

对于一个序列x(n),L倍插零后为

其中L为任意实数,[.]为四舍五入取整符.

x′(n)经过傅里叶变换可得

当kL值较大时,可认为[kL]≈kL,此时

活性炭纤维具有大比表面积(1000~3000m2/g)和丰富的微孔,微孔体积占总孔体积的90%以上,其在空气中对有机气体的吸附能力比颗粒活性炭高几倍至几十倍,吸附速率快100~1000倍,同时耐酸、碱,耐高温,可再生循环使用,是近年来应用较多的一种吸附剂。

由此可知,即使内插倍数L为小数,当其值较大时,仍然满足频域的L倍压缩规律.

2.2 滤波

插零完成后,频谱被压缩了L倍,出现了频谱镜像分量,为了滤除镜像,应通过一低通滤波器,其理想响应为

那么,算法的目标就是要寻求满足该条件的滤波器.

为了实现升采样倍数L在一定范围内灵活可变,首先构造一个大内插倍数Lmax对应的低通滤波器,并将其系数存入表中.该滤波器频率响应逼近于

它对应的时域序列为htable(n).

此时对htable(n)进行M倍抽取,其中

得到的滤波器系数序列为

至此,通过改变M就得到了不同内抽倍数L对应的低通滤波器系数h(n).

h(n)经傅里叶变换后可推导得

很明显,它即为所求的滤波器.故该方法可实现[2,Lmax]范围内的任意倍升采样,且可通过M灵活改变.当L和M为小数时,L值越大升采样性能越优.

3 任意倍可变升采样算法的硬件实现

该算法首先构造出一个满足设计要求的高阶数字FIR滤波器;然后通过查找表的方式,建立特定的地址映射关系,每个时钟周期从表中取出若干个系数进行运算,从而避免了大量不需要的计算,使得运算量大幅度减小,有效提升算法的执行速率.对于不同的升采样倍数,算法采用通用的硬件实现结构,具体的FPGA实现过程如下.

3.1 查找表的建立

构造合适的高阶数字FIR低通滤波器以建立查找表.Lmax倍内插需通过截止频率为π/Lmax的低通滤波器,其时域形式为h(n)=sin c(πn/Lmax),即连续函数sin c(πt)的离散形式.根据窗函数设计法,首先由滤波器通带波纹和阻带衰减等具体设计指标,选取合适的窗函数;然后由过渡带宽要求,计算得出大采样倍数Lmax对应的高阶FIR滤波器的阶数(通常取为Lmax的整数倍),由此可以得到所需sin c(πt)的主瓣与旁瓣,每个瓣中有Lmax个系数.截取的sin c(πt)离散化后加上选取的窗函数.将每个瓣的波形数据量化后写到不同的查找表中,完成查找表的建立.

查找表中存储的是一个高阶数字FIR滤波器系数.在实际应用中,可根据实际的升采样倍数,从查找表中取出相应系数,从而可灵活地构造出所需的FIR滤波器.由于采用存储器查找表的实现方式,它具有读取速度快,实现速率高的优点.

3.2 任意倍灵活可变升采样的实现

查找表建立完成后,产生读取查找表的地址,即可启动运行.算法中通过随时改变该地址变量,实现任意倍灵活可变的升采样.因此,查找表的地址映射是该算法的一个关键问题.

对于整数L倍的升采样,每个瓣中需要取L个数构成滤波器的系数.即在每个查找表中按照取数步长均匀地抽取L个数.而对于小数L倍的升采样,取数时将每个查找表看作是首位相接的一个圆,在每个查找表中按照取数步长均匀地取出L个数.可看出,假设小数倍内插中第一次取数从零相位开始,那么第二次取数时,由于末尾不足一个步长,就使得初始相位不再是零相位.取数步长为查找表的总长度与升采样倍数的商,它可通过控制字来实现,由此计算出每次取数的地址.其中,控制字=2n/升采样倍数,n为控制字的位宽,其值越大则分辨率越高.

得到控制字后,根据实际情况设置查找表的初始相位,由相位累加器即可得到查找表地址.控制字决定了查找表中取出的滤波器系数的地址,更改控制字即可随时改变每次取数构造的FIR滤波器的形状,从而灵活地改变升采样的倍数,实现倍率可变的升采样.

3.3 信号合成

升采样技术先将数据插零,将一个数据变为L个数据,于是每个时钟(采样后的时钟)周期都要对这L个数进行乘法运算.而事实上这L个数中仅有一个数据是有效数据,其余均为零,即L-1个数的运算都浪费了.因此,在本算法中,将输入数据和滤波器系数采用不同的处理时钟,数据使用的是升采样前的时钟信号,而系数使用的是升采样后的时钟.在系数时钟周期内,从表中取出一个系数与这个数据运算,极大的减小了运算量.L个系数时钟周期后,表中的数取完,这时数据时钟一个周期结束,下一个数据进入,而查找表又回到表头,开始新一轮的取数.

数据与系数同步之后,将它们分别相乘,相乘后的结果通过流水线寄存器结构进行累加,所得即为任意倍升采样后的结果.图2为基于查找表的任意倍升采样的流程框图.

图2 基于查找表的任意倍升采样的流程

4 算法硬件仿真及验证

4.1 仿真条件

为验证算法在高速率时钟下的正确性及可行性,本文采用Quartus 13.1开发环境编写Verilog代码,选用Altera公司的EP4SGX70HF35I3 FPGA芯片搭建硬件测试电路.

其中,FIR脉冲成型滤波器:内插倍数为16,阶数为96,采用改进的全并行分布式DA算法,并加上流水线寄存器来实现;任意倍升采样:查找表中存储的FIR滤波器系数个数为212,这意味着内插倍数范围为2~212,控制字位宽为20.若将2.344 MHz的数据升采样到300 MHz,则控制字设置为220×2.344÷ 300=8 192.873 81,近似为8 193,十六进制表示即0x02001.

4.2 仿真结果

将程序下载至硬件测试电路,通过对比输出波形与理论仿真结果,验证高速率时钟下系统的正确性.图3为理论仿真结果;图4为对应的硬件电路输出波形.最上面是基带信号源,中间是脉冲成型滤波的输出,最下面是升采样输出.

图3 理论仿真结果

图4 硬件电路输出波形

对比图3、4可得,在300 MHz的高速工作时钟下,硬件测试电路输出波形与理论仿真结果一致,验证了本算法在高速时钟下的正确性.进一步通过Quartus 13.1的时序分析,可知系统时钟速率最高可达425.05 MHz.需要注意的是,由于查找表中存储的高阶FIR滤波器的系数有限,故升采样倍数不能大于每个查找表中的系数个数.在该可调范围内,控制字可根据实际的升采样倍数灵活配置:控制字=2n/升采样倍数,n为控制字的位宽.

5 结 语

本文结合改进的全并行分布式算法和流水线设计结构,实现了基于查找表法的高速率脉冲成型滤波器.在理论上该滤波器不仅具有任意倍(包括整数倍和小数倍)升采样功能,而且还有占用资源低、灵活性强、速率高、性能优良的特点.最后,通过实际硬件电路测试,验证了文章算法的正确性和可行性,算法可在高速率下灵活实现具有任意倍升采样的脉冲成型滤波.

[1]樊昌信,曹丽娜,通信原理[M].北京:国防工业出版社,2007.

[2]KUNG H T.Let′s design algorithms for VLSI systems[C]//Proc Caltech Conf on VLSI:Architecture,Design,Fabrication.Pasadena:California Institute of Technology,1979:65-90.

[3]李虎虎,罗丰.基于CSD算法的高阶FIR滤波器优化设计[J].雷达科学与技术,2006(6):377-381.

[4]KUMAR PM,CHANDRASEKARAN S,AMIRA A.FPGA realization of FIR filters by efficient and flexible systolization using distributed arithmetic[J].IEEE Transactions on Signal Processing,2008,56(7):3009-3017.

[5]KIM M S,KIM D I,CHUNG JG,et al.Look-up tablebased pulse-shaping filter design[J].Electronics Letters,2000,36(17):1505-1506.

[6]杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2001.

[7]ERUP L,GARDNER FM,HARRISR A.Interpolation in digital modems-part II:implementation and performance[J].IEEE Trans on Communications,1993,41(6):998-1008.

[8]李天昀,许漫坤,葛临东.取邻抽取任意倍数采样率变换算法性能研究[J].数据采集与处理,2012(2):254-258.

[9]蒋天立,吴迪,彭华,巩克现.任意倍数重采样结构参数优化选择[J].信息工程大学学报,2014(3):337-343,379.

[10]LONGA P,MIRI A.Area-efficient fir filter design on FPGAs using distributed arithmetic[J].IEEE International Symposium on Signal Processing and Information Technology,2006(8),248-252.

[11]HUANG W,KRISHNAN V.Design analysis of a distributed arithmetic adaptive FIR filter on an FPGA[J]. System&Computers,2003,1(9):26-30.

[12]WANG Sen,TANG Bin.Distributed arithmetic for FIR filter design on FPGA[J].IEEE ASSP Magazine,1989(7):14-19.

[13]杨洪军,王振友.基于分布式算法和查找表的FIR滤波器的优化设计[J].山东理工大学学报(自然科学版),2009(5):104-106.

[14]NARASIMHA M,PETERSON A.On using the symmetry of FIR filters for digital interpolation[J].IEEE Transactions on Acoustics Speech and Signal Processing. 1978,26(3):261-268.

(编辑苗秀芝)

A new high-speed pulse shaping algorithm w ith arbitrary up-sam pling rate

LIANG Tingting,CHIYonggang,LIU Junjun,WU Fenghui
(Communication Research Center,Harbin Institute of Technology,150001 Harbin,China)

To solve the problem of pulse shaping with arbitrary up-sampling rate in the high speed digital communication system,a new general high-speed algorithm based on look-up table is proposed,which can flexibly change sample rate.The algorithm uses FIR filter structure to realize arbitrary and flexible up-sampling rate conversion within in a range,bymapping different sample-rate conversion to the address problemof look-up table. Meanwhile,the proposed algorithm combining with pipeline structure and improved full parallel distributed arithmetic(DA)realizes the pulse shaping filter function at high speed,which is also validated through hardware platform.The proposed algorithm not only occupies less resource,but also implements at high speed with strong stability.In addition,the algorithm can flexibly realize arbitrary up-sampling rate conversion within a range.

pulse shaping;distribute arithmetic;arbitraryup-sampling rate conversion;look-up table

TP391.9

:A

:0367-6234(2015)11-0053-05

10.11918/j.issn.0367-6234.2015.11.009

2014-12-21.

梁婷婷(1990—),女,硕士研究生.

梁婷婷,a598506173@126.com.

猜你喜欢
高速率倍数时钟
同样是倍数,为啥还不同
别样的“时钟”
古代的时钟
LTE技术在城市轨道交通信号系统中的应用探讨
一种高速背板连接器的设计
倍数魔法
一种基于FPGA+DSP的高速串口通信设计
有趣的时钟
如何表达常用的倍数
时钟会开“花”