CN101253475A - 可编程的数字滤波器 - Google Patents

可编程的数字滤波器 Download PDF

Info

Publication number
CN101253475A
CN101253475A CNA2006800318380A CN200680031838A CN101253475A CN 101253475 A CN101253475 A CN 101253475A CN A2006800318380 A CNA2006800318380 A CN A2006800318380A CN 200680031838 A CN200680031838 A CN 200680031838A CN 101253475 A CN101253475 A CN 101253475A
Authority
CN
China
Prior art keywords
input
alu
instruction
trigger
memory location
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.)
Pending
Application number
CNA2006800318380A
Other languages
English (en)
Inventor
鲁沙恩·J·萨穆埃尔
詹姆斯·E·巴特林
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN101253475A publication Critical patent/CN101253475A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0294Variable filters; Programmable filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H2017/0298DSP implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

一种对一个或一个以上输入信号进行滤波的方法包含接收一个或一个以上输入信号,每个所述输入信号具有输入信号值。所述方法包含在程序存储器中存储至少两个指令,以对所述输入信号中的一者或一者以上进行滤波。每个指令包含操作码,且识别至少两个输入位置和至少一个输出位置。所述方法包含:对于所述一个或一个以上输入信号中的一者或一者以上且接着对于每个指令,从所述至少两个输入位置取得输入值。所述方法进一步包含基于所述指令的所述操作码对所述输入值执行操作以产生输出值,并将所述输出值输出到至少一个输出位置。

Description

