一种基于软件查表法的FIR滤波器实现方法技术

技术编号:17099195 阅读:38 留言:0更新日期:2018-01-21 11:04
一种基于软件查表法的FIR滤波器实现方法,包括:步骤一、计算查找表的大小并与设定阈值进行比较,若查找表的大小不超过设定阈值即生成查找表,否则修改滤波器参数;步骤二、生成查找表,查找表采用静态生成法,特定FIR滤波器对应一个固定的查找表;步骤三、计算机根据实时输入码元流计算索引值,读取查找表得到对应滤波器输出值。本发明专利技术以查表取代卷积运算,通过计算机生成并读取查找表完成滤波功能,用内存资源换取滤波速度,克服了通用CPU在实现FIR滤波器时,由于串行执行导致运算次数大,计算速率低的缺点。本发明专利技术利用了现有计算机大内存的优势,配合CPU的高速运算,整体提高了运算速度。

A FIR filter implementation method based on software look-up method

【技术实现步骤摘要】
一种基于软件查表法的FIR滤波器实现方法
本专利技术属于数字信号处理领域,具体涉及一种基于软件查表法的FIR滤波器实现方法。
技术介绍
在数字通信理论中,数字基带信号需要通过基带内插成型滤波后才能够进行调制输出。基带成型滤波器一般采用FIR滤波器,常用的FIR滤波器的实现方法分为硬件和软件两种。其中,硬件实现包括利用DSP或FPGA来实现,软件实现是指借助通用CPU来实现。在硬件实现方面,DSP芯片实现的FIR滤波器具有稳定性好,精确度高以及不受环境影响的特点,并且DSP支持流水线操作,能够实现并行处理,进而能够提高FIR滤波器的运算速度。FPGA能够并行处理数据并具有可编程逻辑性,其运算速度快、实时性高、程序移植性强、可靠性强、实现成本较低,因此目前是FIR滤波器设计的主要方法。在软件实现方面,通用CPU具有远高于FPGA的主频,能够进行高速运算,但是因为通用CPU采用串行方式执行指令,FIR滤波器的大量乘累加计算会使得整体运算速度下降。目前还没有能够在通用CPU上快速实现FIR滤波器的较好算法。
技术实现思路
本专利技术的目的在于针对上述现有FIR滤波器CPU实现技术中的问题,提供一本文档来自技高网...

【技术保护点】
一种基于软件查表法的FIR滤波器实现方法,其特征在于,包括以下步骤:步骤一、计算查找表的大小并与设定阈值进行比较,阈值指的是实际应用中所能接受的最大查找表大小,若查找表的大小不超过设定阈值即生成查找表,否则修改滤波器参数;步骤二、生成查找表,查找表采用静态生成法,特定FIR滤波器对应一个固定的查找表;2.1)根据设计指标得到滤波器的各抽头系数h(n)和抽头数总数Nt;2.2)根据滤波器的阶数N,确定在每次卷积过程中有效的码元位数K;2.3)码元序列s(n)的长度设为K位,s(n)依次按照集合S={0,1,2,…,2^k‑1}取值;2.4)码元序列s(n)根据内插倍数M在两个码元之间插入M‑1个...

【技术特征摘要】
1.一种基于软件查表法的FIR滤波器实现方法,其特征在于,包括以下步骤:步骤一、计算查找表的大小并与设定阈值进行比较,阈值指的是实际应用中所能接受的最大查找表大小,若查找表的大小不超过设定阈值即生成查找表,否则修改滤波器参数;步骤二、生成查找表,查找表采用静态生成法,特定FIR滤波器对应一个固定的查找表;2.1)根据设计指标得到滤波器的各抽头系数h(n)和抽头数总数Nt;2.2)根据滤波器的阶数N,确定在每次卷积过程中有效的码元位数K;2.3)码元序列s(n)的长度设为K位,s(n)依次按照集合S={0,1,2,…,2^k-1}取值;2.4)码元序列s(n)根据内插倍数M在两个码元之间插入M-1个0,生成输入序列x(n);2.5)根据离散信号的卷积公式:计算出滤波器的输出值;2.6)将s(n)每个对应的y(n)存入查找表,回到步骤2.3),直至s(n)取完S中的所有值;步骤三、计算机根据实时输入码元流计算索引值,读取查找表得到对应滤波器输出值。2.根据权利要求1所述基于软件查表法的FIR滤波器实现方法,其特征在于,所述查找表的大小根据以下公式进行计算:Size=M*2p*N*L(Byte);式中,P为输入码元分辨率,L为表格数据精度,N为滤波器阶数,M为内插倍数,Size为查找表大小,查找表大小的单位为字节;所述的输入码元分辨率P指的是每个码元的比特数,表格数据精度L指的是查找表中每个数据以L个字节进行存储。3.根据权利要求1所述基于软件查表法的FIR滤波器实现方法,其特征在于,步骤2.1)所述的设计指标包括滤波器的阶数N、内插倍数M、采样频率、通带和阻带截止频率、通带和阻带衰减值;所述的各抽头系数h(n)通过滤波器设计软件FilterLab、FilterCAD获得,或者通过Matlab的FDATool工具得到。4.根据权利要求1所述基于软件查表法的FIR滤波器实现方法,其特征在于,步骤2.2)确定有效的码元位数K时,分有效码元与滤波器抽头中心点对齐和不对齐两种情况计算:2.2a)当有效码元与滤波器抽头中心点对齐时,输入序列的首尾两点为有效码元,则码元有效位数K'=N;2.2b)当有效码元与滤波器抽头中心点不对齐时,滤波器的抽头中心点与内插0值对齐,则码元的有效位数K=N-1。5.根据权利要求4所述基于软件查表法的FIR滤波器实现方法,其特征在于,步骤2.3)针对有效的码元位数K分别计算两种情况下的s(n)取值:2.3a)当有效码元与滤波器抽头中心点对齐时,集合S'={0,1,2,…,2^k'-1},k'=N;s(n)在集合S'中依次取值,计算出的各输出值存入查找表的第一行;2.3b)当滤波器的抽头中心点与内插0值对齐时,集合S={0,1,2,…,2^k-1},k=N-1;s(n)在集合S中依次取值,...

【专利技术属性】
技术研发人员:曹俊沈雪峰李嘉杰韦文怡符均陈伟
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1