实现不使用乘法器的有限脉冲响应滤波器的方法和设备的制作方法

文档序号:5832340阅读:244来源:国知局
专利名称:实现不使用乘法器的有限脉冲响应滤波器的方法和设备的制作方法
技术领域
本发明总的涉及数字信号处理领域。更具体的,本发明的实施例涉及 实现不使用乘法器的有限脉冲响应滤波器的方法和设备。
背景技术
滤波是在数字信号处理中最频繁使用的操作之一。滤波的方法之一是
利用有限脉冲响应(FIR)滤波器。在这种类型的滤波器中,用确定频率 响应输出特征的有限持续时间的脉冲响应对输入信号进行巻积。因为在采 样数据系统中通常使用FIR,所以信号和脉沖响应在时间和幅度上被量 化,从而产生离散采样。包括期望的脉沖响应的离散采样是FIR滤波器系 数。
对于每个输出采样的FIR滤波器计算是两步处理。多个输入信号采样 乘以对应数目的系数值(每一对的值乘在一起)。之后,所有的乘积被相 加在一起。系数的数目和数值对应于期望的频率响应。脉冲响应越长,滤 波器系数越多,因此需要的乘法就越多。
FIR滤波器的一个缺点是对于每一个输出采样所要求的计算很复杂。 例如,对于每一个输出采样,需要执行N个相乘-累加(MAC)操作。 一个 100系数滤波器对于每一个输出采样都需要100个乘法和100个加法。
数字信号处理(DSP)集成电路是被设计成用于在计算非常大量的乘 法和加法的同时逐抽头(tap)地同时移动采样数据的专用计算引擎。尽 管有用于提高计算效率的多种方案,但是通常在希望的滤波器响应和抽头 的数量之间进行折衷。在衰减、平坦响应、通带和衰减区域中的波紋、过 渡带和更多之间进行折衷。其它折衷涉及到计算精度。对于系数和输入信 号采样有效的位的数量影响滤波器质量。滤波器设计者必须考虑以上全部 因素。
尽管制造集成电路产生的进步是降低了成本和实现乘法器所需的芯 片面积总量,但是乘法器在与其它算术操作例如加法器相比较时仍然是相 对昂贵的。该费用直接与逻辑门的数量相关。二进制加法器比二进制乘法器的成本低,然而二进制加法器的使也应该最小化。如果当实现多通道设
计时滤波器设计者的目的是使成本最小化并且节约ic资源,则希望找到
最低p艮度地使用或者避免使用乘法器的滤波体系结构和方法。
存在减少在滤波器实施中使用的乘法器数量的方法。例如,利用滤波
器系数脉冲响应的均衡特征。然而,这通常减少2倍,并且在很多应用中 是不足够的。还有已知的方法是通过选择是2的幂次、或者少量的2的幂 次的和的系数来筒化乘法器。在这种情况中的筒化也是不足够的,因为这 种类型的滤波器通常要求第二滤波器以改善频率响应。在计算中减少乘法 器的数量的大多数方法的执行效果差,并且灵活性受到限制。
存在着对于低成本FIR滤波器的需要,该FIR滤波器对于在例如超声 系统的前端中对输入信号进行滤波的应用具有改善的性能和灵活性,在这 些应用场合,成本和芯片资源是需要考虑的。