可编程的数字滤波器
技术领域
本发明根据一个实施例涉及用于数字系统的滤波器,更确切地说,涉及可编程的数字滤波器。
背景技术
在信号处理应用中,需要提供不同布置的数字滤波器,以产生所需的输出信号。一般来说,通过具有固定数目的极的并联布置的装置来执行数字滤波。在此种实施方案中,提供专用硬件以实施数字滤波器中的每个级。举例来说,图1展示采用五个加法器的具有五个级的第三阶正弦滤波器。所述正弦滤波器100的第一级是积分级,其包含加法器105、触发寄存器110和寄存器115。加法器105从输入端口或寄存器以及触发寄存器110接收输入。所述加法器的输出存储在寄存器115中,且如果触发信号(即clk)是活动的,则进而将输出存储到触发寄存器110。
正弦滤波器100的第二级是另一积分级,其包含加法器120、触发寄存器125和寄存器130。所述加法器从寄存器115和从触发寄存器125接收输入。加法器120的输出存储在寄存器130中,且当触发信号(即,clk)是活动的时,进而将输出存储到触发寄存器125。
正弦滤波器100的第三级是累加和转储级,其在特定实施方案中可称为积分和转储级。所述累加和转储级包含加法器135、触发寄存器140、寄存器145和锁存器150。加法器135从寄存器130和从触发寄存器140接收输入。将加法器135的输出写入到寄存器145。当到锁存器的触发信号(即,clk/64)不活动但到触发寄存器140的触发信号(即,clk)活动时,进而将来自加法器135的输出写入到触发寄存器140。当到锁存器的触发信号(即clk/64)活动时,进而将来自加法器135的输出写入到寄存器155且将触发寄存器140清空。
正弦滤波器100的第四级是微分级。所述微分级包含经配置以执行减法的加法器165、寄存器155和触发寄存器160。对加法器165的输入来自寄存器155和触发寄存器160。加法器165经配置以从寄存器155中的值减去触发寄存器160中的值。将结果存储在寄存器170中。当到触发寄存器160的触发信号(即,clk/64)是活动的时,将寄存器155中的值存储在触发寄存器中。
正弦滤波器100的第五级是另一微分级,其包含加法器180、寄存器170和触发寄存器175。所述加法器180经配置以从触发寄存器175中的值减去寄存器170中的值,并将结果输出到输出端口或寄存器。当到触发寄存器的触发信号(即,clk/64)是活动的时,将寄存器170中的值存储在触发寄存器175中。
因此,正弦滤波器100需要五个加法器来实施第三阶正弦滤波器,且组件是以固定布置来设定的。然而,特定的应用可能在不同时候根据应用而需要不同类型的滤波器(例如,高通、低通、正弦或其它滤波器)。因此,需要提供一种可重新配置的可编程滤波器。也需要提供一种具有可变数目的极(即,滤波器的阶)的滤波器。也需要提供一种不具有专用于每个滤波器级的单独硬件(例如,加法器)的滤波器。
发明内容
本发明通过以下方式克服以上指出的问题以及现有技术的其它缺点和不足:提供一种设备、系统和方法,其用于对多级滤波器进行串行化,从而减少实施多级滤波器所需的组件的数目,并且提供布置可更改的滤波器。
根据本发明的具体实例实施例,提供一种对一个或一个以上输入信号进行滤波的方法。所述方法包含接收一个或一个以上输入信号,每个所述输入信号具有输入信号值。所述方法包含在程序存储器中存储至少两个指令。所述指令在由可编程滤波器串行执行时将对输入信号进行滤波。每个所述指令包含操作码,且每个指令识别至少两个输入位置和至少一个输出位置。所述方法进一步包含对输入信号中的一者或一者以上循环一次。在循环内,所述方法包含进入每个指令的第二循环。在第二循环内,所述方法包含从输入位置取得输入值。基于所述指令的操作码对输入值执行操作以产生输出值。接着,将所述输出值输出到至少一个输出位置。
根据本发明的另一具体实施例,一种可编程滤波器可对一个或一个以上输入信号进行滤波。所述可编程滤波器包含时钟以提供时钟信号。所述可编程滤波器还包含单个算术逻辑单元(ALU)以选择性地对至少两个输入值执行一个或一个以上操作之一并产生输出值。所述可编程滤波器进一步包含程序存储器以用于存储一个或一个以上指令。每个所述指令包括操作码且识别至少两个输入位置和至少一个输出位置。高速暂存存储器耦合到所述ALU以存储一个或一个以上值。触发存储器耦合到所述ALU以存储一个或一个以上值。至少一个输入寄存器耦合到所述ALU以存储外部输入值。至少一个输出寄存器耦合到所述ALU以存储外部输出值。
所述可编程滤波器包含控制单元,其耦合到所述ALU和所述程序存储器。所述控制单元从程序存储器接收指令,且基于所述指令致使所述ALU从所述高速暂存存储器、所述触发存储器和所述至少一个输入寄存器中的一者或一者以上接收两个或两个以上输入值。所述控制单元还致使所述ALU基于指令中的操作码对输入值执行操作以产生输出值。所述控制单元将所述输出值输出到所述高速暂存存储器、所述触发存储器和所述至少一个输出寄存器中的一者或一者以上。
附图说明
可通过结合附图参看以下描述来获得对本发明的更加完整的理解,其中:
图1是具有加法器的并联布置的第三阶正弦滤波器的示意方框图;
图2是根据本发明的具体实例实施例的可编程滤波器的示意方框图;
图3是根据本发明的具体实例实施例的用于将触发信号提供到可编程滤波器的电路的示意方框图;且
图4-9是根据本发明的具体实例实施例将一个或一个以上滤波器串行化的方法的操作流程图。
虽然本发明可接受各种修改和替代形式,但图中展示且在本文中详细描述本发明的具体实例实施例。然而,应了解,本文中对具体实例实施例的描述并不意图将本发明局限于本文中揭示的特定形式,而是相反,本发明将涵盖所附权利要求书定义的所有修改和等效物。
具体实施方式
现在参看图式,示意性说明实例实施例的细节。图式中的相同元件将用相同数字表示,且相似元件将用相同数字加上不同的小写字母后缀表示。
参看图2,图中描绘根据本发明的实例实施例用于将两个或两个以上滤波器级串行化的可编程数字滤波器(一般展示在200处)的示意方框图。所述可编程数字滤波器200包含N个输入2051..N,其可存储在寄存器中。可编程数字滤波器200包含O个输出2101..O,其也可存储在寄存器中以供可编程数字滤波器200外部的电路检索。可编程数字滤波器200还可接收触发输入上的触发信号2151..P,其也可存储在寄存器中。可编程数字滤波器200中包含程序存储器220以存储一个或一个以上指令以供执行。程序存储器220的容量可基于可编程数字滤波器200的需要而改变。在一个实例实施方案中,程序存储器220可存储16个字节的指令以实施一个或一个以上数字滤波器。程序存储器220中的指令可经更改以实施不同的滤波操作。举例来说,在不同时候,可编程滤波器200可通过在程序存储器220中加载不同指令而提供第二阶高通滤波器或第三阶正弦滤波器。
可编程数字滤波器200进一步包含算术逻辑单元(ALU)225以对一个或一个以上输入值执行一个或一个以上操作。在特定实例实施例中,ALU 225可选择性地对存储在存储器位置中的值执行加法或减法。
特定实施方案可具有一个以上ALU,例如ALU 225。一般来说,可编程数字滤波器可包含L个ALU。所述多个ALU可用来并行执行滤波器的两个或两个以上级。此实施方案可允许可编程数字滤波器200以较低频率运行,因为多个滤波级可并行执行。在有些实施方案中,可编程数字滤波器200使用的ALU的数目可以与滤波级的数目不同。举例来说,可编程数字滤波器200可使用少于滤波级的数目的ALU。在特定实施方案中,可编程数字滤波器200可使用单个ALU 225。
可编程数字滤波器200可结合处理器来实施,所述处理器可包含一个或一个以上其它ALU。在有些实施方案中,处理器可包含可编程数字滤波器200,且使用所述可编程数字滤波器200来执行信号滤波操作。此实施方案可允许处理器中的其它ALU在可编程数字滤波器200执行信号处理操作的同时执行其它功能。
ALU 225和程序存储器220耦合到控制逻辑230。控制逻辑取得存储在程序存储器220中的解译指令,并配置ALU 225以基于从程序存储器220读取的指令的内容对存储在存储器位置中的值执行操作。控制逻辑耦合到高速暂存存储器程序计数器235以指向高速暂存存储器240中的一个位置。控制逻辑230可控制高速暂存存储器程序计数器235的值以指向高速暂存存储器中的不同位置。举例来说,控制逻辑230可将高速暂存存储器程序计数器235复位以指向高速暂存存储器240的开始处。在另一实例中,控制逻辑230可将高速暂存存储器程序计数器235递增,以指向高速暂存存储器240中的下一位置。在另一实例中,控制逻辑230可读取高速暂存存储器程序计数器235,以确定高速暂存存储器240中的当前位置。同样,控制逻辑可控制或读取触发存储器程序计数器245的值。
特定实施方案可包含程序存储器位置程序计数器,以指向程序存储器220中的当前指令。在特定实施方案中,控制逻辑230可读取程序存储器程序计数器以确定当前指令。在特定实施方案中,控制逻辑230可控制程序存储器程序计数器,以(例如)前进到程序存储器220中的下一指令,或将程序计数器220复位到程序存储器220中的第一指令。
高速暂存存储器240可在一个或一个以上高速暂存存储器位置中存储值。在可编程滤波器200的特定实施实施方案中,高速暂存存储器位置每一者存储从ALU 225输出的结果。高速暂存存储器240的大小可基于系统的需要而改变。此外,在特定实例实施方案中,每个高速暂存存储器位置的大小可改变,以(例如)考虑可编程数字滤波器200的各个级中的位增长。在其它实例实施方案中,高速暂存存储器位置的大小可以是统一的。在根据本发明的一个实例实施方案中,高速暂存存储器240可以是16×32位存储器。高速暂存存储器240耦合到ALU 225,使得ALU 225可接收存储在高速暂存存储器位置中的一个或一个以上值,且使得ALU可将结果输出到一个或一个以上高速暂存存储器位置。
触发存储器250可在一个或一个以上触发存储器位置中存储值。在可编程滤波器200的特定实例实施方案中,触发存储器位置每一者存储从ALU 225输出的结果,但可只在与触发存储器位置相关联的触发信号是活动的时被写入所述结果。触发存储器250的大小可基于系统的需要而改变。此外,在特定实例实施方案中,每个触发存储器位置的大小可改变,以(例如)考虑可编程数字滤波器200的各个级中的位增长。在其它实例实施方案中,触发存储器位置的大小可以是统一的。在根据本发明的一个实例实施方案中,触发存储器250可以是16×32位的存储器。触发存储器250耦合到ALU 225,使得ALU225可接收存储在触发存储器位置中的一个或一个以上值,且使得ALU 225可将结果输出到一个或一个以上触发存储器位置。在特定实施方案中,不论与触发存储器位置相关联的触发信号的状态如何均可读取触发存储器位置值,但只可在与触发存储器位置相关联的触发信号是活动的时写入触发存储器位置值。
虽然将高速暂存存储器240和触发存储器250描述成两个存储器,但在特定实施方案中,其可以是同一物理存储器装置的逻辑部分。
可编程滤波器200包含时钟255,以向可编程滤波器200中的每个组件提供时钟信号。可基于系统的需要,尤其是滤波器的经串行化的级的数目和输入信号的数目而改变时钟255的速度。举例来说,为了针对单个输入信号将同步滤波器100串行化,系统时钟的运行速度可能比输入信号的采样速率快十倍。这个速率允许系统在输入信号的一个采样时间间隔内执行五次存储器加载/存储和五个ALU操作。一般来说,对于要串行化的滤波器的每个级(例如,对于程序存储器220中的每个指令),系统时钟必须以输入信号采样速率的两倍进行操作。系统时钟速率也可经调整以考虑要滤波的信号的数目。举例来说,如果可编程滤波器200对四个输入信号(例如,N=4)进行滤波,那么可以四为因数调整时钟速率,以考虑要进行滤波的四个信号。一般来说,针对可编程数字滤波器200的具有单个ALU的实施方案,时钟速率可大于或等于2×R×N×fs,其中R是存储在程序存储器中的指令的数目,N是输入信号的数目,且fs是一个或一个以上输入信号的最小采样频率。
在可编程数字滤波器200的包含多个ALU的实施方案中,时钟频率可经调整以考虑所述多个ALU。一般来说,在此种实施方案中,时钟频率可大于或等于
Figure S2006800318380D00061
其中R是存储在程序存储器中的指令的数目,N是输入信号的数目,L是用来对一个或一个以上输入信号进行滤波的ALU的数目,且fs是一个或一个以上输入信号的最小采样频率。
参看图3,图中描绘用于与可编程数字滤波器200一起使用的用以产生触发信号2151..P的系统的示意图。所述系统可包含Q位计数器以并行产生Q个位。信号的数目可基于系统的需要和布置而改变。可将所述Q个位输入到时分电路310中,以用于从所述Q个位产生触发信号。时分电路可接收控制信号TDIV 3151..P,以控制时分电路。在图3所示的本发明的实例实施方案中,到TDIV 3151..R的信号可控制P个多路复用器3201..P。多路复用器3201..P中的每一者从Q位计数器305接收Q个输入,且向触发器2151..P之一输出触发信号。在特定实例实施方案中,多路复用器3201..P中的每一者由来自TDIV 3151..R中的一者或一者以上的信号控制。到TDIV 3151..R的信号可由控制逻辑230提供。在一个实例实施方案中,所述Q位计数器305是32位计数器,用以并行产生32个位,且多路复用器3201..P中的每一者并行接收四个控制位(例如,TDIV 3141为多路复用器3201提供四个控制位)。
参看图4,图中描绘将两个或两个以上滤波器级串行化的可编程滤波器200的操作方框图。控制逻辑230开始并进入在输入2051..N上的一个或一个以上输入信号的循环(方框405和410)。在这个循环内,控制逻辑230将存储器位置复位(方框415)。可编程滤波器200接着进入程序存储器220中的指令中的一个或一个以上指令的循环(方框420和425)。
在方框420和425定义的循环内,控制逻辑230从程序存储器220中取得下一指令。一般来说,每个所述指令表示例如正弦滤波器100的滤波器的一个级。在特定实施方案中,程序存储器中的每个所述指令包含识别要执行的ALU操作的操作码。这些操作码可包含积分(INT)以加上一个或一个以上值、包含微分(DIFF)以用一个或一个以上值减去另外一个或一个以上值,或者包含累加和转储(ACD)以加上一个或一个以上值并在相关联的触发信号是活动的时复位成零。在特定实施方案中,可将累加和转储称为积分和转储。程序存储器中的每个指令识别输入值的位置。所述位置可包含一个或一个以上输入寄存器或输入端口(例如输入2051..N)、高速暂存存储器240中的一个或一个以上高速暂存存储器位置以及触发存储器250中的一个或一个以上触发存储器位置。程序存储器中的每个指令可进一步识别一个或一个以上输出位置以存储结果。这些输出位置可包含一个或一个以上输出寄存器或端口(例如输出2101..O)、高速暂存存储器240中的一个或一个以上高速暂存存储器位置或触发存储器250中的一个或一个以上触发存储器位置。一般来说,程序存储器220中的每个指令与一个或一个以上触发信号相关联,所述触发信号可施加到触发器2151..P。相关联的触发信号可控制是否将结果存储到与指令相关联的一个或一个以上触发存储器位置。相关联的触发信号可进一步控制累加和转储指令是否将存储器位置复位。
在控制逻辑230已经从程序存储器220中检索程序指令之后,其检索ALU操作的数据(方框435)。基于在方框430中接收的指令,这可包含配置ALU 225以从一个或一个以上高速暂存存储器位置、一个或一个以上触发存储器位置或者一个或一个以上输入2051..N接收值。一旦配置了输入,控制逻辑230便致使ALU基于指令中的操作码来执行ALU操作。控制逻辑230接着基于指令将ALU操作的结果输出到一个或一个以上位置(方框445)。控制逻辑230可接着更新一个或一个以上触发存储器位置(方框450)。
图5中更详细地展示将存储器位置复位(方框415)的实例实施方案。将存储器位置复位可包含将零写入到高速暂存存储器240中的高速暂存存储器位置和触发存储器250中的触发存储器位置(方框505)。将存储器位置复位可进一步包含将高速暂存存储器计数器235和触发存储器程序计数器245复位(方框510)。
图6中更详细地展示接收ALU操作的数据(方框435)的实例实施方案。如果指令指定输入之一是来自一个输入(例如输入2051..N),那么控制单元230从指定的输入端口或寄存器接收数据(方框610)。这可允许可编程滤波器200实施正弦滤波器100的第一级,这需要来自滤波器外部的输入值。如果指令不指定接收输入值,则控制单元将从高速暂存存储器位置取得数据(方框615)。不论控制单元230是从输入2051..N中的一者或一者以上还是从高速暂存存储器位置接收输入,其均将从指令中指定的触发存储器位置取得输入值(方框620)。
图7中更详细地展示执行ALU操作(方框440)的一个实例实施方案。如果操作码是微分(DIFF)(方框705),那么ALU 225从第一输入减去第二输入(方框710)。举例来说,当可编程滤波器220正在实施正弦滤波器100的第四级时,其从对应于寄存器155的高速暂存存储器位置中的值减去来自对应于触发寄存器160的触发存储器位置的输入。如果操作码是累加和转储(ACD)或积分(INT)(方框715),那么ALU 225将输入相加(方框725)。举例来说,当可编程滤波器正在实施正弦滤波器100的第二级时,其将对应于寄存器115的高速暂存存储器位置中的值与存储在对应于触发寄存器125的触发存储器位置中的值相加。
图8中展示输出来自ALU操作的结果(方框445)的实例实施方案。如果正被执行的指令指定将数据发送到输出端口或寄存器(例如输出4101..M)中的一者或一者以上(方框805),那么控制单元230致使ALU将结果输出到选定的输出4101..M(方框810)。举例来说,当可编程滤波器200正在实施正弦滤波器100的第五级时,将ALU操作的结果发送到输出。否则,控制单元230将致使将ALU操作的结果存储在一个或一个以上高速暂存存储器位置中(方框815)。举例来说,当可编程滤波器200正在实施正弦滤波器100的第一级时,控制单元将致使将ALU操作的结果存储在对应于寄存器115的高速暂存存储器位置中。在累加和转储指令的情况下,被写入的高速暂存存储器位置可基于与累加和转储操作相关联的触发器的值而改变。举例来说,当可编程滤波器正在实施正弦滤波器100的第三级,且与累加和转储操作相关联的触发信号是活动的时,将ALU操作的结果存储到对应于寄存器155的高速暂存存储器位置。
图9中更详细地展示更新触发存储器位置(方框450)的实例实施方案。如果对应于触发存储器位置的触发信号是活动的,则控制逻辑230更新触发存储器位置(方框905)。举例来说,当可编程滤波器正在实施正弦滤波器100的第二级且用于对应于触发寄存器125的触发存储器位置的触发信号是活动的时,将积分(INT)操作的结果存储在触发存储器位置中。如果操作码是累加和转储(ACD)且对应于累加和转储的触发器是活动的时(方框910),那么控制逻辑230将累加存储器位置中的值复位。举例来说,当可编程滤波器200正在实施正弦滤波器100的第三级时,其在与累加和转储相关联的触发信号是活动的时将对应于触发寄存器140的触发存储器位置中的值复位。
虽然已经通过参看本发明的实例实施例描绘、描述和定义了本发明的实施例,但此种参看并不意味着对本发明的限制,且不应推导出任何此种限制。所揭示的标的物能够接受较大程度的形式和功能上的修改、更改和等效物,所属领域的受益于本发明的技术人员将想到所述修改、更改和等效物。本发明的所描绘和描述的实施例只是实例,且并不穷尽本发明的范围。

