【技术实现步骤摘要】
减少数字滤波器CSD系数中非零位的方法
本专利技术涉及数字系统设计领域,具体涉及一种减少数字滤波器CSD系数中非零位的方法。
技术介绍
在数字系统设计中,常常会用到数字滤波器,它的功能是对输入离散信号的数字数据进行运算处理,以达到改变信号频谱的目的。数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置。在二进制乘法中,系数的每一位非零位会产生一个部分积,再将所有的部分积用加法器进行累加,从而得到最终的结果。然而乘法器会占用更多的硬件资源,功耗也比较大,乘法器的使用数量很大程度上影响着整个数字系统的参数性能。本专利技术发现滤波器的幅频响应在设计之初就设定好,滤波器系数固定不变,所以对滤波器系数采用编码器进行编码,从而减少系数中非零位的数量来减小部分积的产生,进而减少加法器的数量,达到减小功耗和面积、提升乘法器的速度的目的。CSD(CanonicalSignedDigit)编码器作为一种冗余带符号数算法,是应用于系数乘法中的重要编码方式,将乘法系数中的非零位的数量减小到最小,并且满足任何两个非零数不相邻,从而减少由非零位运算带来的部分积数量,进而减少乘法运算中所需的加法器数量,简化了整个乘法运算。CSD编码常常被用于乘法运算中,CSD编码大大减少了乘法器的面积。如在FIR滤波器中,运用CSD编码体现了巨大的作用,大大减少乘法器的个数。用CSD编码可以有效减少乘积项的数量,从而降低了乘法器单元实现的硬件复杂度。数字滤波器系数的个数就是滤波器的阶数,它决定了滤波器幅频响应特性。往往是根据实际 ...
【技术保护点】
1.一种减少数字滤波器CSD系数中非零位的方法,其特征在于:包括以下方法;步骤s1:定点化滤波器系数并进行CSD编码;/n步骤s2:计算主系数的目标量化值区间;/n步骤s3:选取目标量化值重新计算CSD编码;/n步骤s4:重复s3直到搜索完整个目标量化值区间;/n步骤s5:检验选定目标量化值对应的CSD编码。/n
【技术特征摘要】
1.一种减少数字滤波器CSD系数中非零位的方法,其特征在于:包括以下方法;步骤s1:定点化滤波器系数并进行CSD编码;
步骤s2:计算主系数的目标量化值区间;
步骤s3:选取目标量化值重新计算CSD编码;
步骤s4:重复s3直到搜索完整个目标量化值区间;
步骤s5:检验选定目标量化值对应的CSD编码。
2.根据权利要求1所述的减少数字滤波器CSD系数中非零位的方法,其特征在于:
在步骤s1中,
首先,设计数字滤波器时,预先将浮点系数转换成定点系数;然后,将定点系数进行CSD编码;其次,定点系数分解为2的幂和,即二进制定点系数,二进制定点系数只有0,1两种情况,是无符号数字,每个系数通过移位和无符号相加得到;再次,基于CSD编码使用有符号数字减少非零位,CSD编码有0,1和-1三种情况,是有符号数,每个系数通过移位和有符号相加得到,CSD编码后相邻的比特位只有一个是非零位,编码规则:从低位到高位,遇到连续的两个1,第一个1变0,第二个1变-1,同时向高位进位,以此类推;
首先,对应N阶滤波器,具有N个浮点滤波器系数,用Sbit对滤波器的浮点系数进行定点化,S≥4且正整数,Sbit包括1个符号位与9个小数位,N阶FIR低通滤波器定点化后的系数取值范围-(k+1)~k,k为自然数;然后,用(S-1)bit对定点系数进行CSD编码,编码后相邻2位只有一个非零位,对于(S-1)bit而言,即在满幅度p/q刻度位置,所以在定点化时,将滤波器系数的最大值归一化到满幅度p/q的位置。
定点化公式如下:
其中x是浮点系数,y是定点化系数,abs是取绝对值操作,max是取最大值操作,round是四舍五入操作。
CSD编码的公式:
z(i)=csd(y(i))*gaini=1,2...N
其中,csd函数执行CSD编码操作,gain是额外补偿增益,使得滤波器系数在直流点处的增益为0db;CSD编码完成后,计算单个系数运算量和总运算量,单个系数运算量是每个系数CSD编码的非零位的个数,总运算量是所有系数的运算量总和。
3.根据权利要求2所述的减少数字滤波器CSD系数中非零位的方法,其特征在于:在步骤s2中,首先,通过步骤s1中的CSD编码将滤波器系数的最大值,即主系数,归一化到满幅度p/q的位置,并选出系数经过CSD编码后的单个系数α运算量超过设定预制阈值的;
然后,改变主系数归一化到满幅度下的目标量化值位置,设置目标量化区间,计算区间中每个目标位置对应的CSD编码,选出总运算量最小、单系数最大运算量最小的量化值位置,作为最终的归一化值;
其中,目标量化区间...
【专利技术属性】
技术研发人员:汪祝东,梁钟伟,
申请(专利权)人:深圳市觅拓物联信息技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。