发明内容
尽管存在实现没有乘法器的FIR滤波器的多种方法和系统,但是这些 方法和系统不完全令人满意。发明人已经发现了一种方法和系统,该方法 和系统把有限脉冲响应滤波器实施为各个单独分量运行和滤波器的总和。 对期望的滤波器响应所需要的所有分量滤波器的所述总和是在累加器中 被计算,并且对于每一个分量滤波器只计算那些作为在新和旧的抛弃的采 样之间的差值的分量滤波器的更新项。本发明节约了大量的芯片资源和制 造成本。
期望的脉冲响应被分解成等高的多个矩形脉冲响应的和,其每个作为 要求减法和加法的运行和来实现。使用以多个采样时钟运行的电路,在相 同的硬件上可以实现多个运行和。可以使用存储器和两个算术单元来实现 任意的脉冲响应的形状和长度的整个滤波器。两个或者更多这样的滤波器 被级联以获得期望的频率特性的更好的近似性。
本发明的一个方面提供了一种用于使用期望的脉冲响应来滤波信号 的方法。才艮据本发明的该方面的方法优选地开始于将期望的脉冲响应分解 成多个单独的矩形分量脉冲响应,输入信号到该多个矩形分量脉冲响应中 的每一个,使用输入信号来巻积该多个矩形分量脉冲响应的每一个,和对 该多个巻积求和,其中该和是对输入信号的期望的脉冲响应的响应。
该方法的另 一个方面是其中巻积包括使用运行和。
该方法的另一个方面是其中分解包括计算对期望的脉冲响应的频率响应;规定分量矩形脉冲响应的数量;分解该期望的脉冲响应为候选响应, 该候选响应包括所述数量的分量矩形脉沖响应,使得每一个分量矩形脉沖 响应具有正或负幅度,并且当一起求和时近似于该期望的脉冲响应;迭代 地精炼候选脉冲响应,包括a)计算对于候选响应的频率响应,和b)比 较候选频率响应和期望的频率响应,其中如果候选频率响应在预定范围 内,则使用候选响应;如果候选频率响应不在预定范围内,则调整多个候 选响应分量矩形脉冲响应长度中的一个或者多个,重复步骤a)和b)。
本发明的另 一个方面是数字滤波器。根据本发明的这个方面的数字滤 波器包括用于输入信号采样的滤波器输入端;用于输出已滤波的采样信 号的滤波器输出端;耦合到该滤波器输入端的第一延时器,用于延迟对应 于在矩形脉冲响应之前的多个采样的多个采样;耦合到第一延时器输出端 的第二延时器,用于延迟对应于表示该矩形脉冲响应的多个采样的多个采 样;耦合到第一延时器输出端和第二延时器输出端的减法器,用于获得在 输入信号采样和时间移位了对应于矩形脉沖响应的量的信号采样之间的 差值;和耦合到减法器输出端的累加器输入端,用于保持该差值采样的运 行和作为滤波器的输出。
本发明的另一个方面是数字滤波器,其包括用于输入信号采样的滤 波器输入端;用于输出已滤波的采样信号的滤波器输出端;耦合到滤波器 输入端的緩冲器,该緩冲器用作为队列;具有耦合到緩冲器的第一数据输 出端的输入端的寄存器;具有耦合到寄存器的输出端的负输入端和耦合到 緩沖器的第二数据输出端的正输入端的减法器,用于获得在从緩沖器输出 的多个时间移位的信号采样和第二多个时间移位的信号采样之间的差值, 其中从緩冲器输出的第一和第二多个时间移位的采样的每一对采样表示 矩形脉冲响应,使得按时用多个矩形脉冲响应中的每一个对输入数据采样 进行巻积;耦合到减法器输出端的累加器输入端,用于保持该多个差值的 运行和,和耦合到滤波器输出端的输出端;和耦合到緩冲器和累加器的控 制器,该控制器被配置成对于下一个输入信号采样将被写入的地址和先前 写入的信号采样将被读出的地址通过緩冲器进行循环,和控制是将差值加 到运行和中还是从运行和减去差值。
下面将结合附图和描述阐述本发明的一个或者多个实施例的详节。从 描述和附图以及从权利要求书中将了解本发明的其它特征、目的和优势。


