CN108140017B - 用于线性相位有限脉冲响应抽取滤波器的方法和装置 - Google Patents

用于线性相位有限脉冲响应抽取滤波器的方法和装置 Download PDF

Info

Publication number
CN108140017B
CN108140017B CN201680052544.XA CN201680052544A CN108140017B CN 108140017 B CN108140017 B CN 108140017B CN 201680052544 A CN201680052544 A CN 201680052544A CN 108140017 B CN108140017 B CN 108140017B
Authority
CN
China
Prior art keywords
input data
data sample
sample
another
read address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680052544.XA
Other languages
English (en)
Other versions
CN108140017A (zh
Inventor
达雷尔·尤金·廷克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tempo Semiconductor LLC
Original Assignee
Tempo Semiconductor LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tempo Semiconductor LLC filed Critical Tempo Semiconductor LLC
Publication of CN108140017A publication Critical patent/CN108140017A/zh
Application granted granted Critical
Publication of CN108140017B publication Critical patent/CN108140017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0642Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being arbitrary or irrational

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种用于线性相位有限脉冲响应抽取滤波器的设施。在一个实施方式中,该设施包括地址寄存器、计数器、加法器以及控制逻辑,其中,地址寄存器配置成存储地址,以选择性地访问存储于数据存储器中的数据值。对于地址序列中生成的每个地址而言,将计数值的四倍和计数值的四倍与2相加后的值中的一个与地址寄存器相加,或从地址寄存器减去,并且,计数值增加1。可以将计数值的四倍和计数值的四倍与2相加后的值中的一个交替地相加或减去。还可以使用已知方法对循环缓冲区寻址调整地址。在第二个实施方式中,该设施还包括多个地址寄存器,以便于其他形式的滤波功能等。

Description

用于线性相位有限脉冲响应抽取滤波器的方法和装置
相关申请的交叉引用
本申请涉及以下内容:
1、2015年7月10日提交的美国临时申请No.62/190,858(“临时母案申请”);
2、2015年12月7日提交的美国申请No.14/961,861“第一相关申请”;以及
3、2016年3月3日提交的美国申请No.15/060,475“第二相关申请”。
本申请要求临时母案申请家长的优先权,并因此依据37CFR§1.78(a)(4)要求申请日的权益。
临时母案申请以及第一和第二相关申请的主题通过引用而全部明确地结合到本文中。
技术领域
本发明涉及用于与模数转换电路等一起使用的线性相位有限脉冲响应(FiniteImpulse Response,“FIR”)抽取滤波器。
背景技术
一般而言,在以下的描述中,集成电路(integrated circuits,“IC”)和系统领域的技术人员应当熟悉的领域的每一个特定术语在第一次出现时将斜体化。并且,当第一次引入被认为是新的术语,或者在被认为是新的上下文中使用的术语时,将加粗该术语,并提供欲应用于该术语的定义。并且,在整个描述中,当提及使信号、信号标志、状态位或类似装置分别呈逻辑真或逻辑假的状态时,有时使用术语“声明”和“否定”,使用术语“切换”表明信号从一个逻辑状态到另一个逻辑状态的逻辑反转。或者,可以将互斥的布尔状态称为逻辑0和逻辑1。当然,众所周知,通过逆转所有这种信号的逻辑意义,能够获得一致的系统操作,使得这里被描述为逻辑真的信号变成逻辑假,反之亦然。此外,选择特定电压电平来表示每个逻辑状态的这种系统之间并不相关。
在下文中,当提及设施(facility)时,是指适合于执行具体功能的电路或相关联的一组电路,无论其实施方式的物理布局如何。因此,包括给定设施的电子元件可以以适于作为物理上邻近的模块而放置的硬宏(hard macro)的形式或者以软宏(soft macro)的形式被实例化,其中,该软宏的要素可以以满足高速路径要求的合适方式分布。通常,电子系统包括许多不同类型的设施,每个设施均适于根据每个系统的预期能力而执行特定功能。取决于预期的系统应用,包括硬件平台的若干设施可以集成到单个集成电路上,或分布于多个集成电路。取决于成本和其他已知的考虑,包括设施实例化集成电路的电子部件可以体现在一个或多个单芯片封装或多芯片封装中。然而,除非明确相反地指出,否则认为实践本发明的任何设施的实例化的形式仅是设计选择的问题。
图1中示出了典型的通用计算机系统(general purpose computer system)10。特别地,在最近开发的诸如智能电话等的电池供电的移动系统中,图1所示的桌面设备或便携设备的许多典型分立部件被集成到单个集成电路芯片中。
图2中,作为示例,示出了单芯片音频编码器/解码器(“CODEC”)12的一个实施方式,其包括多个数字模块和多个模拟模块。在这个实施方式中,编解码器12包括适于向系统10发送数据并从系统10接收数字数据的串行数据接口设施、适于确定两个异步数据流之间的定时和速率关系的数字锁相环(Digital Phase-Locked Loop,“DPLL”)设施、适于根据从系统10接收的配置控制信息而控制使用哪些设施以及如何控制使用这些设施的配置存储器和控制(Configuration Memory and Control)设施、适于根据存储的计算机程序而执行各种数据处理活动的数字信号处理器(Digital Signal Processor,“DSP”)设施以及适于根据需要存储从系统10流向音频输出设备的音频数据的数据存储器设施。在解释本发明及其实施方式的操作方法时,详细地描述其中某些设施的功能。
线性相位有限冲击响应(“FIR”)滤波器普遍用于音频编解码器和其他信号处理应用中,以执行插值或抽取操作,例如,用于过采样的模数转换器(Analog to DigitalConverter,“ADC”)或数模转换器(Digital to Analog Converter,“DAC”)中。这些滤波器具有系数对称的性质,这意味着如果有n个系数C(0)至C(n-1),则系数C(0)等于系数C(n-1),C(1)=C(n-2),C(2)=C(n-3)等。计算滤波器的输出样本,作为从0到(n-1)的(C(i)*X(i))的和,其中,X(i)表示使用单元延迟元件延迟了i个样本周期的数据流样本。该单元延迟元件可以由寄存器或存储器位置实现。
在插值因子为2的情况下,执行零插入,导致备选的数据样本为零。除了乘以零之外,已知的做法是将乘以零忽略,并且将数据样本乘以备选系数,首先使用偶数系数来生成偶数输出样本,然后使用奇数系数来生成奇数输出样本。在使所有单元延迟元件前移之后,对每个新输入样本重复该过程。这能够由以下的等式表示:
[等式1]Out(even)=(C(0)*X(0))+(C(2)*X(1))+(C(4)*X(2))+...
[等式2]Out(odd)=(C(1)*X(0))+(C(3)*X(1))+(C(5)*X(2))+...
如果有至少两个累加器寄存器可用,则每个数据样本只需要从数据存储器中读取一次,以生成每两个输出数据样本,并依次乘以偶数和奇数索引系数。
对称有限脉冲响应滤波器的一种已知优化是在乘法之前执行两个数据样本的相加,利用了系数的对称性,因此,几乎将乘法的数量减半。对于两倍插值滤波器而言,只有在滤波器中存在奇数数量的系数时才工作,因为对于偶数数量的系数而言,欲乘以每个系数的数据样本之一将是插入的零,因此,乘法的数量不会减少。下面是一个应用于具有6个独特系数和6个数据样本的11分接头插值滤波器的方法的示例,并且,仅需要6次乘法就可以生成两个输出样本:
[等式3]Out_Even=(C0*(X0+X5))+(C2*(X1+X4))+(C4*(X2+X3))
[等式4]Out_Odd=(C1*(X0+X4))+(C3*(X1+X3))+(C5*X2)
请注意,由于滤波器分接头的数量为奇数,因而中间系数C5仅乘以一个数据样本。如果有至少两个累加器可用,则一种高效的实现方式是在读取数据X2之后以C5乘法开始,接着在读取X3并将其X2相加之后,继续进行C4乘法,并接着以相反顺序进行系数乘法,同时按照X2、X3、X1、X4、X0、X5的顺序读取数据,以C0*(X0+X5)结束。对于具有比4的倍数小的数量的分接头的任何尺寸的有限脉冲响应滤波器,数据读取次序遵循一般模式:Xm、Xm+1、Xm-1、Xm+2、Xm-2、Xm+3等,其中,Xm表示中间数据值。如果分接头的数量大于4的倍数,则该模式将是:Xm、Xm-1、Xm+1、Xm-2、Xm+2、Xm-3等。该模式将一直持续到Xend被读取,其中,对于n分接头滤波器而言,“end”的值为((n-1)/2),n为奇数。除Xend之外,每个数据样本都用于两次计算,一个用于偶数输出,另一个用于奇数输出,因此,单端口数据存储器(Data Memory)可以提供足够的带宽以保持乘法器繁忙,即使除了一种情况外,在每次进行乘法时将两个样本相加。
到目前为止,已经描述了一种用于执行因子为2的插值的良好的现有技术方法。在抽取因子为2的情况下,对于每个生成的输出样本接收两个新的输入样本,因此,单元延迟元件在每组计算之间前移2。对于一个n分接头型线性相位抽取滤波器而言,n为奇数,将存在(n+1)/2个独特系数。
图3示出了11分接头型线性相位有限脉冲响应滤波器的信号流图。由带圈的标记D0至D10表示的十一个数据样本排列于由单元延迟元件(每个单元延迟元件在图3中由点划线表示)分隔的延迟线中,显示于作为z-1的z-变换域。D0代表最早的数据样本,D10代表最新的数据样本。选择此顺序,使得在存储于数据存储器中的输入数据样本的循环缓冲区(circular buffer)中,每个新样本将位于紧接于前一个样本的地址之上的地址处,以缓冲区大小为模。而且,与以上的插值滤波器讨论中的示例相比,为了方便,系数被重新命名,使得系数C0表示与中间数据样本D5相乘的系数,系数C5是与第一输入数据样本和最后输入数据样本的总和相乘的系数。系数C1至C5分别乘以两个数据样本的总和,并且,将所有乘积相加。
如果为了类似于图3所示的抽取滤波器,实现一种与以上讨论的高效插值滤波器的实现方式类似的方法,则数据存储器将需要为每次乘法提供需加在一起的两个数据值,并且,从读取次序仅生成一个输出样本。因此,使用现有技术的方法,数据存储器将需要以乘法器速度的两倍速度运行,或者,将需要一个双端口数据存储器或两个存储体。需要一种仅要求单端口数据存储器就高效地实现线性相位抽取有限脉冲响应滤波器的方法。
发明内容
根据本发明的第一实施方式,提供了一种用于过采样的数字信号处理系统中的方法,该数字信号处理系统用于执行输入数据样本流的N分接头型线性相位抽取有限脉冲响应滤波器,该输入数据样本流包括选定的至少N+2个样本的序列,N包括奇整数。根据本方法,在第一阶段的操作中,以选定的顺序执行以下的步骤:设定第一读取地址以选择具有至少N+2个地址的输入缓冲区的中间数据样本;设定第二读取地址以选择第二数据样本,其中,所述中间数据样本和所述第二数据样本乘以第一系数,以生成第一输出样本的第一乘积项;设定第三读取地址以选择第三数据样本,其中,所述第二数据样本和所述第三数据样本乘以第二系数,以生成第二输出样本的第一乘积项;以及在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个数据样本,其中,所述另一个数据样本和前一个数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。然后,在第二阶段的操作中,以选定的顺序执行以下的步骤:设定第一读取地址以选择所述输入缓冲区的中间数据样本;设定第四读取地址以选择第四数据样本,其中,所述中间数据样本和所述第四数据样本乘以所述第一系数,以生成所述第二输出样本的第二乘积项;设定第五读取地址以选择第五数据样本,其中,所述第四数据样本和所述第五数据样本乘以所述第二系数,以生成所述第一输出样本的第二乘积项;以及在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个数据样本,其中,所述另一个数据样本和前一个数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。在第三阶段的操作中,以选定的顺序执行以下的步骤:设定第六读取地址以选择与所述中间数据样本相邻的第六数据样本,其中,所述第六数据样本乘以第三系数,以生成所述第一输出样本的第三乘积项;设定第七读取地址以选择第七数据样本,其中,所述第六数据样本和所述第七数据样本乘以第四系数,以生成所述第二输出样本的第三乘积项;以及在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个数据样本,其中,所述另一个数据样本和前一个数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。最后,在第四阶段的操作中,以选定的顺序执行以下步骤:设定第八读取地址以沿着与所述第六数据样本相反的方向选择与所述中间数据样本相邻的第八数据样本,其中,所述第八数据样本乘以所述第三系数,以生成所述第二输出样本的第四乘积项;设定第九读取地址以选择第九数据样本,其中,所述第八数据样本和所述第九数据样本乘以所述第四系数,以生成所述第一输出样本的第四乘积项;以及在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个数据样本,其中,所述另一个数据样本和前一个数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。该方法尤其适于以流水线方式实现。
根据本发明的另一个实施方式,提供了一种用于过采样的数字信号处理系统中的方法,该数字信号处理系统用于执行输入数据样本流的N分接头型线性相位抽取有限脉冲响应滤波器,该输入数据样本流包括选定的至少N+2个样本的序列,N包括整数。根据本方法,首先设定第一读取地址以选择接近所述数据样本的序列的中间的第一输入数据样本。接着,设定第二读取地址以选择第二输入数据样本,其中,所述第一数据样本和所述第二数据样本乘以第一系数,以生成第一输出样本的第一乘积项。最后,设定第三读取地址以选择第三数据样本,其中,所述第二数据样本和所述第三数据样本乘以第二系数,以生成第二输出样本的第一乘积项。
根据本发明的又一个实施方式,提供了一种用于过采样的数字信号处理系统中的方法,该数字信号处理系统用于执行输入数据样本流的N分接头型线性相位抽取有限脉冲响应滤波器,该输入数据样本流包括选定的至少N+2个样本的序列,N包括奇整数。根据本方法,首先设定第一读取地址以选择与具有至少N+2个地址的输入缓冲区的中间数据样本相邻的第一数据样本,其中,所述第一数据样本乘以第一系数,以生成第一输出样本的第一乘积项。然后,设定第二读取地址以选择第二数据样本,其中,所述第一数据样本和所述第二数据样本乘以第二系数,以生成第二输出样本的第一乘积项。
根据本发明的再一个实施方式,一种N分接头型线性相位抽取有限脉冲响应滤波设施可以适于实践抽取有限脉冲响应滤波方法。
根据本发明的另一个实施方式,一种数字信号处理系统可以包括适于实践抽取有限脉冲响应滤波方法的N分接头型线性相位抽取有限脉冲响应滤波设施。
根据本发明的又一个实施方式,一种计算机可读介质可以包括可执行指令,其中,所述可执行指令在处理系统中被执行时,使所述处理系统执行抽取有限脉冲响应滤波方法的步骤。
附图说明
结合附图,通过对某些优选实施方式进行描述,从而可以更全面地理解本发明,在附图中:
图1以框图的形式示出了适于实践本发明的通用计算机系统;
图2以框图的形式示出了适于实践本发明的典型的集成系统;
图3以信号流图的形式示出了现有技术的线性相位有限脉冲响应抽取滤波器的一个实施方式;
图4以信号流图的形式示出了根据本发明的线性相位有限脉冲响应抽取滤波器的一个实施方式;
图5以框图的形式示出了根据本发明的适于支持线性相位有限脉冲响应抽取滤波器的地址排序设施的一个实施方式;
图6以框图的形式示出了根据本发明的适于执行线性相位有限脉冲响应抽取滤波器的算术单元的一个实施方式;以及
图7以框图的形式示出了根据本发明的适于支持线性相位有限脉冲响应抽取滤波器的地址排序设施的一个实施方式。
在附图中,只要可能,类似的要素将被类似地编号。然而,该做法仅为了方便引用和避免不必要的数字增加,并不旨在暗示或表明本发明在若干实施方式中的功能或结构中要求同一性。
具体实施方式
根据本发明,虽然与现有技术中的描述相同的用于实现线性相位插值有限脉冲响应滤波器的数据路径硬件(datapath hardware)可以用于高效地实现线性相位有限脉冲响应抽取滤波器,但是,提供了一种新的数据和系数寻址方法和装置。本申请的策略是使用两个累加器并行计算两个输出样本,并按照修改的顺序访问样本,使得大多数样本可以连续地用于两个输出计算,从而相对于相乘/累加周期而减少存储器读取的次数。
图4示出了11分接头型线性相位有限脉冲响应抽取滤波器的信号流图,从包含13个输入样本的共享数据延迟线计算两个输出样本。从较早的数据样本D0至D10计算偶数输出样本,从较新的数据样本D2至D12计算奇数输出样本。对于偶数输出样本,系数C0乘以D5,对于奇数输出样本,系数C0乘以D7。其他系数中的每一个系数乘以一对输入数据样本的总和,并将六个乘积相加以生成每个输出样本。然后,在计算下两个输出样本之前,延迟线接收另外四个输入样本。
以下是图4的11分接头型线性相位有限脉冲响应抽取滤波器的流水线操作表,示出了数据存储器读取的一种可能的排序,其实现了使用大多数数据样本进行两次乘法的目标,允许用最少数量的数据存储器读取以及最小数量的乘法器非工作周期来计算两个输出样本:
读取 加/减 相乘/累加 变换 写入
D<sub>6</sub>
D<sub>4</sub> 保存D<sub>6</sub>
D<sub>10</sub> D<sub>6</sub>+D<sub>4</sub> (闲置)
D<sub>0</sub> D<sub>10</sub>+D<sub>4</sub> A<sub>0</sub>=C<sub>1</sub>*(D<sub>6</sub>+D<sub>4</sub>)
D<sub>8</sub> D<sub>10</sub>+D<sub>0</sub> A<sub>1</sub>=C<sub>3</sub>*(D<sub>10</sub>+D<sub>4</sub>)
D<sub>2</sub> D<sub>6</sub>+D<sub>8</sub> A<sub>0</sub>+=C<sub>5</sub>*(D<sub>10</sub>+D<sub>0</sub>)
D<sub>12</sub> D<sub>2</sub>+D<sub>8</sub> A<sub>1</sub>+=C<sub>1</sub>*(D<sub>6</sub>+D<sub>8</sub>)
D<sub>5</sub> D<sub>2</sub>+D<sub>12</sub> A<sub>0</sub>+=C<sub>3</sub>*(D<sub>2</sub>+D<sub>8</sub>)
D<sub>9</sub> 传递D<sub>5</sub> A<sub>1</sub>+=C<sub>5</sub>*(D<sub>2</sub>+D<sub>12</sub>)
D<sub>1</sub> D<sub>5</sub>+D<sub>9</sub> A<sub>0</sub>+=C<sub>0</sub>*D<sub>5</sub>
D<sub>7</sub> D<sub>1</sub>+D<sub>9</sub> A<sub>1</sub>+=C<sub>2</sub>*(D<sub>5</sub>+D<sub>9</sub>)
D<sub>3</sub> 传递D<sub>7</sub> A<sub>0</sub>+=C<sub>4</sub>*(D<sub>1</sub>+D<sub>9</sub>)
D<sub>11</sub> D<sub>7</sub>+D<sub>3</sub> A<sub>1</sub>+=C<sub>0</sub>*D<sub>7</sub>
D<sub>11</sub>+D<sub>3</sub> A<sub>0</sub>+=C<sub>2</sub>*(D<sub>7</sub>+D<sub>3</sub>)
A<sub>1</sub>+=C<sub>4</sub>*(D<sub>11</sub>+D<sub>3</sub>) F<sub>0</sub>=A<sub>o</sub>
F<sub>1</sub>=A<sub>1</sub> F<sub>0</sub>
F<sub>1</sub>
应当注意,在一个周期中不使用乘法器,因为D6在相乘之前必须与D4或D8相加,与分别乘以系数C0的D5和D7不同。乘积被分为四组,每组遵循使用两个过滤器进行样本计算的次序,使得其中一个输出样本的每个新乘积使用另一个样本计算已使用的一个数据点以及继而用于另一个样本计算的下一个乘积的一个新的数据样本,直到该次序超出最后的系数。只要D6保存在可用的寄存器中,直到它与D4和D8一起使用,且不从数据存储器再次读取,那么,这四组中的每一组相对于其他组执行的顺序并不重要。
以上面所示的顺序取4组,寻址次序可以如下面的虚代码所示地推广到N分接头滤波器,其中,N为奇数,A、B、C是输入缓冲区内的数据样本的地址,m是中间数据样本的地址:
Figure GDA0002952953270000091
Figure GDA0002952953270000101
该虚代码包括地址生成和数据存储器读取,但不包括数据相加和相乘/累加操作。此方法也适用于线性相位有限脉冲响应滤波器中的偶数数量的分接头,且进行一些改变。例如,在第一次乘法操作之前,必须读取两个样本并将它们相加,因为没有与单个数据样本相乘的系数。对于N分接头滤波器而言,每两个已生成的输出样本所需的存储器读取的次数是N+2,并且,如果N是奇数,则所需的相乘/累加操作的次数是N+1,如果N是偶数,则所需的相乘/累加操作的次数是N,因此,在这两种情况下,吞吐量都受限于所需的存储器读取的次数。一旦生成了正确的地址序列,就很清楚如何将相加和相乘/累加操作排序,以计算滤波结果。
图5示出了地址序列生成方法的硬件实施方式,其包括计数寄存器、地址寄存器、加法器以及控制逻辑。起初,计数寄存器加载零,地址寄存器加载“最接近”循环缓冲区的中间的数据样本的地址m。如果包含循环缓冲区的数据存储器中的数据样本的数量是奇数,则最接近的m是存储在缓冲区地址范围的正中间的数据样本;否则,如果缓冲区的长度是偶数,则最接近的m能够是存储在缓冲区地址范围的正中间的两侧的两个数据样本中的任一个。在随后的每个周期中,通过增加或减去从计数寄存器生成的值来更新地址寄存器,并且,通过增加1来更新计数寄存器。从计数寄存器生成的值是通过将00或10(二进制)附加至计数寄存器的最低有效位而形成的。附加00给出了计数寄存器的内容的四倍的值,附加10给出了四倍的值与2相加后的值。该序列继续进行,直到计数器达到最终计数值,这可以通过将计数寄存器与从滤波器中的分接头的数量推知的值进行比较而找到。然后,从地址(m+2)开始新的序列。从地址(m-1)开始第三个序列,从地址(m+1)开始第四且最后的序列。每次计算新地址时,都可以使用已知方法对循环缓冲区寻址调整数值。
在第二相关申请中,公开了一种尤其适于与图5的地址序列生成设施协作的算术单元,以实现线性相位有限脉冲响应抽取滤波器。为了便于参考,复制了第二相关申请的图3,作为本文的图6。
图7示出了地址序列生成方法的另一个硬件实施方式,其要求3个地址寄存器,而不是1个,但是,这通常在执行与实现线性相位有限脉冲响应抽取滤波器无关的操作时是有用的。通常,该实施方式根据以下虚代码进行操作:
Figure GDA0002952953270000111
Figure GDA0002952953270000121
虽然已经在具体实施方式的上下文中描述了本发明,但是,本领域的普通技术人员将容易认识到,在这些实施方式中可以做出许多修改以适应具体实现方式。因此,显而易见的是,提供了一种用于线性相位有限脉冲响应抽取滤波器的地址序列生成方法和装置,其既有效又高效。此外,本方法和装置提供了通常优于最佳现有技术的性能。

Claims (11)

1.一种用于过采样的数字信号处理系统中的方法,该数字信号处理系统用于执行输入数据样本流的N分接头型线性相位抽取有限脉冲响应滤波器,该输入数据样本流包括选定的至少N+2个样本的序列,N包括整数,所述方法包括以下的步骤:
[1.1]设定第一读取地址以选择最接近所述数据样本的序列的中间的第一输入数据样本;
[1.2]设定第二读取地址以选择第二输入数据样本,其中,所述第一输入数据样本和所述第二输入数据样本乘以第一系数,以生成第一输出样本的第一乘积项;以及
[1.3]设定第三读取地址以选择第三输入数据样本,其中,所述第二输入数据样本和所述第三输入数据样本乘以第二系数,以生成第二输出样本的第一乘积项。
2.如权利要求1所述的方法,还包括以下步骤:
[1.4]设定第四读取地址以选择第四输入数据样本,其中,所述第三输入数据样本和所述第四输入数据样本乘以第三系数,以生成所述第一输出样本的第二乘积项。
3.如权利要求2所述的方法,还包括以下步骤:
[1.5]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。
4.如权利要求1所述的方法,其中,N包括奇整数,所述第一读取地址设定至中间输入数据样本,所述方法还包括:
在第一阶段的操作中,以选定的顺序执行步骤[1.1]、[1.2]、[1.3]以及
[1.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;
在第二阶段的操作中,以选定的顺序执行以下的步骤:
[2.1]设定第一读取地址以选择所述输入数据样本的序列的中间输入数据样本;
[2.2]设定第四读取地址以选择第四输入数据样本,其中,所述第一输入数据样本和所述第四输入数据样本乘以所述第一系数,以生成所述第二输出样本的第二乘积项;
[2.3]设定第五读取地址以选择第五输入数据样本,其中,所述第四输入数据样本和所述第五输入数据样本乘以所述第二系数,以生成所述第一输出样本的第二乘积项;以及
[2.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;在第三阶段的操作中,以选定的顺序执行以下的步骤:
[3.1]设定第六读取地址以选择与所述中间输入数据样本相邻的第六输入数据样本,其中,所述第六输入数据样本乘以第三系数,以生成所述第一输出样本的第三乘积项;
[3.2]设定第七读取地址以选择第七输入数据样本,其中,所述第六输入数据样本和所述第七输入数据样本乘以第四系数,以生成所述第二输出样本的第三乘积项;以及
[3.3]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;以及
在第四阶段的操作中,以选定的顺序执行以下步骤:
[4.1]设定第八读取地址以沿着与所述第六输入数据样本相反的方向选择与所述中间输入数据样本相邻的第八输入数据样本,其中,所述第八输入数据样本乘以所述第三系数,以生成所述第二输出样本的第四乘积项;
[4.2]设定第九读取地址以选择第九输入数据样本,其中,所述第八输入数据样本和所述第九输入数据样本乘以所述第四系数,以生成所述第一输出样本的第四乘积项;以及
[4.3]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。
5.如权利要求4所述的方法,其中,步骤[1.1]和[2.1]的所述第一读取地址对于两个操作仅设定一次;所述中间输入数据样本仅从数据存储器读取一次。
6.如权利要求1所述的方法,其中,N包括偶整数,所述方法还包括:
在第一阶段的操作中,以选定的顺序执行步骤[1.1]、[1.2]、[1.3]以及
[1.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个数据样本,其中,所述另一个数据样本和前一个数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;
在第二阶段的操作中,以选定的顺序执行以下的步骤:
[2.1]选择所述第一输入数据样本;
[2.2]设定第四读取地址以选择第四输入数据样本,其中,所述第一输入数据样本和所述第四输入数据样本乘以第三系数,以生成所述第二输出样本的第二乘积项;
[2.3]设定第五读取地址以选择第五输入数据样本,其中,所述第四输入数据样本和所述第五输入数据样本乘以第四系数,以生成所述第一输出样本的第二乘积项;以及
[2.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;在第三阶段的操作中,以选定的顺序执行以下的步骤:
[3.1]设定第六读取地址以选择第六输入数据样本,该第六输入数据样本最接近所述数据样本的序列的中间,与所述第一输入数据样本相邻;
[3.2]设定第七读取地址以选择第七输入数据样本,其中,所述第六输入数据样本和所述第七输入数据样本乘以所述第一系数,以生成所述第二输出样本的第三乘积项;
[3.3]设定第八读取地址以选择第八输入数据样本,其中,所述第七输入数据样本和所述第八输入数据样本乘以所述第二系数,以生成所述第一输出样本的第三乘积项;以及
[3.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项;以及
在第四阶段的操作中,以选定的顺序执行以下步骤:
[4.1]选择所述第六输入数据样本;
[4.2]设定第九读取地址以选择第九输入数据样本,其中,所述第六输入数据样本和所述第九输入数据样本乘以所述第三系数,以生成所述第一输出样本的第四乘积项;
[4.3]设定第十读取地址以选择第十输入数据样本,其中,所述第九输入数据样本和所述第十输入数据样本乘以所述第四系数,以生成所述第二输出样本的第四乘积项;以及
[4.4]在所述选定的输入数据样本的序列中,设定另一个读取地址以选择另一个输入数据样本,其中,所述另一个输入数据样本和前一个输入数据样本乘以系数,以生成前一个步骤中未使用的输出样本的另一个乘积项。
7.如权利要求4或6所述的方法,其中,所述第一、第二、第三以及第四阶段中的至少一个阶段的操作中的读取地址分别按照与权利要求4或权利要求6的顺序相反的顺序设定。
8.如权利要求1至6中的任一项所述的方法,其中,所述选定的输入数据样本的序列存储于具有单个数据端口的存储器中。
9.一种N分接头型线性相位抽取有限脉冲响应滤波设施,配置成执行如权利要求1至8中的任一项所述的方法。
10.一种数字信号处理系统,包括如权利要求9所述的N分接头型线性相位抽取有限脉冲响应滤波设施。
11.一种包括可执行指令的计算机可读介质,其中,所述可执行指令在处理系统中被执行时,使所述处理系统执行如权利要求1至8中的任一项所述的方法的步骤。
CN201680052544.XA 2015-07-10 2016-04-05 用于线性相位有限脉冲响应抽取滤波器的方法和装置 Active CN108140017B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562190858P 2015-07-10 2015-07-10
US62/190,858 2015-07-10
PCT/US2016/026055 WO2017011040A1 (en) 2015-07-10 2016-04-05 Method and apparatus for address sequencing in a linear phase fir decimation filter

Publications (2)

Publication Number Publication Date
CN108140017A CN108140017A (zh) 2018-06-08
CN108140017B true CN108140017B (zh) 2021-06-01

Family

ID=57731623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680052544.XA Active CN108140017B (zh) 2015-07-10 2016-04-05 用于线性相位有限脉冲响应抽取滤波器的方法和装置

Country Status (3)

Country Link
US (1) US9571265B2 (zh)
CN (1) CN108140017B (zh)
WO (1) WO2017011040A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1981453A (zh) * 2004-06-17 2007-06-13 W5网络公司 低功率无线通信系统和协议
CN101351791A (zh) * 2005-09-02 2009-01-21 奎克菲尔特技术公司 共享存储器和共享乘法器的可编程数字滤波器的实现
CN103516360A (zh) * 2012-06-19 2014-01-15 英飞凌科技股份有限公司 用于将过采样数据转换器斩波的系统和方法
CN104022782A (zh) * 2014-06-13 2014-09-03 哈尔滨工程大学 一种数字式多通道模拟信号发生方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732044A (en) * 1996-09-19 1998-03-24 The United States Of America As Represented By The Secretary Of The Navy System and method for compensating for doppler shifts in signals by downsampling
US6189064B1 (en) * 1998-11-09 2001-02-13 Broadcom Corporation Graphics display system with unified memory architecture
US6724847B1 (en) * 2000-09-06 2004-04-20 Motorola, Inc. Feed-forward symbol synchronizer and methods of operation therefor
JP3917522B2 (ja) * 2001-02-28 2007-05-23 富士通株式会社 フーリェ変換装置
US20080219331A1 (en) * 2007-03-07 2008-09-11 Matsushita Electric Industrial Co., Ltd. Methods and apparatus for reducing the effects of DAC images in radio frequency transceivers
DE102007059597A1 (de) * 2007-09-19 2009-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Eine Vorrichtung und ein Verfahren zur Ermittlung eines Komponentensignals in hoher Genauigkeit
US8260279B2 (en) * 2008-11-15 2012-09-04 Board Of Regents, The University Of Texas System System, method and apparatus for providing communications that conform to a cellular communication standard and a non-cellular communication standard
US9479866B2 (en) * 2011-11-14 2016-10-25 Analog Devices, Inc. Microphone array with daisy-chain summation
US9137006B1 (en) * 2014-10-22 2015-09-15 The United States Of America As Represented By The Secretary Of The Air Force Non-integer oversampled timing recovery for higher order quadrature modulation communication systems using quadrature and in-phase samples

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1981453A (zh) * 2004-06-17 2007-06-13 W5网络公司 低功率无线通信系统和协议
CN101351791A (zh) * 2005-09-02 2009-01-21 奎克菲尔特技术公司 共享存储器和共享乘法器的可编程数字滤波器的实现
CN103516360A (zh) * 2012-06-19 2014-01-15 英飞凌科技股份有限公司 用于将过采样数据转换器斩波的系统和方法
CN104022782A (zh) * 2014-06-13 2014-09-03 哈尔滨工程大学 一种数字式多通道模拟信号发生方法

Also Published As

Publication number Publication date
CN108140017A (zh) 2018-06-08
US20170012767A1 (en) 2017-01-12
US9571265B2 (en) 2017-02-14
WO2017011040A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
US6243729B1 (en) Digital finite-impulse-response (FIR) filter with a modified architecture based on high order Radix-N numbering
US5500811A (en) Finite impulse response filter
JP5544240B2 (ja) マルチmacアーキテクチャにおける低電力firフィルタ
US8239442B2 (en) Computing module for efficient FFT and FIR hardware accelerator
CN108073549B (zh) 卷积运算装置及方法
Chen et al. A low-power architecture for the design of a one-dimensional median filter
US9940303B2 (en) Method and apparatus for decimation in frequency FFT butterfly
JP3003467B2 (ja) 演算装置
CN108140017B (zh) 用于线性相位有限脉冲响应抽取滤波器的方法和装置
US6609142B1 (en) Method of performing multiplication with accumulation in a Galois body
Mehendale et al. DA-based circuits for inner-product computation
Shanthi et al. HIGH SPEED AND AREA EFFICIENT FPGA IMPLEMENTATION OF FIR FILTER USING DISTRIBUTED ARITHMETIC.
US10102892B1 (en) RAM-based shift register with embedded addressing
Abou El-Kheir et al. A low power programmable FIR filter using sharing multiplication technique
KR0176829B1 (ko) 초대규모 집적회로 구현에 적합한 고차 에프아이알 필터
Kartheek et al. FPGA Based High Speed 8-Tap FIR Filter
JP4315352B2 (ja) ディジタルフィルタおよび情報通信機器
KR910005791B1 (ko) 영상신호 처리용 멀티플라이어리스 fir 디지탈 필터
CN116781041A (zh) 一种具有高资源利用率的多速率变换滤波器
JP2005353094A (ja) 積和演算器
Shanthi et al. FPGA Realization of High Speed FIR Filter based on Distributed Arithmetic
CN117149131A (zh) 一种快速右移移位累加器、分布式算法处理器和滤波器
JP4586114B1 (ja) 積和演算装置
EP3994796A1 (en) Advanced finite impulse response system and method for real coefficients and complex data
JP2005149517A (ja) 積和演算器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant