数字音频滤波器的无乘法实现方法技术

技术编号:3421397 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种数字音频编解码技术领域的数字音频滤波器的无乘法实现方法。首先,优化标准滤波器算法使其分解为前处理,核处理和后处理。其中核处理将采用CORDIC坐标变换方法实现。其次,仅利用加法和移位运算完成CORDIC核处理和前后处理。本发明专利技术提出了采用CORDIC核实现数字音频滤波器的前期后期处理方法,以及一整套基于CORDIC核的MDCT/IMDCT滤波器的无乘法实现方法与实现电路,可以快速实现数字音频滤波器处理,不需要为滤波处理存储大量余弦系数,也不需要乘法器,方便了硬件实现。

【技术实现步骤摘要】

本专利技术涉及一种数字音频编解码
的方法,具体是一种,即利用旋转坐标变换(CORDIC),仅通过加法和移位来快速实现正逆离散余弦变换(MDCT/IMDCT)和正交镜像滤波器(QMF)处理。
技术介绍
目前广泛使用的数字音频压缩标准都采用了基于心理声学模型的感知编码技术。例如,MPEG音频压缩标准MPEG 1 Layer III(MP3)和MPEG 2 AAC通过滤波器处理的时频变换都得到了很高的编码效率。根据1993年的MPEG 1音频压缩标准,标准MP3采用了MDCT/IMDCT和QMF相结合的混合滤波器,而根据1997年的MPEG 2音频压缩标准,标准AAC采用了MDCT/IMDCT滤波器。MPEG标准数字音频滤波器都是基于乘加运算的,需要进行数据量庞大的算数运算,也需要开辟大量ROM存储空间存放常量系数,这些系统通常为余弦函数的离散值。因此,按MPEG音频压缩标准直接进行滤波处理需要进行大量的计算,开辟较大的存储空间,这样也不易于硬件的具体实现。通常的做法是采用基于FFT的快速算法来进行MDCT/IMDCT,但局限于计算点数必须为2的幂。例如,AAC编码采用的2048点的MDCT可采用FFT方法,而MP3编码的36点MDCT则不能。目前,人们对于移动数字音频播放器的要求已经越来越不满足于对应单一的音频标准编解码器。为了实现能对应多标准音频编解码器而为各个标准采用单独的结构与独立的资源是不合理、不经济的。通常可以采用通用可编程处理器或专用集成电路。前者实现方法较为灵活,但数据处理基于寄存器组和指令集,对并行处理数据,窄宽度数据和可变宽度数据的流媒体数据进行处理时,无法发挥其性能。同时,为了进行数据量巨大的处理又不得不提高处理器主频,造成系统功耗大,不适合移动多媒体的应用。专用集成电路芯片针对特点功能的多媒体的应用而设计,具有高效率和低功耗的特点,能够满足移动多媒体处理的要求,但缺乏灵活性,难以对应多标准音频处理以及音频标准的升级。经对现有技术的文献检索发现,Ray Andraka在Proceedings of the 1998ACM/SIGDA sixth international symposium on Field programmable gate arrays(1998年ACM/SIGDA的第六届国际FPGA研讨会刊物)上发表的“A Survey ofCORDIC algorithm for FPGA based computers”(基于FPGA计算的CORDIC算法调研)一文提出了旋转坐标CORDIC算法在用FPGA实现基本数学函数方面的一些应用,但是尚未发现旋转坐标CORDIC在标准数字音频滤波器中的应用。
技术实现思路
本专利技术旨在针对现有技术的不足,提出一种,从而解决标准数字音频滤波器算法运算量大,处理时间长,存储量大及不易硬件实现的问题。本专利技术可以快速实现数字音频滤波器处理,不需要为滤波处理存储大量余弦系数,也不需要乘法器,方便了硬件实现。本专利技术是通过以下技术方案实现的首先,优化标准滤波器算法使其分解为前处理,核处理和后处理。其中核处理将采用CORDIC坐标变换方法实现。其次,仅利用加法和移位运算完成CORDIC核处理和前后处理。下面针对MDCT/IMDCT滤波器给出本专利技术的实施步骤步骤一MDCT/IMDCT预变换(1)MDCT预变换对输入数据x(n)进行如下变换w(n+14N)=x(n)-x(12N-1-n)w(14N-1-n)=-x(N-1-n)-x(n+12N),n=0,1,...,14N-1]]>将N点的标准MDCTX(k)=Σn=0N-1x(n)cos,k=0,1,...,12N-1]]>变换为如下形式X(k)=Σn=0N/2-1w(n)cos,k=0,1,...,N2-1]]> (2)IMDCT预变换对输出数据x(n)进行如下变换y(n)=-x(n+34N),n=0,1,...,14N-1x(n-14N),n=14N,14N+1,...,N-1]]>并利用对称性y(n)=-y(N-1-n),n=0,1,...,N2-1]]>将N点的标准IMDCTx(n)=Σk=0N/2-1X(k)cos,n=0,1,...,N-1]]>变换为如下形式y(n)=Σk=0N/2-1X(k)cos,n=0,1,...,N2-1]]>可以看到MDCT和IMDCT与变化结果具有相同的形式和相同的计算点数。步骤二CORDIC预变换采用任意以下两种形式之一对MDCT/IMDCT预变换结果做如下变换,这里以IMDCT预变换结果的输入输出进行表示。y(N2-1-2n)=Σk=0N/4-1(-1)k+1{X(N2-1-k)cosθ1-X(k)sinθ1}y(2)n=Σk=0N/4-1{X(N2-1-k)sinθ1+X(k)cosθ1}θ1=π2N(2k+1)(4n+1)]]>或y(2n+1)=Σk=0N/4-1{X(k)cosθ2-X(N2-1-k)sinθ2}y(N2-2-2n)=Σk=0N/4-1(-1)k{X(k)sinθ2+X(N2-1-k)cosθ2}θ2=π2N(2k+1)(4n+3)]]>其中,N为计算点数,X为输入,y为输出,k和n分别为输入输出序号,θ1和θ2为角度调整因子,CORDIC核运算将用到。以上两步是本专利技术的核心。由于通过MDCT/IMDCT预变换,两者已有相同计算形式,这样,通过CORDIC预变换后就可以对通用表达式进行CORDIC核运算,从而减少运算量和硬件实现资源。步骤三CORDIC核运算将CORDIC预变换结果应用于CORDIC核,输入输出及角度因子分别对应。XjYj=cosθ-sinθsinθcosθXiYi]]>Andraka的文献给出了一种仅通过少量加法和移位处理的CORDIC无乘法快速实现方法。根据CORDIC核的形式可知,进行N2/16次CORDIC核运算便可完成全部MDCT/IMDCT有效数值的计算。步骤四MDCT/IMDCT后变换(1)MDCT后变换将CORDIC核运算得到的N/2点有效数据进行后变换,得到MDCT/IMDCT的顺序结果。MDCT无需后处理,CORDIC核运算所得即为MDCT所求顺序结果。(2)IMDCT后变换IMDCT先利用输出结果的对称性y(n)=-y(N-1-n),n=0,1,...,N2-1]]>得到N点序列y(n),再利用预变换的如下逆变换得到IMDCT所求顺序结果。x(n)=y(n+14N),n=0,1,...,34N-1-y(n-34N),n=34N,34N+1,N-1]]>本文档来自技高网
...

【技术保护点】
一种数字音频滤波器的无乘法实现方法,其特征在于,包括如下步骤:步骤一:MDCT/IMDCT预变换:(1)MDCT预变换,变换为如下形式:X(k)=*w(n)cos[π/2N(2k+1)(2n+1)],k=0,1,…, N/2-1(2)IMDCT预变换,变换为如下形式:y(n)=*X(k)cos[π/2N(2k+1)(2n+1)],n=0,1,…,N/2-1步骤二:CORDIC预变换,对MDCT/IMDCT预变换结果做CORDIC预 变换,以IMDCT预变换结果的输入输出表示;步骤三:CORDIC核运算,CORDIC核心运算与坐标旋转变换相同,根据CORDIC核运算预变换提供CORDIC核Xi,Yi以及θ参数,进行N↑[2]/16次CORDIC运算完成MDCT/ IMDCT有效数值的计算,其中,CORDIC核采用仅使用加法和移位的无乘法的快速实现方式进行;步骤四:MDCT/IMDCT后变换(1)MDCT后变换,基于CORDIC的MDCT计算无需进行后变换,CORDIC核运算所得即为M DCT所求顺序结果;(2)IMDCT后变换,利用预变换的如下逆变换得到结果:***。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘佩林邓宁刘嘉龑
申请(专利权)人:上海交通大学富士通株式会社
类型:发明
国别省市:31[中国|上海]

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

1
相关领域技术
  • 暂无相关专利