具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了实现本发明之目的,本发明公开了一种级联滤波器的设计方法,包括以下步骤:确定滤波器的内插倍数N,根据滤波器内插的倍数N,设计PFIR滤波器的内插倍数N1、CIC滤波器的内插倍数N2以及HB滤波器的内插倍数N3,其中N=N1*N2*N3;计算PFIR滤波器的滤波器系数,得到PFIR和CIC滤波器级联的组合滤波器设计方案,其中CIC能抑制PFIR滤波器的镜像达到预定门限值;当PFIR和CIC滤波器级联的组合滤波器的内插倍数没达到预定倍数时,设计HB滤波器,确定HB滤波器通带Fpass以及阶数,使得PFIR和CIC滤波器级联的组合滤波器加HB滤波器的滤波性能满足系统的内插倍数要求。
如图3所示,为本发明实施例级联滤波器的设计方法的流程图,包括以下步骤:
S301:确定滤波器的内插倍数N。
在步骤S301中,确定滤波器的内插倍数N,根据滤波器内插的倍数N,设计PFIR滤波器的内插倍数N1、CIC滤波器的内插倍数N2以及HB滤波器的内插倍数N3,其中N=N1*N2*N3。
作为本发明的实施例,为了在产品上真正应用1.4MHZ的载波间隔,本发明实施例提出的技术方案采用了一种多级滤波器的设计装置,使得设计的滤波器阶数在FPGA可实现的范围内,EVM、ACPR等指标也可以满足协议要求。有限冲击响应数字滤波器有很好的限带特性,对抽样时间误差有较好的鲁帮性。此滤波器应用与移动通信系统不仅使得QPSK失真很小,采用64QAM的高维调制方式的数字基带信号波形失真也很小,使得移动通信系统尤其是高速移动通信系统具有较高的频谱效率和系统容量,从而为建立大容量高速数据业务的传输奠定基础。本发明实施例提出的滤波器设计就满足64QAM高维调制的需求。
要解决1.4MHZ频点间隔滤波器难设计的问题,过渡带由0.22降低到0.0938,通带和阻带都有相应的改动如下,同时滤波器的3dB压缩点仍然是0.64MHZ,即
3dBc_band=0.64。
对于内插倍数比较大的滤波器设计,采用PFIR加CIC组合的设计方案。PFIR的作用起到频谱成型,CIC的作用主要是完成多倍内插,CIC的内插倍数要大于PFIR。如果PFIR的内插倍数太大,则滤波器很难设计,所以尽量把PFIR的内插倍数降低。但是如果PFIR的内插倍数降得过低,则CIC滤波之前插入的零值过多,导致镜像多,则使得CIC抑制镜像的效果受限,使得镜像抬升。
作为本发明的实施例,PFIR滤波器的内插倍数N1小于CIC滤波器的内插倍数N2。所以此时组合滤波器的设计思想是在保证CIC抑制PFIR镜像的基础上,PFIR的内插倍数越小越好。例如TD-SCDMA如果要进行48倍内插,首先需要4倍的PFIR,随后跟随6倍内插的CIC,最后再跟一个2倍内插倍数的HB。最后得到的滤波器的内插倍数为48,即4*PFIR+6*CIC+2*HB。
因此,作为本发明的实施例,滤波器特性参数设计如下表所示:
滤波器 |
通带(MHZ) |
阻带(MHZ) |
波纹(dB) |
速率(MHZ)/内插倍数 |
阶数(Taps)/复杂度 |
PFIR |
0.58 |
0.7 |
<0.05dBc |
5.12/4 |
<120 |
CIC |
0.58 |
0.7 |
<0.05dBc |
30.72/6 |
4级 |
HB |
0.58 |
0.7 |
<0.05dBc |
61.44/2 |
<15 |
S302:设计PFIR和CIC滤波器级联的组合滤波器,其中CIC能抑制PFIR滤波器的镜像达到预定门限值。
在步骤S302中,计算PFIR滤波器的滤波器系数,得到PFIR和CIC滤波器级联的组合滤波器设计方案,其中CIC能抑制PFIR滤波器的镜像达到预定门限值,作为本发明的实施例,上述预定门限值为不小于80dBc。
作为本发明的实施例,计算PFIR滤波器的滤波器系数包括:
设计出一个理想的Ideal-PFIR滤波器,其内插倍数为N1;
设计出CIC滤波器,其内插倍数为N2,根据所述CIC滤波器,设计一个补偿CIC失真的反正弦低通滤波器Inv-SINC;
将所述Ideal-PFIR滤波器系数和Inv-SINC滤波器系数卷积得到PFIR的滤波器系数。
因此,在上述实施例中,最主要的设计是PFIR滤波器系数的设计,首先设计出一个理想的Ideal-PFIR滤波器,然后再设计一个补偿CIC失真的反正弦低通(INVERSE SINC LOWPASS)滤波器Inv-SINC,最后通过Ideal-PFIR滤波器系数和Inv-SINC滤波器系数卷积得到PFIR的滤波器系数。
为了得到Inv-SINC滤波器系数,作为本发明的实施例,首先观察CIC在0.64MHZ频点处频谱的压缩情况。PFIR加CIC组合后的信号速率如果是30.72MHZ,所以6倍内插4级CIC的频谱横坐标是30.72MHZ,如图4所示,为6倍内插4级CIC的频谱图。
在图4中,CIC幅频特性为梳状,单级CIC滤波器的副瓣抑制很差,为了提高对副瓣的抑制能力,可以将单级CIC滤波器级联,形成级联积分梳状滤波器(Cascaded Integrator Comb),其频率响应如下式所示
其中N1是CIC级数,R是内插抽取速率,M是滤波器的差分延时(differential delay),图5、图6分别为CIC的幅度响应和CIC的幅度响应-级数的影响效果图。
其中,Q为级联的级数。CIC滤波器系数按照下面展开的方式得到:
虽然CIC滤波器具有低通特性,但频带内并不平坦,而是有一定的滚降,从而使得频谱产生失真。因此需要用PFIR滤波器进行补偿,补偿的这个滤波器就是Inv-SINC滤波器。则可编程的补偿滤波器在通带内的频率响应inv_sinc(z)为:
在做滤波器通带补偿时,设置CIC的FFT的点数是FFT_SIZE,首先计算CIC的频谱,
fft_size=2N,N≥10
cic_0p64=cic_spectrum(index)
注释:fcic为系统在CIC内插以后的信号速率,不是CIC内插之前的速率。
fphy-0p64:直接等于0.64即可,计算0.64MHZ的索引带入就可以计算得到0.64MHZ处的幅度衰减。
通过上述算法得到CIC在0.64MHZ处频谱的衰减等于cic_0p64,放大CIC频谱观测0.64MHZ处的衰减,应该和计算得到的衰减数值一样。
得到CIC在0.64MHZ处频谱的衰减以后,设计Inv-SINC滤波器系数在0.64MHZ处频谱的幅度需要提升cic_0p64dBc。这个Inv-SINC的频带表达式如下:
从上面的表达式可以看出来频率因子(C)或者功率(P)越大,则信号频谱的幅度提升越明显。通过不断修正反正弦频率因子和反正弦功率完成Inv-SINC滤波器设计,从而得到Inv-SINC的频谱,Inv-SINC参数设置如下表所示:
Inv-SINC参数设置表格
名称 |
设置 |
含义 |
速率(Fs) |
3.84MHZ |
Sampling Frequency:PFIR的采样速率 |
阶数(N) |
17 |
order:一般不要设置太大,否则组合后的滤波器阶数会比较长 |
截止频率(Fc) |
1.2MHZ |
Cutoff Frequency |
反正弦频率因子(C)isincffactor |
1 |
Inverse Sinc Frequency Factor: |
反正弦功率(P)isincpower |
1.21 |
Inverse Sinc Power: |
阻带衰减Dstop |
-20dBc |
Stopband Attenuation:一般不要设置太大,阻带的衰减主要靠前面的PFIR来完成0.019952 |
通带波纹Dpass |
0.0005 |
Passband Ripple |
然后调用Matlab中的函数firceqrip计算滤波器的系数:
b=firceqrip(N,Fc/(Fs/2),[Dpass,Dstop],′slope′,slope,′invsinc′,[isincffactor isincpower])。
通过不断修正反正弦频率因子和反正弦功率得到0.64MHZ处频谱增益有1.29dBc的提升,为此Inv-SINC滤波器设计完成,如图7所示。
PFIR和Inv-SINC卷积以后得到PFIR滤波器系数:
PFIR=CONV(Ideal-PFIR,Inv-SINC),
此时得到组合滤波器频谱,如图8所示。
对于PFIR设计一般采用RRC滤波器,加入的窗是kaiser窗,Beta因子一般接近5左右,不能太小,以增强其阻带衰减。同时滚降因子Rolloff不能设置0.22,实际设置会比较小,增加其陡峭性。截止频率CutoffFrequency不能严格的设置为0.64,一般要大一些,例如0.65。
调用Matlab函数firrcos就完成了PFIR滤波器的设计,设计流程如下:
Fs=3.84;%采样频率
N=72;%阶数
Fc=0.65;%截止频率
TM=′Rolloff′;%转换模式
R=0.09;%滚降
DT=′Sqrt′;%设计类型
Beta=5;
win=kaiser(N+1,Beta);
%用FIR1函数计算系数
fir=firrcos(N,Fc/(Fs/2),R,2,TM,DT,[],win);
通过上述代码,就完成了PFIR滤波器的设计。
PFIR和CIC卷积以后的信号频谱如图9所示,为CIC内插零值以后PFIR滤波示意图。此时注意:CIC对内插信号一定要有足够的衰减,原始信号的第一个镜像出现的时候CIC的抑制一般要超过80dBc,否则组合后的滤波器频谱在第二个镜像出现抬升,导致整个系统的频谱模版无法通过。
对于CIC的补偿一般采用直接补偿算法,本发明提出的是一种间接补偿算法。直接补偿算法的设计流程是直接设计一个带有补偿CIC的PFIR。例如设计一个内插倍数N=6设计一种PFIR级联CIC的多级滤波器,组合滤波器的频谱特性为RRC滤波器。PFIR的级联倍数LPFIR(3),CIC的级联倍数为LCIC(2)。根据CIC确定的内插倍数和级数确定CIC的幅频特性HCIC(z),这样得到PFIR的幅频特性: HRRC(z)为理想滤波器的频谱响应。PFIR滤波器的幅频特性和加权误差设置完成以后调用软件Matlab中的函数firpm就完成了PFIR滤波器系数的设计。
采用直接补偿方法的缺点:由于设计的PFIR滤波器既要满足频谱模版,又要对CIC的衰落进行补偿,故此一般设计出来的滤波器系数的阶数比间接补偿算法要长,同时
而本专利采用的间接补偿算法:设计出来的INV_SINC滤波器专门补偿CIC的衰减,故此对CIC的衰减弥补的会比较精确,设计出来的理想PFIR主要满足阻带衰减的大小,故此阻带衰减可以设计得比较大。
对比项目 |
直接补偿算法 |
间接补偿算法 |
说明 |
阶数 |
长(大于120) |
短(大于100) |
此项差别不是很大。 |
阻带衰减 |
大于60dBC |
大于70dBC |
|
通带波纹 |
小于0.04dBc |
小于0.03dBc |
|
S303:当组合滤波器的内插倍数没达到系统要求时,增加HB滤波器满足系统的要求。
在步骤S303中,当PFIR和CIC滤波器级联的组合滤波器的内插倍数没达到预定倍数时,设计HB滤波器,确定HB滤波器通带Fpass以及阶数,使得PFIR和CIC滤波器级联的组合滤波器加HB滤波器的滤波性能满足系统的内插倍数要求。
上述PFIR加CIC设计出来的频谱模版作为第一要素,如果内插倍数不够时,通过增加HB滤波器达到系统对速率的要求。对于HB滤波器一般为了节省FPGA硬件实现的资源,阶数N都比较短,一般不超过20阶,同时通带Fpass尽量要小一些,可以选择0.2~0.1之间,通过函数hb=firhalfband(N,Fpass),就可以完成HB滤波器系数的设置,firhalfband为软件Matlab中的函数。
如图10所示,为HB滤波器没有设计好,导致信号的镜像没有足够的抑制。这是由于在设计HB滤波器系数时Fpass选择0.3,导致镜像的抑制只有60dBc。
由于设计的滤波器通带比较窄,通带带宽 就可以满足要求,下图时Fpass=0.15时设计的滤波器频谱和根据此滤波器用于PFIR加CIC之后的滤波器频谱如图11所示。
此时HB对镜像的抑制超过100dBc,此时HB就可以用于FPGA的硬件实现,并且阶数不超过20阶。
如果CIC加PFIR不使用HB滤波器,当CIC的内插倍数比较大时,PFIR的镜像相邻比较近时,CIC阻带抑制还没有足够大就出现镜像,使得系统的第二个镜像出现,导致总体滤波效果下降,如图12所示。
如果TD-SCDMA载波间隔由1.6MHZ降低到1.4MHZ,对于10MHZ带宽的系统载波个数可以支持到7载波,下面就仿真7载波TD-SCDMA信号经滤波后的频谱以及接收端解调的EVM。114阶PFIR滤波器,滤波器的ACPR可以到达72dBc,如图13所示,为7载波信号叠加后的频谱图。
由于载波间隔变窄,载波内的信号更加容易受码间干扰的影响,可能会导致系统的射频指标EVM下降。但是根据上述本专利提供的设计思想设计出来的滤波器,并没有使得系统的解调性能下降,如下表所示,为TD10MZ内七载波的解调性能:
表:TD七载波的解调后的EVM
载波连续分配模式(16QAM) |
C1 |
C2 |
C3 |
C4 |
C5 |
C6 |
C7 |
1.4MHZ-EVM% |
0.4 |
0.4 |
0.6 |
0.6 |
0.6 |
0.7 |
0.4 |
其中一个载波的EVM图如图14所示。
上述滤波器的设计思想不仅用于1.4MHZ滤波器设计,同时还应用于1.6MHZ滤波器设计,上述设计方案是一种通用的滤波器设计思想。
如图15所示,为传统滤波器的设计方案和本专利设计方案对比流程图。本方案设计出来的滤波器系数阶数骤减,易于FPGA实现。下表为两种方案的对比:
本发明公开的上述滤波器设计方法,由于资源消耗远远小于传统滤波器的设计方法,所以可以使用价格低廉的FPGA芯片实现多天线多通道DUC设计,当然在FPGA实现DUC的时候还可以采用多相,对称,时分复用等技巧进一步降低FPGA硬件资源。但是对于传统的滤波器设计方案就算在FPGA实现的时候采用多相,对称,时分复用等技巧也必须采用价格更高,容量更大的器件,价格成本远远高于本方案的设计。
如图16所示,为本发明实施例级联滤波器的设计装置100的结构示意图,包括配置模块110、运算模块120以及判断模块130。
其中,配置模块110,用于配置滤波器的内插倍数N,根据滤波器内插的倍数N,配置PFIR滤波器的内插倍数N1、CIC滤波器的内插倍数N2以及HB滤波器的内插倍数N3,其中N=N1*N2*N3。
作为上述设备100的实施例,配置模块110配置的PFIR滤波器的内插倍数N1小于CIC滤波器的内插倍数N2。
作为上述设备100的实施例,对于带宽Fphy为1.28MHz的系统,运算模块120计算其通带、阻带以及滤波器的3dB压缩点分别为:
3dBc_band=0.64。
作为上述设备100的实施例,对于带宽Fphy为1.28MHz、频点间隔1.4MHz的TD-SCDMA系统,配置模块110配置的PFIR滤波器的内插倍数为4、CIC滤波器的内插倍数为6以及HB滤波器的内插倍数为2。
运算模块120,用于计算PFIR滤波器的滤波器系数,得到PFIR和CIC滤波器级联的组合滤波器设计方案,其中CIC能抑制PFIR滤波器的镜像达到预定门限值,作为本发明的实施例,预定门限值为不小于80dBc。
作为上述设备100的实施例,运算模块120计算PFIR滤波器的滤波器系数包括:
运算模块120设计出一个理想的Ideal-PFIR滤波器,其内插倍数为N1;运算模块120设计出CIC滤波器,其内插倍数为N2,根据CIC滤波器,设计一个补偿CIC失真的反正弦低通滤波器Inv-SINC;运算模块120将Ideal-PFIR滤波器系数和Inv-SINC滤波器系数卷积得到PFIR的滤波器系数。
判断模块130,用于判断PFIR和CIC滤波器级联的组合滤波器的内插倍数是否达到系统指标内插倍数要求;当PFIR和CIC滤波器级联的组合滤波器的内插倍数没达到预定倍数时,运算模块120计算HB滤波器通带Fpass以及阶数,设计HB滤波器,使得PFIR和CIC滤波器级联的组合滤波器加HB滤波器的滤波性能满足系统的内插倍数要求。
本发明公开的上述滤波器设计装置,由于资源消耗远远小于传统滤波器的设计装置,所以可以使用价格低廉的FPGA芯片实现多天线多通道DUC设计,当然在FPGA实现DUC的时候还可以采用多相,对称,时分复用等技巧进一步降低FPGA硬件资源。但是对于传统的滤波器设计方案就算在FPGA实现的时候采用多相,对称,时分复用等技巧也必须采用价格更高,容量更大的器件,价格成本远远高于本方案的设计。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。