Claims (18)

1.一种对一个或一个以上输入信号进行滤波的方法,其包括:
接收一个或一个以上输入信号,其每一者具有输入信号值;
在程序存储器中存储至少两个指令以对所述输入信号中的一者或一者以上进行滤波,每个指令包括操作码并识别至少两个输入位置和至少一个输出位置;
对于所述一个或一个以上输入信号中的一者或一者以上:
对于每个指令:
从所述至少两个输入位置取得输入值;
基于所述指令的所述操作码对所述输入值执行操作以产生输出值;以及
将所述输出值输出到至少一个输出位置;且
其中由少于指令的数目的算术逻辑单元(ALU)来执行所述操作。
2.根据权利要求1所述的方法,其中所述输入信号具有采样,所述采样具有最大采样频率(fs),所述方法进一步包括:
提供时钟信号,其中所述时钟信号具有至少为2×R×N×fs的频率,其中R是存储在所述程序存储器中的指令的数目,且N是输入信号的数目。
3.根据权利要求1所述的方法,其中所述输入信号具有采样,所述采样具有最大采样频率(fs),所述方法进一步包括:
提供时钟信号,其中所述时钟信号具有至少为
Figure S2006800318380C00011
的频率,其中R是存储在所述程序存储器中的指令的数目,N是输入信号的数目,且L是用于对所述一个或一个以上输入信号进行滤波的ALU的数目。
4.根据权利要求1所述的方法,其中由专用于信号处理的一个或一个以上ALU来执行所述操作。
5.根据权利要求1所述的方法,其中由单个ALU执行针对每个指令执行的所述操作。
6.根据权利要求1所述的方法,其中从至少两个输入位置取得输入值包括:
选择性地从高速暂存存储器位置或输入寄存器之一取得第一输入值;以及
从触发存储器位置取得第二输入值。
7.根据权利要求1所述的方法,其中将所述输出值输出到至少一个输出位置包括:
选择性地将所述输出值存储到高速暂存存储器位置或输出寄存器之一。
8.根据权利要求1所述的方法,其进一步包括:
为一个或一个以上触发存储器位置提供触发信号,且其中将所述输出值输出到至少一个输出位置包括:
如果所述触发存储器位置的所述触发信号是活动的,则将所述输出值存储到触发存储器位置。
9.根据权利要求1所述的方法,其中对所述输入值执行操作以产生输出值包括:
响应于积分操作码将所述输入值相加。
10.根据权利要求1所述的方法,其中对所述输入值执行操作以产生输出值包括:
响应于微分操作码从所述输入值中的一者或一者以上减去另外一个或一个以上输入值。
11.根据权利要求1所述的方法,其进一步包括:
为所述ALU提供转储触发信号,且其中对所述输入值执行操作以产生输出值包括:
响应于累加和转储操作码:
将所述输入值相加;且
如果所述触发信号是活动的,则:
将结果输出到第一高速暂存存储器位置;以及
将触发存储器位置复位;
否则:
将所述结果输出到第二高速暂存存储器位置。
12.一种用于对一个或一个以上输入信号进行滤波的可编程滤波器,其包括:
时钟,其提供时钟信号;
一个或一个以上算术逻辑单元(ALU),其每一者选择性地对至少两个输入值执行一个或一个以上滤波操作之一并产生输出值;
程序存储器,其用于存储一个或一个以上指令,每个指令包括操作码且识别至少两个输入位置和至少一个输出位置;
高速暂存存储器,其耦合到一个或一个以上ALU以存储一个或一个以上值;
触发存储器,其耦合到一个或一个以上ALU以存储一个或一个以上值;
至少一个输入寄存器,其耦合到一个或一个以上ALU,以存储外部输入值;
至少一个输出寄存器,其耦合到一个或一个以上ALU,以存储外部输出值;以及
控制单元,其耦合到一个或一个以上ALU和所述程序存储器且适合于:
从所述程序存储器接收指令,且基于所述指令致使所述一个或一个以上ALU:
从所述高速暂存存储器、所述触发存储器和所述至少一个输入寄存器中的一者或一者以上接收两个或两个以上输入值;
基于所述指令中的操作码对所述输入值执行滤波操作以产生输出值;以及
将所述输出值输出到所述高速暂存存储器、所述触发存储器和所述至少一个输出寄存器中的一者或一者以上;且
其中ALU的数目小于所述程序存储器中的指令的数目。
13.根据权利要求12所述的可编程滤波器,其进一步包括:
一个或一个以上触发输入,其耦合到所述控制单元,每个触发输入用以接收触发信号,且其中:
所述触发存储器中的一个或一个以上位置的每一者与触发输入相关;且
当所述相关触发输入信号是活动的时,所述控制单元只允许将所述输出值写入到所述触发存储器中的位置。
14.根据权利要求12所述的可编程滤波器,其进一步包括:
程序计数器,其耦合到所述控制单元以指向程序存储器中的当前指令;且其中所述控制单元进一步适合于控制所述程序计数器。
15.根据权利要求12所述的可编程滤波器,其进一步包括:
高速暂存存储器程序计数器,其用以指向当前高速暂存存储器位置,且其中所述控制单元进一步适合于控制所述高速暂存存储器程序计数器。
16.根据权利要求12所述的可编程滤波器,其进一步包括:
触发存储器程序计数器,其用以指向当前触发存储器位置,且其中所述控制单元进一步适合于控制所述高速暂存存储器程序计数器。
17.根据权利要求12所述的可编程滤波器,其中所述输入寄存器中的每一者接收具有最大采样频率(fs)的信号,且其中所述时钟具有至少与
Figure S2006800318380C00031
一样快的时钟频率,其中R是存储在所述程序存储器中的指令的数目,L是ALU的数目,且N是输入信号的数目。
18.根据权利要求12所述的可编程滤波器,其中ALU的数目是1。
CNA2006800318380A 2005-08-31 2006-08-29 可编程的数字滤波器 Pending CN101253475A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/215,856 US20070050438A1 (en) 2005-08-31 2005-08-31 Programmable digital filter
US11/215,856 2005-08-31