图l示出了滤波器脉冲响应的实例性曲线图。
图2A、2B和2C示出了在图1中示出的滤波器脉沖响应分解成分量脉 冲响应^、 h2、 h3和h4的实例。
图3是实例性脉沖响应分解方法的框图。
图4是实现为分量矩形滤波器的和的滤波器的实例性系统的框图。
图5是矩形脉冲响应运行和滤波器的实例性系统框图。
图6是使用时分多路复用的多个矩形脉冲响应滤波器的FIR滤波器的
实例性系统的框图。
图7是包括缩放乘法器(scaling multiplier)的图6中所示的滤波器
的实例性可替换实施例。
图8是包括缩放多路复用器(scaling multiplexer)的图6中所示的
滤波器的实例性可替换实施例。
具体实施例方式
将结合附图描述本发明的实施例,其中相同的附图标号表示相同的元 件。进一步,可以理解,这里使用的措词和术语的目的在于描述而不是限 制。这里使用的"包括"、"包含"、或"具有,,和其变化词表示涵盖随后 列出的各项及其等效物以及附加项。单词"安装"、"连接"和"耦合,,被 广义使用并且涵盖了直接和间接安装、连接和耦合。进一步,"连接,,和 "耦合"不限于物理或化学连接或耦合。
还可以理解,正如本领域的公共惯例那样,如它们是硬件的那样阐明 和描述一些元件和项。然而,本领域的技术人员基于该详细描迷的阅读, 将会理解在至少一个实施例中可以以软件或者硬件实现方法和系统中的 组成。
本发明的实施例提供了用于实施不需要乘法器的FIR滤波器结构的 方法和系统。
通过背景技术,如果s[n]是在离散时间采样的输入信号,具有从0 到N-l的N个采样,和h[n]是具有0到M-l个采样的M采样信号,其限 定了 FIR滤波器系数(脉冲响应),两个o[n]的巻积是一个从O到N+M-2 的N+M-1采样信号,由下式给出
<formula>formula see original document page 11</formula>它限定了巻积和。
图1示出了实例性期望的滤波器脉冲响应,或者滤波器核,相对于它 的中心是对称的,并且包括正的中心波瓣和更小幅度的旁瓣。仅一对负的
旁瓣被示出。脉沖响应可以通过正和负矩形分量的和^皮近似,如图2A所 示,由下式给出
《2>
其中i-l、 2、 3……I。矩形分量I的数量等于4 (hi、 h2、 h3和h4), 但是可以是等于或大于1的任何值。期望的滤波器脉冲响应不必是对称 的。
每一个矩形分量核hi、 h2、 h3和h4被离散数量的士非零系数(或者采
样)限定。零值被加到矩形响应的任一侧以等于具有用于合适的时间对准 的更大数量的非零系数的分量核的持续时间。例如,图2B示出矩形滤波 器分量^包括22个非零的负(-l)系数。对于合适的时间对准,图2C 示出的矩形滤波分量h包括10个正(+1)系数和必须具有在该10个正 系数之前的6个零系数。相应的,图2A示出的矩形滤波器分量h3包括8 个正系数和必须具有在其非零幅度之前放置的7个零系数。矩形滤波器系 数h4包括6个正系数和具有在其非零幅度之前放置的8个零系数。
分量滤波器h,、 h2、 h3和h4具有士l之一的幅度并且不需要乘法器。 其它分量滤波器幅度可以被使用,产生更好的近似和精确度。然而,增加 了操作复杂性。精确幅度将需要乘法器和系数存储器以对每个分量滤波器 的幅度进行比例缩放。使用缩放多路复用器执行粗略的比例缩放,该缩放 多路复用器使用2的幂(2X,其中x-O, 1, 2……)。本发明的这个方面将 在下面讨论。
为了组合并且形成来自分量脉冲响应的单一脉冲响应,每一个分量脉 冲响应具有相同持续时间(系数的数量)和相同的均一幅度,但是具有用 于它们的非零系数的不同符号。非零系数的数量和位置可以随着分量而变 化,如上所述。
把希望的滤波器脉冲响应或核分解成为多个分量矩形滤波器是在实 现的费用、操作效率和希望的滤波器频率响应准确度之间的优选。在脉冲 响应近似中使用的(2)中矩形滤波器分量i的数量越多,实现的费用越高。相反,使用的矩形分量越少,脉冲响应的近似性和由此相关联的频率 响应越差。
本发明执行脉冲分解方法,开始于图3所示的期望的滤波器频率响 应。通过脉冲响应来确定滤波器频率响应,其中量化的脉冲响应和滤波器 系数是相同的。设计包括确定来自期望的频率响应的脉冲响应,然后量化 该脉冲响应以产生滤波器系数。
使用者或者设计者规定了停止、通带和阻带衰减(db)(步骤305 ), 硬件限制了例如脉冲响应的最大数量(步骤310)和期望的滤波器的最大 核心长度(系数的数量)(步骤315 )。已知期望的频率响应和滤波器系数 的数量,可以使用专门设计成计算滤波器脉冲响应的软件来设计原型的脉 冲响应(步骤320 )。使用执行复杂优化处理的软件来得出脉冲响应。可 以使用来自MathWorks的一个广泛使用的程序,MATLAB。得到经计算的脉 冲响应之后,可以图形分解该脉冲响应为分量矩形脉冲响应,如图2所示 (步骤325 ),得到第一候选分解。
分解不是唯一性的,第一候选者(步骤325 )可能没有产生令人满意 的结果。在分解之后,可以使用迭代处理,在其中计算对应于候选脉沖响 应分解的频率响应(步骤330 )和将其与初始频率响应规范进行比较(步 骤335 )。
如果频率比较的结果不令人满意(步骤340 ),可以对分量结构执行 迭代。通过将矩形分量脉冲响应的宽度作小量的改变来修改分解(步骤 350 )以便产生新的候选者,计算它的频率响应(步骤330 )并且将经计 算的频率响应与初始频率响应规范进行比较(步骤335 )。如果比较结果 是可接受的(步骤340 ),则使用该候选频率(步骤355 )。
对于多个滤波器频率响应规范,当得出的最大脉冲响应长度和分量脉 冲响应的数量都小时,在相关的少量迭代之后处理收敛(步骤345, 360 )。 进一步的迭代可能不会导致更好的结果,并且可能从最好的响应发散。
如果最后的结果仍然不令人满意(步骤340, 345 ),使用相同或不同 的矩形分量的两个或者多个运行和FIR滤波器可以被级联在一起,
"& & 4)=《.
(3)
被级联的滤波器中的每一个都可以按如上所迷那样^f皮设计,并且通过 具有差异的类似迭代处理被进一步调谐,该差异在于在每次迭代之后立刻
13计算级联的FIR滤波器的频率响应(步骤330 )并且将其与初始规范相比 较。该优化方法通常产生两个级联的滤波器,每一个都有在其频率特性的 阻带中的最小和最大的不同位置,使得一个滤波器的阻带最小值补偿另一 个滤波器的阻带最大值。该补偿方面允许级联的滤波器展现均匀的良好阻 带衰减。
可以认为矩形分量表示各个分量滤波器的脉冲响应。分量滤波器和它
们的矩形脉冲响应将用符号h,, h2等表示。
由于巻积的线性,滤波器对信号的响应等于该多个分量滤波器对相同
信号的各响应的和,
,.=1
其中i=l, 2, 3,……I。图4示出了对各个分量滤波器th、 h2、 h3 和h4 (其中1=4 )的响应求和403的系统401,用相同信号s [n]对其巻积。 系统401的输入端405上的输入信号s [n]将被每一个分量滤波器th、 h2、 h3和h4处理,并且然后被求和403。
在其非零部分中具有1或-1值的分量滤波器响应hi可以被实现为脉 冲响应的非零部分范围内的信号采样的带符号的和,由此避免使用乘法 器。
图5是为一个预定矩形分量响应配置的递归运行和滤波器的实例性 体系结构。该滤波器501包括信号采样s[n]的输入端503;诸如FIFP (先进先出)的第一延迟线505;第一延迟线507;第一减法器509;包 括笫二加法器/减法器513和存储寄存器515的累加器511;和滤波器采 样o[n]的输出517。滤波器501是同步的流水线体系结构。使用相同的时 钟(未示出)来读取和写数据采样。为了实现,图4将需要4个滤波器, 如图5所示,每一个滤波器,皮预配置成具有矩形分量响应hb h2、 &和h4。
使用第一延迟线505和第二延迟线507来限定矩形响应。第一延迟线 505针对一个响应中的前导零系数山的数量而被预先配置。第二延迟线 507针对一个响应中的非零系数Di的数量而被预先配置。
第一延迟线505提供从对第一非零系数响应的脉冲开始的延迟山。例 如,如果图5所示的体系结构被用于实现图4,则每一个延迟505将计及 对于1h、 h2、 &和h4的前导零系数的数量。对于响应h"山等于0 (R等 于22)。对于响应h2, (12等于6 (02等于10)。对于响应h3, &等于7(03等于8)。对于h4,山等于8 ("等于6)。 di的上述值时间对准根据图2
所示的分解和下面的分量滤波器关系的每一个滤波器h,、 h2、 h3和h4的响
应(为了简化注释,分量下标i已经被省略)。
<formula>formula see original document page 15</formula> (5)
<formula>formula see original document page 15</formula>
在操作之前,累加器511的寄存器515和第一延迟线505和第二延迟 线507被用0, s初始化。第一延迟线505提供了 d个采样的延迟。在d 个输入采样期间,第一延迟线505的输出是0。在输入采样s [d-l],第一 延迟线505的输出是s[O],等等,s[d-l+l]是s[l], s[d-l+2]是 s[2],……,直到输入信号的结束。
当d延迟505结束和第一输入采样s [O]进入第二延迟线507和减法 器509时开始递归操作。减法器509从输入采样中减去第二延迟线507 的输出(它在此时刻点是0 )。在加法器/减法器513中将第一值s
与0 相加,并且将其保持在寄存器515中。下一个序列的采样s[l到D-l]被 加在一起并且保存513。
利用加法器/减法器513,如果矩形响应为正,减法器507的输出被 加到累加器的寄存器515;如果矩形响应为负,从累加器的寄存器515中 减去减法器507的输出,使得输出信号517变成s[O]或者-s[O]。通过 控制信号(未示出)来控制加法器/减法器513以便根据分量脉冲响应的 符号(± )来执行加法或减法。
在输入了 d+D个采样之后,累加器的寄存器515的输出517是采样 (11=0至0-1)的和。当采样d+D在输入端503处变为有效时,延迟的采 样s[O]在第二延迟线507的输出端处是有效的。减法器509计算差值 s[D]-s[O],加法器/减法器513将该差值加到累加器515的内容。输出 517变成用长度D的矩形脉冲响应巻积的输入采样的运行和。该操作接着 在每一个时钟周期更新输出517以表示最后D的输入采样的和。
在大多数的滤波应用中,输入信号采样频率fs通常小于在滤波器中 使用的时钟频率。例如在超声成像应用中,典型的输入信号采样频率fs 是40MHz,而每一个采样被量化为12位。滤波器本身可以在多倍的采样 频率fs下工作,例如在160MHz (4fs)。更高的时钟率允许滤波器电# 行在多个输入信号采样之间的多重操作,允许多个分量矩形滤波器被相同 的电路进行计算并且求和。多个分量滤波器可以以时分多路复用的方式在相同电路上被实现,由此降低了滤波器的总规模和费用。
图6示出了本发明的FIR滤波器601的实施例。该滤波器601包括信 号采样s[n]的输入端603、多端口存储器605、第一存储寄存器607、第 一减法器609、包括第二加法器/减法器613和第二存储寄存器615的累 加器611、和滤波器采样的输出o[n]617。控制器619控制滤波器的操作。
电路通过时钟(未示出)ff进行同步定时的操作,其与输入采样时钟 fs进行相位对准。取决于使用的分量脉冲响应的数量,时钟具有的频率是
采样频率Ifs的整数倍。
输入数据s [n]的采样耦合到存储器605的输入端Din。存储器605包 括第一地址输入端Al和第二地址输入端A2、第一数据输出总线Dl和第 二数据输出总线D2、和写使能WE。第一地址输入端Al选择存储位置,通 过输出总线Dl从该存储位置读取数据和当写使能信号WE有效时在数据输 入端Din处存在的输入采样被写入到该存储位置。第二地址输入端A2选择 存储位置,通过输出总线D2从该存储位置中读取数据。
本发明使用的多端口存储器605的优选类型在FPGA (现场可编程门 阵列)集成电路中可以得到。可以使用其它的存储器配置。存储器605 -f皮配置成循环緩冲器,其长度等于具有最长持续时间的分量响应的长度。 如果滤波器脉沖响应具有M个系数(其中M- d+D+后补零),第一输入采 样s [O]被写入到存储器605的地址0,第二输入采样s [l]被写入到地 址1 ,第M个采样s [M]被写入到地址M-l 。
之后,写地址被复位至0 (由此术语"循环緩冲器"),使得第(M+l) 个输入采样重写该(M+l)采样旧数据。因此,在第一M之后的每一个采 样时钟周期,输入数据的M个采样在存储器605中有效。
在滤波器操作中,可以将输入采样s[n]写入到任一个地址c, 0《c <M-1。当D《M时,延迟的采样s[n-D]从地址a-c-D (6)中被读取,其 中a是要被读取的地址,c是要被写入的地址。如果这导致一个不存在地 址的情况,即a〈0,则根据循环緩冲器寻址的规则,延迟的采样的地址变 为a=c-D+M, ( 7 )。
当通过第 一地址Al寻址位置以用于写入目的,也通过第 一输出总线 D l读取其内容。用于把新采样写到通过A1选择的存储位置的同一时钟 沿还用于将从该存储位置读取的旧值保存到第一寄存器607,从而使该值 有效以便通过减法器609和加法器/减法器613从累加器的寄存器中减去该值。
控制器619耦合到多端口存储器605和累加器611的第二加法器/减 法器613。滤波器控制器619提供第一数据访问地址Al和第二数据访问 地址A2、写使能信号WE、用于累加器611的符号控制、和用于初始化的 选通信号(未示出)。在一个优选实施例中,通过查找表(LUT) 621实现 该控制器619,其中在操作之前预先确定用于第一地址Al和第二地址A2 的一序列的值、写使能WE和累加器613的符号控制。在另一个实施例中, 可以自寻址LUT621,也就是在相同的LUT621中也可以编程LUT的地址的 序列。在操作的开始,清除LUT地址寄存器,之后从LUT621自身中读取 连续的地址。该操作简化了控制器逻辑。LUT可以是只读存储器(ROM) 或者随机存取存储器(RAM )。
LUT的输出可以被寄存以提高电路速度,在这种情况中,在LUT中的 电路时序和数据序列必须被适当地调整。同样的,可以将流水线寄存器(未 示出)插入到第一加法器609的输出端和累加器611的输入端之间。流水 线寄存器在第一加法器609和累加器611之间加入额外的时钟延迟,这要 求适合地调整控制信号的时序。本领域的技术人员都知道这些或者其它电 路的变形。
滤波器601执行如图5所示和在图4中使用的多个分量滤波器的功 能。可以被实现的分量滤波器th、 h2、 h3……tu的数量等于在滤波器601
的时钟率ff和输入采样的频率fs的比值,如f产I" (8)所示。
对于滤波器601,使用的每一个分量滤波器的输出都不是单独地计算 和求和的。相反,该分量滤波器的输出的和在累加器的寄存器515中被计算。
对于使用两个(1=2)分量滤波器比和h2的例子,
。["M]=Z刷,(9)
=S刷-刷+4" + M〗-1 + (10)
其中a、 b和n是采样数量的指示。下面将解释对于下面情况即当 希望的滤波器脉冲响应被分解成两个分量矩形脉冲响应h,和h2的和,以 及滤波器电路时钟频率按公式(8)而加倍时的滤波器601。对于需要两 个以上的分量脉冲响应的应用的操作是类似的。为了从两个分量响应tu和h2中产生一个滤波器响应,该滤波器时钟 频率ff是输入采样频率的两倍,f产2fs。在每个采样时钟周期中定义两个 滤波器时钟周期,子周期0和子周期1。
因为每一个分量滤波器具有M个系数,滤波器601的总脉沖响应具有 M个系数。分量滤波器之一h!或h2具有限定其核长度的M个非零系数。其 它分量滤波器核可以具有相同的或者小于M个非零系数的数量D。具有D 个非零系数的分量滤波器可以具有在限定矩形响应的非零部分之前加入 的d个零并且可以具有后补零以使得分量脉冲响应的总长度是M。在非零 系数之前的延迟d可以大于或等于0。
在滤波器601的操作之前,累加器611的寄存器615和存储器605 都被初始化为0。也可以初始化控制器619,使其在第一地址输出端Al 上产生地址0。
操作开始于输入采样时钟周期0,此时采样s[O]到达滤波器输入端 603。在采样周期0的子周期0中,通过数据总线Dl从存储器505的地址 0读取分量滤波器h的旧采样(在第一 M个周期循环中,由于初始化使得 旧值为0)。控制器619使存储器写使能信号WE有效。子周期l的时钟前 沿将来自数据总线Dl的值保存到寄存器607中和把采样s
写到存储 器605的地址0。在子周期1中,控制器619使存储器写使能WE无效并 且引起地址A2取值0,这使得将采样s [O]从存储器605的地址0读出到 数据总线D2,和通过减法器609和加法器/减法器613被转送到累加器的 寄存器615的输入端。全部操作需要多个子周期,但是因为该操作是流水 线式的,对于每个时钟周期执行新操作。
控制器619使符号控制信号有效,使得加法器/减法器613根据第一 分量滤波器&的非零系数的符号来执行加法或减法。同时,控制器619 使地址Al有效,该地址Al比地址0领先d+D,根据上面描述的循环緩冲 器寻址方式,这使得第一地址Al等于M-d-D并且表示第二分量滤波器h2 的旧采样的地址。通过数据总线Dl读取地址Al的内容。
在采样时钟"的周期1的期间,采样s [l]在输入端603处变为有效。 在子周期0,累加器的寄存器615的内容被更新并且变为s[O],以及分量 滤波器h2的旧采样被保存在寄存器607中。控制器619使存储器写使能 WE有效,使地址A1-1 (新采样被写入到的、并且从中读取分量滤波器1 的旧采样的位置),地址A2等于M-d (其是从中读取分量滤波器&的新采样的位置)和确立对应于分量滤波器th的符号的符号控制信号。减法器
609从分量滤波器2的新采样中减去旧采样,加法器/减法器613根据如 符号控制信号所确定的分量滤波器h2的符号,将该差值加到累加器的寄 存器615的内容或者从累加器的寄存器615的内容中减去该差值。子周期 1的前沿使得第一有效输出采样o
、第一和第二分量滤波器的输出的和 被保存在累加器的寄存器615中并且在输出端617变为有效。
该操作以这样的方式前进,直到所有的输入采样s[n]都已经被处理 完。在每个采样周期期间,控制器619产生比在前一采样周期中产生的相 应地址大1的地址Al和A2,只是地址根据循环緩沖器寻址的规则具有有 限范围的值。即,如果在采样周期期间,地址到达值M-1,则在随后的采 样周期中对应的地址不是取值M而是绕回到值0。
在图7和8中示出了本发明的可选实施例。为了改善分量滤波器的精 确度,图7添加了缩放乘法器703,连同在减法器609和累加器611之间 的系数存储器705。在累加之前,缩放乘法器703使用来自存储器705的 相应系数乘以从减法器609输出的单个分量滤波器值hi,正如被流水线中 的控制器619所控制的那样。每个分量滤波器hi的系数或者因子可以是 任何的比例缩放值(scaling value),并且被赋给相应的分量滤波器,例 如h!和h"由此,可以获得具有不同于士l的幅度的分量滤波器,产生 希望的脉冲响应的更好的近似性。
图8示出的实施例在减法器609和累加器611之间加入了缩放多路复 用器803。在进行累加之前缩放多路复用器803以2的幂(2X,其中x=0、 1、 2......)来比例缩放从减法器609输出的单个分量滤波器值hi,如在流
水线操作期间由控制器619控制的那样。对于每一个分量滤波器hi的2n 的幂是预先定义的赋给相应分量滤波器(th和hj的比例缩放值。取决于 分量滤波器的该预定义比例缩放值,多路复用器803将减法器609输出的 二进制值朝向最高有效位(MSB)或者最低有效位(LSB)移位了预定数量 的位,如果需要的话,增加O。朝向MSB移动二进制数的一位(幂)就是 有效地将该值乘以2,逆向的移位则是有效地将该值除以2。多路复用器 803的使用可以提高脉冲响应的近似性,但并不是针对使用乘法器703所 提供的分辨率。
使用滤波器响应分解方法和实现对于多维和的递归计算,本发明还可 以应用到2维或者更高维的滤波器。2维或多维的滤波通常在图像处理期间被使用并且与1维滤波相类似。对于多维滤波器的滤波器响应分解不是 矩形,而是平行六面体或者平行六面体的分量。本发明的教导可以扩展到 包括多维滤波器响应。
已经描述了本发明的一个或者多个实施例。然而,可以理解,在不脱 离本发明的精神和范围进行多种变化。相应地,其它实施例都在附属的权 利要求书的范围内。
权利要求
1、一种使用期望的脉冲响应来滤波信号的方法,包括将期望的脉冲响应分解成多个单独的矩形分量脉冲响应;将该信号输入到该多个矩形分量脉冲响应的每一个;使用该输入信号对该多个矩形分量脉冲响应的每一个进行卷积;和对该多个卷积求和,其中该和是对该输入信号的期望的脉冲响应的响应。
2、 根据权利要求l的方法,其中巻积还包括使用运行和。
3、 根据权利要求2的方法,其中分解还包括计算对于期望的脉冲响应的频率响应; 规定分量矩形脉冲响应的数量;将期望的脉冲响应分解成候选响应,该候选响应包括所述数量的分量 矩形脉冲响应,使得每一个分量矩形脉沖响应具有正或负幅度并且当 一起 求和时近似于该期望的脉冲响应;迭代地精炼该候选脉冲响应,包括a) 计算对于候选响应的频率响应;和b) 对该候选频率响应与期望的频率响应进行比较,其中如果该候选 频率响应在预定范围内时,4吏用该4矣选响应,如果该候选频率响应不在预 定范围内时,调整多个候选响应分量矩形脉沖响应长度的一个或者多个, 重复步骤a)和b)。
4、 一种将期望的脉冲响应分解成分量矩形脉冲响应的方法,包括 计算对于该期望的脉冲响应的频率响应; 规定分量矩形脉沖响应的数量;和将该期望的脉冲响应分解成候选响应,其中候选响应包括所述数量的 分量矩形脉沖响应,使得每一个分量矩形脉冲响应具有正或负幅度并且当 一起求和时近似于该期望的脉冲响应。
5、 根据权利要求4的方法,还包括精炼候选脉冲响应,其中该精炼 包括计算对于该候选响应的频率响应;和将该候选频率响应与期望的频率响应进行比较,其中如果该候选频率响应不在预定范围内时,调整该候选响应分量矩形脉冲响应长度的一个或 者多个作为随后的候选响应,以及如果该候选频率响应在预定范围内时, l吏用该^f夷选响应。
6、 根据权利要求5的方法,还包括 计算对于随后的候选响应的频率响应;将该随后的频率响应与期望的频率响应进行比较,其中如杲该随后的 候选频率响应不在预定范围内时,调整该随后的候选响应分量矩形脉冲响 应长度的一个或者多个作为另 一个随后的候选响应。
7、 根据权利要求6的方法,其中精炼候选响应还包括观察候选频率 响应是收敛还是发散。
8、 根据权利要求7的方法,其中如果候选频率响应是收敛的,该精 炼继续。
9、 根据权利要求8的方法,其中如果候选频率响应是发散的,使用 居先的随后的候选响应。
10、 根据权利要求9的方法,其中期望的脉沖响应具有预定长度。
11、 根据权利要求10的方法,其中每一个分量矩形脉冲响应具有绝 对幅度值l。
12、 一种数字滤波器,包括用于输入信号采样的滤波器输入端;用于输出经滤波的采样信号的滤波器输出端;耦合到该滤波器输入端的第 一延时器,用于延i^f应于在矩形脉沖响 应之前的多个采样的多个采样;耦合到该第一延时器的输出端的第二延时器,用于延迟对应于表示该 矩形脉冲响应的多个采样的多个采样;耦合到第一延时器的输出端和第二延时器的输出端的减法器,用于获 得在输入信号采样和被时间移位了对应于矩形脉冲响应的量的信号采样 之间的差值;和耦合到减法器的输出端的累加器输入端,用于保持该差值采样的运行 和作为该滤波器的输出。
13、 根据权利要求12的滤波器,其中累加器还包括 具有作为累加器输入端的第一输入端的加法器/减法器;和 具有耦合到加法器/减法器的输出端的输入端和耦合到加法器/减法器的第二输入端和滤波器输出端的输出端的寄存器,其中该寄存器保存运 行和。
14、 根据权利要求13的滤波器,还包括使用矩形脉冲响应来巻积输 入信号采样。
15、 根据权利要求14的滤波器,其中所述滤波器时钟率与输入信号 采样率相同。
16、 根据权利要求15的滤波器,其中被第一延时器延迟了的采样的 数量是0。
17、 一种数字滤波器,包括用于输入信号采样的滤波器输入端;用于输出经滤波的采样信号的滤波器输出端;多个分量数字滤波器,每一个分量数字滤波器具有一个矩形脉冲响 应、耦合到滤波器的输入端的分量数字滤波器的输入端、和分量数字滤波 器的输出端;耦合到多个分量数字滤波器的输出端的加法器,其中多个分量数字滤 波器脉冲响应都彼此时间对准,以使得用它们的脉冲响应对该输入信号进 行巻积,这些脉冲响应在加法器中相加在一起并且作为滤波器输出而输 出。
18、 根据权利要求17的滤波器,其中每一个数字分量滤波器还包括 耦合到分量数字滤波器输入端的第 一延时器,用于延迟对应于在矩形脉冲响应之前的多个采样的多个采样;耦合到该第一延时器的输出端的第二延时器,用于延迟对应于该矩形 脉冲响应的多个采样;耦合到第一延时器的输出端和第二延时器的输出端的减法器,用于获 得在输入信号采样和被时间移位了对应于矩形脉沖响应的量的信号采样 之间的差值;和耦合到减法器的输出端的累加器输入端,用于保持该差值采样的运行 和作为滤波器的输出。
19、 根据权利要求18的滤波器,其中累加器还包括具有作为累加器输入端的第一输入端的加法器/减法器;和 具有耦合到加法器/减法器的输出端的输入端和耦合到加法器/减法 器的第二输入端和滤波器输出端的输出端的寄存器,其中该寄存器保存运行和。
20、 根据权利要求19的滤波器,还包括用矩形脉冲响应巻积该输入 信号采样。
21、 根据权利要求20的滤波器,其中该滤波器时钟率与输入信号采 样率是相同的。
22、 一种数字滤波器,包括用于输入信号采样的滤波器输入端; 用于输出经滤波的所采样的信号的滤波器输出端; 耦合到滤波器输入端的緩沖器,该緩冲器用作为队列; 具有耦合到緩沖器的第 一数据输出端的输入端的寄存器; 具有耦合到寄存器的输出端的负输入端和耦合到緩冲器的第二数据 输出端的正输入端的减法器,用于获得在从緩冲器输出的多个时间移位的 信号采样和第二多个时间移位的信号采样之间的差值,其中从緩冲器输出 的第一和第二多个时间移位的采样的每一对采样表示矩形脉冲响应,4吏得 按时用多个矩形脉冲响应中的每一个对输入数据采样进行巻积;耦合到减法器的输出端的累加器输入端,用于保持该多个差值的运行 和,和耦合到滤波器输出端的输出端;和耦合到緩冲器和累加器的控制器,该控制器被配置成对于下一个输入 信号采样将被写入的地址和先前写入的信号采样将被读出的地址通过緩 冲器进行循环,和控制是将差值加到运行和中还是从运行和减去差值。
23、 根据权利要求22的滤波器,其中累加器还包括具有作为累加器输入端的第一输入端的加法器/减法器;和 具有耦合到加法器/减法器的输出端的输入端和耦合到加法器/减法器的第二输入端和滤波器输出端的输出端的寄存器。
24、 根据权利要求23的滤波器,其中通过将滤波器使用的矩形脉冲 响应的数量乘以滤波器输入信号采样率来确定滤波器时钟率。
25、 根据权利要求24的滤波器,其中滤波器输入信号采样和经滤波 的输出信号采样是同步的并且处于相同的时钟率。
26、 根据权利要求25的滤波器,其中緩冲器是循环緩冲器。
27、 一种数字滤波器,包括用于输入信号采样的滤波器输入端;用于输出经滤波的所采样的信号的滤波器输出端;耦合到滤波器输入端的緩冲器,该緩冲器用作为队列; 具有耦合到緩冲器的第 一数据输出端的输入端的寄存器; 具有耦合到寄存器的输出端的负输入端和耦合到緩冲器的第二数据 输出端的正输入端的减法器,用于获得在从緩冲器输出的多个时间移位的 信号采样和第二多个时间移位的信号采样之间的差值,其中从緩冲器输出 的第 一和第二多个时间移位的采样的每一对采样表示矩形脉沖响应,使得 按时用多个矩形脉冲响应中的每一个对输入数据采样进行巻积;乘法器,其具有耦合到减法器的输出端的输入端和耦合到系数存储器 的系数输入端,该乘法器被配置成将预定系数乘以由减法器输出的差值作 为比例缩放差值;耦合到乘法器的输出端的累加器输入端,用于保持多个差值的运行 和,和耦合到滤波器输出端的输出端;和耦合到緩冲器和累加器的控制器,该控制器被配置成对于下一个输入 信号采样将被写入的地址和先前写入的信号采样将被读出的地址通过緩 冲器进行循环,和控制是将差值加到运行和中还是从运行和减去差值并且 选择来自系数存储器的系数以用于在差值需要比例缩放时将该选择的系 数乘以差值。
28、 根据权利要求27的滤波器,其中累加器还包括 具有作为累加器输入端的第一输入端的加法器/减法器;和 具有耦合到加法器/减法器的输出端的输入端和耦合到加法器/减法器的第二输入端和滤波器输出端的输出端的寄存器。
29、 根据权利要求28的滤波器,其中通过将滤波器使用的矩形脉沖 响应的数量乘以滤波器输入信号采样率来确定滤波器时钟率。
30、 根据权利要求29的滤波器,其中滤波器输入信号采样和经滤波 的输出信号采样是同步的并且处于相同的时钟率。
31、 根据权利要求30的滤波器,其中緩冲器是循环緩冲器。
32、 一种数字滤波器,包括用于输入信号采样的滤波器输入端; 用于输出经滤波的所采样的信号的滤波器输出端; 耦合到滤波器输入端的緩冲器,该緩冲器用作为队列; 具有耦合到緩冲器的第 一数据输出端的输入端的寄存器; 具有耦合到寄存器的输出端的负输入端和耦合到緩冲器的第二数据输出端的正输入端的减法器,用于获得在从緩冲器输出的多个时间移位的 信号采样和第二多个时间移位的信号采样之间的差值,其中从緩冲器输出 的第 一和第二多个时间移位的采样的每一对采样表示矩形脉冲响应,使得按时用多个矩形脉冲响应中的每一个对输入数据采样进行巻积;多路复用器,其具有耦合到减法器的输出端的输入端,该乘法器被配置成将减法器输出的差值移位预定的2的幂以作为比例缩放差值;耦合到多路复用器的输出端的累加器输入端,用于保持多个差值的运行和,和耦合到滤波器输出端的输出端;和耦合到緩冲器和累加器的控制器,该控制器被配置成对于下一个输入信号采样将被写入的地址和先前写入的信号采样将被读出的地址通过緩冲器进行循环,和控制是将差值加到运行和中还是从运行和减去差值并且选择来自多路复用器的2的幂以用于在差值需要比例缩放时将该选择的2的幂乘以差值。
33、 根据权利要求32的滤波器,其中累加器还包括 具有作为累加器输入端的第一输入端的加法器/减法器;和 具有耦合到加法器/减法器的输出端的输入端和耦合到加法器/减法器的第二输入端和滤波器输出端的输出端的寄存器.
34、 根据权利要求33的滤波器,其中通过将滤波器使用的矩形脉冲 响应的数量乘以滤波器输入信号采样率来确定滤波器时钟率。
35、 根据权利要求34的滤波器,其中滤波器输入信号采样和经滤波 的输出信号釆样是同步的并且处于相同的时钟率。
36、 根据权利要求35的滤波器,其中緩冲器是循环緩冲器。
全文摘要
一种有限脉冲响应滤波器被实现为各个分量运行和滤波器的和。在累加器中计算对于期望的滤波器响应所需要的所有分量滤波器的和,并且对于每个分量滤波器仅仅计算更新项。将期望的脉冲响应分解成多个相等高度的矩形脉冲响应的和,每个脉冲响应被实现为要求减法和加法的运行和。使用以多个采样时钟运行的电路,可以在相同硬件上实现多个运行和。可以使用存储器和两个算术单元来实现任意脉冲响应形状和长度的整个滤波器。两个或者更多这样的滤波器可以被级联以得到期望的频率特征的更好的近似性。本发明节省了芯片资源和制造成本。
文档编号G01R23/167GK101617235SQ200780044500
公开日2009年12月30日 申请日期2007年12月4日 优先权日2006年12月4日
发明者R·亚历山德鲁 申请人:阿洛卡株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1