一种自适应复系数滤波方法及系统
技术领域
本发明具体涉及一种简化硬件设计的自适应复系数滤波方法及系统。
背景技术
传统的复系数滤波器实现过程为:复系数滤波器的数据输入为I、Q两路数据流,分别用xi(n)和xq(n)表示;复系数滤波器的系数输入为自适应算法求得的I、Q两路权系数,分别用wi(n)和wq(n)表示。将I路数据流xi(n)输入到系数为wi(n)的系数可重载滤波器中,得到滤波输出卷积和xi(n)*wi(n);将I路数据流xi(n)输入到系数为wq(n)的系数可重载滤波器中,得到滤波输出卷积和xi(n)*wq(n);将Q路数据流xq(n)输入到系数为wi(n)的系数可重载滤波器中,得到滤波输出卷积和xq(n)*wi(n);将Q路数据流xq(n)输入到系数为wq(n)的系数可重载滤波器中,得到滤波输出卷积和xq(n)*wq(n)。共需要4个系数可重载滤波器。最后,求得复系数滤波器I、Q两路的输出分别为:yi(n)=xi(n)*wi(n)+xq(n)*wq(n)、yq(n)=xq(n)*wi(n)-xi(n)*wq(n)
自适应滤波器是一种能够自动调整本身参数的特殊线性时不变系统,在设计时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐步“了解”或估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳滤波效果。自适应滤波器应用于通信领域的自动均衡、回波消除、天线阵波束形成,以及其它相关领域信号处理的参数识别、噪声消除、频谱估计等方面。
自适应滤波器主要包括参数可调的数字滤波器和自适应算法两部分。在自适应滤波器的应用中,经常会遇到复系数滤波器的实现,如回波消除应用。对于参数可调的复系数滤波器在FPGA实现中会消耗很多的硬件资源,特别是在系统处理频点较多时。
以GSM系统回波消除应用为例,系统一般工作在8个频点以上(如GSM回波消除8、12、16频点等)。每个频点都需要实现I、Q两路数据的滤波。传统的复系数滤波器需要实现I、Q两路数据对应两路权系数共四个滤波操作,以Altera公司Cyclone III平台为例,一个32阶滤波器需要680个逻辑单元、1个18-bit乘法器,加上部分实现逻辑,传统方法实现一个频点的I、Q两路复系数滤波器共需要2600个逻辑单元和4个18-bit乘法器。再考虑到多频点的实现,复系数滤波器资源消耗严重制约着成本的节省。
发明内容
本发明所要解决的技术问题在于提供一种自适应复系数滤波方法及系统,以简化自适应复系数滤波器的硬件实现。
本发明通过以下技术方案解决上述问题:一种自适应复系数滤波方法,其不同之处在于:其包括以下步骤:步骤1)、对进入自适应复系数滤波系统的I、Q两路并行数据xi(n)和xq(n)进行并串转换,然后将并串转换模块处理后的串行数据xiq(n)分别输入至权系数为wi(n)的双输入通道系数可重载滤波器、权系数为wq(n)的双输入通道系数可重载滤波器中;
步骤2)、对步骤1)滤波处理后的数据进行串并转换,其中,权系数为wi(n)的双输入通道系数可重载滤波器滤波处理后输出数据为卷积和yi_temp=xiq(n)*wi(n),该输出数据经串并转换模块处理后得到xi(n)*wi(n)和xq(n)*wi(n)2路输出;权系数为wq(n)的双输入通道系数可重载滤波器滤波处理后输出数据为yq_temp=xiq(n)*wq(n),该输出数据经串并转换模块处理后得到xi(n)*wq(n)和xq(n)*wq(n)2路输出;
步骤3)、对步骤2)输出的4路数据进行复系数滤波加减法,生成I、Q两路数据滤波后的输出值yi(n)和yq(n)。
按以上方案,所述步骤1)包括以下具体步骤:对并行数据xi(n)和xq(n)进行并串转换的同时,生成数据起始和结束标志,供双输入通道系数可重载滤波器识别当前串行数据流为xi(n)或xq(n)。
按以上方案,所述步骤2)包括以下具体步骤:根据双输入通道系数可重载滤波器输出的通道指示标志channel将yi_temp和yq_temp分别进行串并转换,当通道指示标志channel为低电平时,yi_temp输出卷积和xi(n)*wi(n),yq_temp输出卷积和xi(n)*wq(n);当通道指示标志channel为高电平时,yi_temp输出卷积和xq(n)*wi(n),yq_temp输出卷积和xq(n)*wq(n)。
按以上方案,所述方法适用于各种系统自适应复系数滤波器。
按以上方案,所述方法适用于固定系数的复系数滤波器。
一种自适应复系数滤波系统,其不同之处在于:其包括并串转化模块、双输入通道系数可重载滤波器、串并转化模块;所述并串转化模块用于对进入其输入端的I、Q两路并行数据xi(n)和xq(n)进行并串转换,然后将并串转换模块处理后的串行数据xiq(n)分别输入至权系数为wi(n)的双输入通道系数可重载滤波器、权系数为wq(n)的双输入通道系数可重载滤波器中;所述每个双输入通道系数可重载滤波器滤波处理后的数据输出至对应的串并转化模块,串并转化模块处理后的数据进行复系数滤波加减法,生成I、Q两路数据滤波后的输出值yi(n)和yq(n)。
按以上方案,还包括2个溢出控制模块,所述溢出控制模块分别设置在I、Q两路数据滤波后的输出端。
本发明一种自适应复系数滤波方法的优点在于:利用简单的并串、串并处理,将传统设计自适应复系数滤波器需利用4个滤波器优化为仅需2个2通道输入滤波器来实现。并且充分利用滤波器工作时钟远大于输入数据码片率的特性,进行2通道输入的滤波器与单通道输入的滤波器所耗硬件资源相当。测试表明,本发明方法较传统方法节约了近一半的硬件资源。
附图说明
图1为本发明一种自适应复系数滤波方法的FPGA构架图。
具体实施方式
下面参照附图和具体实现方式对本发明作进一步的说明。
本发明一种自适应复系数滤波方法利用简单的并串、串并处理,将传统设计自适应复系数滤波器需利用4个滤波器优化为仅需2个双输入通道系数可重载滤波器来实现。通过对输入数据xi(n)和xq(n)进行一定处理,来达到简化硬件实现的目的。
请参阅图1,是本发明一种自适应复系数滤波方法的FPGA构架。该发明可进一步具体为:
步骤1:信号xi(n)和xq(n),作为自适应复系数滤波系统的数据输入;通过自适应算法迭代更新的权系数wi(n)和wq(n),作为自适应复系数滤波系统的权系数输入。
步骤2:对并行的滤波器输入数据xi(n)和xq(n)作并串处理,生成串行数据流xiq(n),同时生成对应的数据起始sop和结束标志eop。sop为高电平时指示串行数据流xiq(n)此时对应的数据为xi(n);eop为高电平时指示串行数据流xiq(n)此时对应的数据为wq(n),以供双输入通道系数可重载滤波器识别当前数据。
步骤3:将串行数据流xiq(n)和对应的标志sop、eop分别输入到权系数为wi(n)的双输入通道系数可重载滤波器、权系数为wq(n)的双输入通道系数可重载滤波器中,进行自适应滤波,权系数为wi(n)的双输入通道系数可重载滤波器输出卷积和yi_temp=xiq(n)*wi(n),权系数为wq(n)的双输入通道系数可重载滤波器输出卷积和yq_temp=xiq(n)*wq(n)。
步骤4:根据双输入通道系数可重载滤波器输出的通道指示标志channel将yi_temp和yq_temp分别进行串并转换,当通道指示标志channel为低电平时,yi_temp输出卷积和xi(n)*wi(n),yq_temp输出卷积和xi(n)*wq(n);当通道指示标志channel为高电平时,yi_temp输出卷积和xq(n)*wi(n),yq_temp输出卷积和xq(n)*wq(n)。
步骤5:计算滤波后的I、Q输出yi(n)和yq(n),即yi(n)=xi(n)*wi(n)+xq(n)*wq(n)和yq(n)=xq(n)*wi(n)-xi(n)*wq(n)。
本发明自适应复系数滤波方法,仅需要2个双输入通道系数可重载滤波器就可实现一个频点的I、Q两路复系数滤波。一个双输入通道滤波器需要670个逻辑单元、2个18-bit乘法器,加上并串、串并转化部分实现逻辑,本发明实现一个频点的I、Q两路复系数滤波器共需要1350个逻辑单元和4个18-bit乘法器,较传统方法省了近一半的逻辑单元。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。