Publications (1)

Publication Number Publication Date
CN101253475A true CN101253475A (zh) 2008-08-27

Family

ID=37594934

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800318380A Pending CN101253475A (zh) 2005-08-31 2006-08-29 可编程的数字滤波器

Country Status (5)

Country Link
US (1) US20070050438A1 (zh)
EP (1) EP1934715A2 (zh)
KR (1) KR20080043362A (zh)
CN (1) CN101253475A (zh)
WO (1) WO2007027616A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332808A (zh) * 2020-11-09 2021-02-05 国网电力科学研究院武汉南瑞有限责任公司 一种基于fpga将积分和高通滤波混合的数字处理电路

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698354B2 (en) * 2004-04-16 2010-04-13 Analog Devices, Inc. Programmable engine core for executing digital signal processing functions
US7548941B2 (en) 2004-06-18 2009-06-16 Analog Devices, Inc. Digital filter using memory to emulate variable shift register
US10665222B2 (en) * 2018-06-28 2020-05-26 Intel Corporation Method and system of temporal-domain feature extraction for automatic speech recognition

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
JPH07253965A (ja) * 1994-03-16 1995-10-03 Fujitsu Ltd 積和演算器
US7111155B1 (en) * 1999-05-12 2006-09-19 Analog Devices, Inc. Digital signal processor computation core with input operand selection from operand bus for dual operations
US7107302B1 (en) * 1999-05-12 2006-09-12 Analog Devices, Inc. Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units
DE10003006A1 (de) * 2000-01-25 2001-07-26 Bosch Gmbh Robert Anordnung und Verfahren zur Signalverarbeitung und Speicherung
US6711602B1 (en) * 2000-02-18 2004-03-23 Texas Instruments Incorporated Data processor with flexible multiply unit
US20040225809A1 (en) * 2001-03-08 2004-11-11 Wee Erng Sing Integrated circuit arrangement for multiple-sensor types with a programmable interface for selecting a digital filter input signal
US6920470B2 (en) * 2001-03-08 2005-07-19 Cirrus Logic, Inc. Signal processing integrated circuit
US7698354B2 (en) * 2004-04-16 2010-04-13 Analog Devices, Inc. Programmable engine core for executing digital signal processing functions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332808A (zh) * 2020-11-09 2021-02-05 国网电力科学研究院武汉南瑞有限责任公司 一种基于fpga将积分和高通滤波混合的数字处理电路
CN112332808B (zh) * 2020-11-09 2022-05-31 国网电力科学研究院武汉南瑞有限责任公司 一种基于fpga将积分和高通滤波混合的数字处理电路

Also Published As

Publication number Publication date
EP1934715A2 (en) 2008-06-25
WO2007027616A3 (en) 2007-11-01
WO2007027616A2 (en) 2007-03-08
US20070050438A1 (en) 2007-03-01
KR20080043362A (ko) 2008-05-16

Similar Documents

Publication Publication Date Title
EP3629158B1 (en) Systems and methods for performing instructions to transform matrices into row-interleaved format
US9564902B2 (en) Dynamically configurable and re-configurable data path
CN101154153B (zh) 位域操作电路
EP3629154B1 (en) Systems for performing instructions to quickly convert and use tiles as 1d vectors
US20120144160A1 (en) Multiple-cycle programmable processor
CN106547518A (zh) 用于加速器的低等待时间调用的装置和方法
CN101253475A (zh) 可编程的数字滤波器
CN101211256A (zh) 一种专用双流水线risc指令系统及其操作方法
CN100444107C (zh) 优化的处理器和指令对准
CN101739383A (zh) 一种可配置处理器体系结构和控制方法
JP2002529847A (ja) ビットfifoを有するディジタル信号プロセッサ
JP2000322235A (ja) 情報処理装置
US5502664A (en) Filter device including SRAM and EEPROM devices
CN101727434B (zh) 一种特定应用算法专用集成电路结构
US6718429B1 (en) Configurable register file with multi-range shift register support
CN106708467B (zh) 一种宽位累加器电路及其设计方法、可编程逻辑器件
US6564312B1 (en) Data processor comprising an arithmetic logic unit
US7849283B2 (en) Linear combiner weight memory
US10169040B2 (en) System and method for sample rate conversion
Sinha et al. 8 Bit Single Cycle Processor
US20060271610A1 (en) Digital signal processor having reconfigurable data paths
CN105630467A (zh) 用户交互界面的渲染处理方法及处理装置
US9916108B2 (en) Efficient loading and storing of data between memory and registers using a data structure for load and store addressing
CN116594691A (zh) 接口、risc-v扩展架构、处理器和片上系统
JP2000293357A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080827