DE69914087T2 - Digitales filter ohne multiplizierer - Google Patents

Digitales filter ohne multiplizierer Download PDF

Info

Publication number
DE69914087T2
DE69914087T2 DE69914087T DE69914087T DE69914087T2 DE 69914087 T2 DE69914087 T2 DE 69914087T2 DE 69914087 T DE69914087 T DE 69914087T DE 69914087 T DE69914087 T DE 69914087T DE 69914087 T2 DE69914087 T2 DE 69914087T2
Authority
DE
Germany
Prior art keywords
bit
filter
data samples
bit data
block
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.)
Expired - Lifetime
Application number
DE69914087T
Other languages
English (en)
Other versions
DE69914087D1 (de
Inventor
Dietmar Lipka
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE69914087D1 publication Critical patent/DE69914087D1/de
Application granted granted Critical
Publication of DE69914087T2 publication Critical patent/DE69914087T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0614Non-recursive filters using Delta-modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • H03H17/023Measures concerning the coefficients reducing the wordlength, the possible values of coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • TECHNISCHER HINTERGRUND
  • Die vorliegende Erfindung betrifft digitale Filtertechniken und insbesondere Filtertechniken unter Vermeidung der Anwendung von Multiplizierern.
  • Bei Anwendungen nach dem Stand der Technik, die eine Dezimierung eines hochratigen Digitalsignals erfordern, beispielsweise einem 1-Bit-Signal, erzeugt durch einen Sigma-Delta-Modulator, werden Kaskaden-integrierte Kammfilter (CIC-Filter) für eine erste Dezimierungsstufe verwendet. Diesen folgt dann eine übliche Dezimierungsfilterstufe mit endlicher Impulsantwort (FIR). Das Dezimieren um N bedeutet, dass der Filter-Ausgabeabtastwert lediglich einmal für jeweils N Datenabtastwerte erzeugt wird. Jeder Filterausgabe ist ein Mehrfach-Bitwert, der die entsprechenden N Datenabtastwerte repräsentiert.
  • Die 1 zeigt ein Blockschaltbild einer beispielhaften Implementierung nach dem Stand der Technik eines dreistufigen CIC-Filters, das das Eingangssignal um einen Faktor von N dezimiert. Wie anhand der Figur zu erkennen, besteht das CIC-Filter aus einer Zahl von Akkumulatoren 11 als erste Stufe, die mit der Rate eines schnellen Abtasttaktes 15 betrieben wird. Die folgende Dezimierstufe 13 generiert dann Abtastwerte mit der Rate eines niedrigeren Dezimiertakts 17 durch Zuführen jedes n-ten Abtastwerts bei ihrem Ausgang und durch Weglassen der anderen. Schließlich enthält eine dritte Stufe Differenzierer 19, die bei der dezimierten Taktrate betrieben werden.
  • Da alle Filterkoeffizienten zu 1 festgelegt sind, benötigen CIC-Filter keine Multiplizierer. Im Ergebnis können sie bei Geschwindigkeiten laufen, die durch die Geschwindigkeit der Addierer (in der ersten Stufe) begrenzt sind. Demnach werden dann, wenn sehr hohe Datenraten betroffen sind, CIC-Filter für die ersten Dezimierschritte verwendet, um die Datenrate ausreichend abzusenken, damit die Anwendung von FIR-Filtern ermöglicht wird. Jedoch ist die sin(x)/x-Frequenzbereichscharakteristik der CIC-Filter durch die nachfolgenden FIR-Filter zu kompensieren, was den Entwurf dieser FIR-Filter kompliziert. Für sehr schnelle Anwendungen bilden die Addierer des CIC-Filters den geschwindigkeitsbegrenzenden Faktor.
  • Weiterhin ist die in 1 gezeigte Struktur ziemlich inflexibel, so dass Filterbänke dann erforderlich sein können, wenn eine schnelle Variabilität der Filtercharakteristik (und demnach ein Variieren der Zahl der Stufen) erforderlich ist. Dies kompliziert weiter die Filterstruktur.
  • Der Artikel "FIR Filter zum Verarbeiten von Sigma-Deltamodulatorausgabegrößen", veröffentlicht in IBM Technical Disclosure Bulletin, Bd. 33, Nr. 6B, 1. November 1990 (1990-11-01), Seiten 168–171, offenbart ein FIR-Filter mit 2048-Abgriffen, dezimiert durch 128/1, was 2048/128 oder 16 Additionen pro Zyklus erfordert. Die Sigma-Delta-Modulatorausgabe bestimmt das Vorzeichen jeder Eingabe. Die Addierschritte müssen 128 mal wiederholt werden, jedes Mal mit einer unterschiedlichen Gruppe von Koeffizienten, um die Berechnung abzuschließen. Die abschließende Stufe akkumuliert die gesamten Ergebnisse über 128 Zyklen. Der oben verifizierte Artikel offenbart eine Implementierung des FIR-Filters mit 2048 Abgriffen, das eine Pipeline verwendet, die mit der Taktrate der Eingangsdaten betrieben wird. Es wird eine Ausgabeumsetzung bei jeweils 128 Zyklen erzeugt, der Zeit, die erforderlich ist, um eine Gruppe von 128 neuen Abgabeabtastpunkten zu sammeln.
  • Der Artikel "Realisierung von nicht-rekursiven Delta-Modulationsfiltern unter Verwendung von Nachschlagetabellen" von Kouvaras und Tanbourakis, veröffentlicht in I. E. E. Proceedings-G/Electronic Circuits and Systems, Band 134, Nr. 3, Juni 1987, Seiten 127–131, offenbart ein Nachschlagetabellen-Realisierungsverfahren für nicht-rekursive Delta-Modulations-(DM)-Filter. Jedes Filterverhalten lässt sich durch dasselbe Filternetzwek unter Änderung lediglich der ROM Inhalte erzielen, vorausgesetzt, dass die Zahl der Filterkoeffizienten nicht ein Maximum übersteigt. Die N Adresseingänge des ROMs werden durch die N verzögerten DM Abtastwerte gesteuert. Ein jedes derartiges N-Tuple bestimmt die Adresse, bei der der Wert von An gespeichert ist.
  • ZUSAMMENFASSUNG
  • Es ist demnach ein technisches Problem der vorliegenden Erfindung, verbesserte digitale Filtertechniken bereitzustellen.
  • in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung werden die vorangehenden und andere technische Probleme in Filtergeräten und Verfahren erzielt, die das Empfangen eines L-Blocks von 1-Bit-Daten-Abtastwerten umfassen, wobei L größer als 1 ist; und das Anwenden des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden von 2L Filterausgabewerten.
  • Das Anwenden des L-Bit-Blocks von 1-Bit-Daten-Abtastwerten zum Auswählen eines entsprechenden der 2L Filterausgabewerte enthält das Anwendungen jedes der L 1-Bit-Daten-Abtastwerte zum Bestimmen eines Produktswerts durch alternatives Auswählen eines entsprechenden Filterkoeffizienten oder einer Negation des Filterkoeffizienten; und das Erzeugen des entsprechenden einen der 2L Filterausgabewerte durch Zusammenaddieren der L Produktwerte.
  • Das Anwenden des L-Bit-Block der 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden einen der 2L Filterausgabewerte enthält ferner das Anwenden des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte zum Adressieren eines adressierbaren Speichers, in dem die 2L Filterausgabewerte gespeichert sind, wobei jeder L-Bit-Block der 1-Bit-Daten-Abtastwerte einen entsprechenden der 2L Filterausgabewerte adressiert, wodurch das Zuführen des adressierten Filterausgabewerts bei einem Ausgang des adressierbaren Speichers bewirkt wird. Die 2L Filterausgabewerte können 2L mögliche Summen der L Werte repräsentieren, und jeder Wert kann alternativ einen der L Filterkoeffizienten oder eine Negation des einen der L Filterkoeffizienten repräsentieren. Alternativ kann jeder Wert alternativ einen der L Filterkoeffizienten oder Null repräsentieren. Zusätzlich werden ein L-Bit-Schieberegister und ein L-Bit-Latchelement bzw. Latch verwendet.
  • Bei anderen Aspekten der Erfindung kann der einzige adressierbare Speicher durch mehrere kleinere Speicher ersetzt sein, der jeweils als eine Adresse eine entsprechende Untergruppe der Bits von dem L-Bit-Block der 1-Bit-Datenabtastwerte empfängt. Die Ausgangswerte der kleineren Speicher werden zum Erzeugen des Filterausgabewerts kombiniert.
  • Gemäß einem zusätzlichen anderen Aspekt der Erfindung kann das Verwenden des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden einen der 2L Filterausgabewerte das Verwenden einer Gruppe von m(i) Bits des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte enthalten, zum Adressieren eines entsprechenden einen einer Zahl, K, adressierbarer Speicher, wobei 1 ≤ i ≤ K gilt, und wobei in jedem adressierbaren Speicher hierin 2m(i) Teilfilterausgabewert gespeichert sind, und wobei jede Gruppe von m(i) Bits einen entsprechenden der 2m(i) Teilfilterausgabewert adressiert, wodurch das Zuführen eines adressierten Teilfilterausgabewerts bei einem Ausgang des adressierbaren Speichers bewirkt wird. Der entsprechende eine der 2L Filterausgabewerte wird dann durch Kombinieren der Tilfilterausgabewerte ausgehend von den K adressierbaren Speichern erzeugt. Bei einigen Ausführungsformen gilt m(i) = L/K für 1 ≤ i ≤ K. D. h., jeder der K Speicher kann dieselbe Zahl, L/K, von Bits von dem L-Bit-Block der 1-Bit-Daten-Abtastwerte empfangen.
  • Gemäß einem zusätzlichen, anderen Aspekt der Erfindung werden eine oder mehrere N-Bit-Blöcke der 1-Datenabtastwerte in einer kaskadierten Latchanordnung gehalten, wobei jeder der Latchschritte in Ansprechen auf ein Dezimiertaktsignal ausgeführt wird, das einmal für jeweils N Feststellungen einer Abtasttaktrate festgestellt wird. Gehaltene Werte für jedes der einen oder mehreren kaskadierten Latchelemente werden so zusammen gruppiert, dass sie zumindest einen Teil des L-Bit-Blocks der 1-Bit-Datenabtastwerte bilden.
  • Gemäß einem weiteren, anderen Aspekt der Erfindung ist ein zusätzliches Latchelement vorgesehen, das einen oder mehrere 1-Bit-Daten-Abtastwerte empfängt und hält, von einem Ausgang zumindest einer der einen oder mehreren kaskadierten Latchanordnung, wobei das zusätzliche Latchelement in Ansprechen auf das dezimierte Taktsignal arbeitet. Ein gehaltener Wert von dem zusätzlichen Latchelement wird zum Bilden zumindest eines Teils des L-Bit-Blocks der empfangenen 1-Bit-Datenabtastwerte verwendet. Das zusätzliche Latchelement ist dann nützlich, wenn L nicht ein ganzzahliges Vielfaches von N ist.
  • Gemäß einem weiteren, anderen Aspekt der vorliegenden Erfindung werden die 1-Bit-Datenabtastwerte seriell unter Steuerung eines Abtastungstakts empfangen. Ein N-Bit-Block der seriell empfangenen 1-Bit-Daten-Abtastwerte wird dann für die Anwendung in einem ersten der kaskadierten Latchelemente zugeführt.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Die technischen Probleme und Vorteile der Erfindung lassen sich anhand der Lektüre der folgenden detaillierten Beschreibung im Zusammenhang mit der Zeichnung verstehen; es zeigen:
  • 1 ein Blockschaltbild einer beispielhaften Implementierung nach dem Stand der Technik eines dreistufigen CIC-Filters;
  • 2 ein Blockschaltbild eines beispielhaften multipliziererlosen Dezimierfilters der Ordnung L in Übereinstimmung mit einem Aspekt der Erfindung;
  • 3 ein Blockschaltbild einer alternativen Ausführungsform eines multipliziererlosen Dezimierfilters in Übereinstimmung mit einem anderen Aspekt der vorliegenden Erfindung;
  • 4 ein Blockschaltbild einer weiteren, anderen Ausführungsform des multipliziererlosen Dezimierfilters in Übereinstimmung mit einem weiteren, anderen Aspekt der Erfindung; und
  • 5 ein Blockschaltbild einer zusätzlichen, anderen Ausführungsform des multipliziererlosen Dezimierfilters, das kaskadierte Filterstrukturen verwendet, in Übereinstimmung mit einem zusätzlichen, anderen Aspekt der Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • Die zahlreichen Merkmale werden nun im Hinblick auf auf die Figuren beschrieben, in denen gleiche Teile anhand derselben Bezugszeichen identifiziert sind.
  • Die 2 zeigt ein Blockschaltbild eines beispielhaften multipliziererlosen Dezimierfilters der Ordnung L in Übereinstimmung mit einem Aspekt der Erfindung. Ein L-Bit-Schieberegister 101 empfängt die 1-Bit-Eingangsdaten 103 bei dem Dateneingabeport. Das L-Bit-Schieberegister 101 wird mit einem schnellen Abtastungstakt 105 getaktet, der einmal für jeden Eingangsdatenwert festgestellt wird. Ein L-Bit-Latchelement 107 hat eine Dateneingabeport, der zum Empfangen einer L-Bit-Ausgabe von dem L-Bit-Schieberegister 101 gekoppelt ist. Das L-Bit-Latchelement 107 wird durch einen Dezimiertakt 109 getaktet, der einmal für jeweils N Zyklen des schnellen Abtasttaktes 105 festgestellt wird. Demnach wird jedes Mal dann, wenn eine Zahl von N 1-Bit-Eingabedaten- Abtastwerten (sequentiell) in das L-Bit-Schieberegister 101 geladen ist, ein Block von L-Daten-Abtastwerten in das Latchelement 107 getaktet.
  • Jeder der bei dem Ausgang des L-Bit-Latchelements 107 zugeführten L Werte muss mit einem entsprechenden der L Koeffizienten multipliziert werden, identifiziert als ax, 1 ≤ x ≤ L. Unter der Annahme, dass jeder gehaltene bzw. gelatchte Datenwert entweder den Wert "1" oder "–1" repräsentiert, ist jedes Produkt entweder der Koeffizient ax oder der Koeffizient –ax. Demnach ist in Übereinstimmung mit einem anderen Aspekt der Erfindung jede dieser Möglichkeiten bei einem Eingang eines Schalterst 111-1 ... 111-L vorgesehen. Jedes bei dem Ausgang des L-Bit-Latchelements 107 zugeführte Bit steuert den Schaltbetrieb eines entsprechenden der Schalter 111-1 ... 111-L, so dass das geeignete Produkt bei dem Ausgang des Schalters 111-1 ... 111-L zugeführt wird. D. h., das für den Filterbetrieb erforderliche Multiplizieren erfolgt durch Verwenden des Signalbits zum Auswählen entweder des positiven oder negativen Werts des entsprechenden Koeffizienten. Die Ausgaben von dem Schaltern 111-1 ... 111-L werden dann der Addiervorrichtung zugeführt, beispielsweise der dargestellten Vielzahl von Addierern 113-1 ... 113-L, zum Erzeugen des gefilterten und dezimierten Signals 115. Mit dieser Anordnung werden die Multiplizier- und Addierbetriebsschritte ausgeführt, während der nächste N-breite Block von 1-Bit-Abtastwerten gelesen wird. D. h., die Filterbetriebsschritte (Multiplikationen mit Koeffizienten und nachfolgendes Addieren) erfolgen bei der dezimierten Rate, unter Erzielung eines deutlich schnelleren Betriebs als übliche CIC-Filter, deren Addierer mit der schnellen Abtastraktrate arbeiten müssen.
  • Bei einem anderen Aspekt der Erfindung kann das Filter ferner vereinfacht sein, wie bei dem Blockschaltbild nach 3 dargestellt. Der Betrieb dieser Ausführungsform basiert auf der mathematischen Formulierung des Filterausgabesignals, y, insbesondere y = ± a1 ± a2 ± a3 ... ± aL. Jedes Vorzeichen der Koeffizienten wird durch den entsprechenden 1-Bitwert des Abtastsignals 103 ausgewählt. Die Gesamtzahl der Kombinationen der vorzeichenbehafteten Filterkoeffizienten und demnach der Y Werte ist 2L. Dies führt zu einer neuen Struktur, die nicht ein dynamisches Leistungsvermögen irgendeines arithmetischen Betriebs erfordert. Anstelle der Schalter 111-1 ... 111-L und der Addierer 113-1 ... 113-L ist ein adressierbarer Speicher 301 vorgesehen, in dem sämtliche 2L Filterkoeffizienten-Kombinationen gespeichert sind, bei Adressieren entsprechend jeder der möglichen L-Bit-Abtastgruppen, die bei dem Ausgang des L-Bit-Latchelements 107 bereitgestellt werden. Der L-Bit lange Signalblock von dem L-Bit-Halteelement bzw. Latchelement 107 wird dem Adressiereneingang des Speichers 101 zugeführt, so dass dieser den entsprechenden vorgespeicherten Ausgabewert y auswählt.
  • Mit größer und größer werdender Zahl der Bits, L, die in dem L-Bit-Latchelement 107 gespeichert sind, kann die Größe des Speichers 201 auf einen Wert größer als praktikabel bei einigen Ausführungsformen anwachsen. Demnach ist gemäß einem anderen Aspekt der Erfindung, dargestellt in 4, eine alternative Ausführungsform vorgesehen, in der eine Zahl von kleineren adressierbaren Speichern 301 die Stelle des einen größeren Speichers 201 annimmt. In dieser Ausführungsform werden die L Datenabtastwerte, zugeführt bei dem Ausgang des L-Bit-Latchelements 107, in K Blöcke unterteilt. Ist K ein Teiler von L, so adressiert jeder Block einen der Speicher 301, der 2L/K Koeffizientenkombinationen speichert. Eine Addiervorrichtung, beispielsweise die Vielzahl der Addierer 303, kombiniert die Ausgangsgrößen von der Vielzahl der Speicher 301. Die gesamte Speichergröße detektiert sich somit zu K × 2L/K, auf Kosten der Erfordernis von mehr Addierern, die mit der dezimierten Taktfrequenz arbeiten. Diese verteilte Struktur ist demnach eine Zwischenlösung von den oben beschriebenen und so, wie sie in 2 und 3 dargestellt sind. Obgleich die in 4 aufgegriffene Ausführungsform die Zahl der Bits, L/K, die jedem der Speicher 301 zugeführt wird, als gleich für alle Speicher 301 zeigt, muss dies nicht der Fall sein. D. h., bei alternativen Ausführungsformen besteht nicht eine Beziehung zwischen der Zahl K der Speicher 301 und der Zahl der irgendeinem Speicher zugeführten Bits. Bei diesen alternativen Ausführungsformen können unterschiedliche Zahlen von Bits unterschiedlichen Einheiten des Speicher 301 zugeführt werden, solange die Größe irgendeines vorgegebenen Speichers 301 groß genug ist, um einen vollständigen Adressraum bereitzustellen, wie er durch die Zahl der diesem zugeführten Adressbits definiert ist. Beispielsweise ist es bei L = 8 möglich, das Filter mit zwei Speichern 301 zu konstruieren, wobei ein erster zwei der Bits von dem L-Bit-Latchelement 107 empfängt, und ein zweiter die verbleibenden sechs Bit von dem L-Bit-Latchelement 107 empfängt. Bei diesem Beispiel würde der erste Speicher 305 zumindest 22 adressierbare Speicherstellen haben, während der zweite Speicher 301 zumindest 26 adressierbare Speicherstellen haben würden.
  • Für Filter der Ordnung L > N, lässt sich das L-Bit-Schieberegister zu einer Implementierung reduzieren, die keine höheren als N-Bit-Schieberegister verwendet. Dies ist vorteilhaft für praktische Implementierungen, da dieses Register mit der höchsten Geschwindigkeit (d. h., bei der schnellen Abtasttaktrate) läuft, und die Zahl der hochschnellen Komponenten sollte soweit wie möglich reduziert sein. Wie in der beispielhaften in 5 aufgegriffenen Ausführungsform gezeigt, ist das eine L-Bit-Latchelement 107 durch eine Vielzahl kaskadenverbundener N-Bit-Latchelemente ersetzt, wie erforderlich, zum Speichern der L unmittelbar zurückliegenden Werte des 1-Bit-Abtastwerts 103 (n < L). Jedes Latchelement 401 wird mit dem dezimierten Takt getaktet, und jedes (mit der Ausnahme des ersten Latchelements 401) empfängt die N-Bit-Ausgabe von dem vorangehenden Latchelement 401 in der Kaskade. Das erste Latchelement 401 in der Kaskade empfängt die N-Bit-Ausgabe in dem N-Bit-Schieberegister 101.
  • Die Ausgabe von jedem Latchelement 401 wird ferner einem entsprechenden Abschnitt des Adressports eines Speicherblocks 403 zugeführt. Der Speicherblock 403 hat hierin jede der möglichen Koeffizientenkombinationen in Korrespondenz zu den 2L möglichen Eingabeadresswerten gespeichert, die durch die Latchelemente 401 zugeführt werden können. Obgleich der Speicherblock 403 als einzelner Speicher aufgegriffen ist (wie der in 3 gezeigte), lässt er sich alternativ als eine Vielzahl von Speichern ausführen, die so, wie in 4 gezeigt, angeordnet sind, oder gemäß zusätzlichen anderen Alternativen kann er eine Struktur haben, wie sie in 2 dargestellt ist (d. h., eine Vielzahl von Schaltungen, jeweils alternativ einen Koeffizienten oder dessen Negation bei einem Ausgang zuführend, unter Steuerung eines 1-Bit- Abtastwerts).
  • Bei der in 5 gezeigten Struktur werden die N-Bit breiten Blöcke gegenüber einer gelatchten Stufe zu der nächsten mit einer Festlegung des dezimierten Takts 109 verschoben. Jedes Mal bei einem Ändern der Inhalte eines N-Bit-Latchelements 401 wird der neu gelatchte bzw. gehaltene Datenblock als ein Teil der Adresse in den Speicherblock 403 zugeführt. In Kombination wählen die Inhalte sämtlicher Latchelemente 401 einen anderen Wert von dem Speicherblock 403 aus. Der bei dem Ausgang des Speicherblocks zugeführte Wert bildet das gefilterte Signal. Die Filterordnung ist L, und M die Zahl der Stufen in der Kaskade. L muss nicht ein ganzzahliges Vielfaches von N sein, so dass das letzte Latchelement 401-M kleiner sein kann als die ersten einzelnen. In einer solchen Situation sollte die Größe des letzten Latchelements 401-M entsprechend reduziert sein, so dass dessen Ausgabe nicht einen Zugriff auf einen Adressraum versucht, der größer ist als ihn der Speicherblock 403 speichern kann. Insbesondere sei L = Q·N + R, mit Q als ganzer Zahl, und R < N. Ist L ein ganzzahliges Vielfaches von N, dann gilt R = 0, und die Gesamtzahl, M, der erforderlichen Latchelemente ist Q, jedes als ein N-Bit-Latchelement 401. In diesem Fall wird das in 5 aufgegriffene letzte Latchelement 401-M nicht verwendet.
  • Ist L nicht ein ganzzahliges Vielfaches von N, so ist R jedoch ein Nicht-Null-Restwert, bestimmt durch R = (L – Q·N). Die in diesem Fall erforderliche Gesamtzahl, M, der Latchelemente beträgt Q + 1. Von diesen sind Q N-Bit-Latchelemente 401, und das letzte Latchelement 401-M (d. h., Latchzahl Q + 1) sollte eine Größe gleich R haben.
  • Die hier offenbarten beispielhaften Filterstrukturen sind multipliziererlos und führen arithmetische Addierbetriebsschritte bei der dezimierten Taktrate aus. Demnach sind sie viel schneller als CIC-Filter, die bei Anwendungen aus dem Stand der Technik verwendet werden. Weiterhin ist es aufgrund der Tatsache, dass die hier offenbarten Filtertechniken eine allgemeine FIR-Filterung anwenden, nicht erforderlich, spezielle Filtercharakteristiken zu akzeptieren, beispielsweise die sind(x)/x Frequenzbereichsform eines üblichen CIC-Filters. Anstelle hiervon kann das Filter direkt für die beste Charakteristik entworfen sein. Geschwindigkeitsverbesserungen sowie Energiereduktionen werden erzielt, zum Teil durch die Substitution eines passiven Speicherlesebetriebs für die aktiven Multiplizierbetriebsschritte, die normalerweise einem digitalen Filtern zugewiesen sind. Die Verzögerung durch das Filter ist ebenso sehr niedrig, da die Eingangsrate hoch ist.
  • Die erfindungsgemäßen Filtertechniken, die hier offenbart sind, ermöglichen auch den Vorteil der vielfältigen Verwendungsmöglichkeit, da unterschiedliche Filtercharakteristiken einfach in einem Speicher gespeichert und mit zusätzlichen Adressbits ausgewählt werden können. Eine derartige Anordnung würde das unmittelbare Schalten der Filtercharakteristik ermöglichen.
  • Die Erfindung wurde unter Bezug auf eine bestimmte Ausführungsform beschrieben. Jedoch ist für den Fachmann deutlich erkennbar, dass es möglich ist, die Erfindung in spezifischen Formen auszuführen, anders als die oben beschriebene bevorzugte Ausführungsform. Die bevorzugte Ausführungsform ist lediglich darstellend und sie sollte nicht als in irgendeiner Weise einschränkend angesehen werden. Der Schutzbereich ist durch die angefügten Ansprüche angegeben, anstelle der vorangehenden Beschreibung, und sämtliche Variationen und Äquivalente, die in den Bereich der Ansprüche fallen, werden als von diesen umfasst beabsichtigt.

Claims (18)

  1. Digitales Dezimierfilter mit L-Koeffizienten, enthaltend: ein L-Bit-Schieberegister (24: 101) zum seriellen Empfangen von 1-Bit-Daten-Abtastwerten (103) unter der Steuerung eines Abtasttaktes (105); ein L-Bit-Latchelement, gekoppelt zum Empfangen eines Blocks der 1-Bit-Daten-Abtastwerte von einem Parallelausgang des L-Bit-Schieberegisters, zum Zuführen eines L-Bit-Blocks der 1-Bit-Daten-Abtastwerte zu einer Auswahlvorrichtung, wobei das L-Bit-Latchelement (107) einen Latchbetrieb unter Steuerung eines dezimierten Takts (109) ausführt, der einmal für sämtliche N Feststellungen des Abtasttaktes (105) festgestellt ist, wobei N einen Dezimierfaktor bezeichnet; und die Auswahlvorrichtung (111-1 ... 111-L, 113-1 ... 113-L; 201; 301; 303; 403) zum Anwenden des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte dient, zum Auswählen eines entsprechenden der 2L Filterausgangswerte.
  2. Ein digitales Dezimierfilter mit K Koeffizienten, enthaltend: ein N-Bit-Schieberegister (5: 101) für das serielle Empfangen von 1-Bit-Daten-Abtastwerten (103) unter der Steuerung eines Abtasttakts (105), wobei N einen Dezimierfaktor bezeichnet; ein oder mehrere kaskadenverbundene N-Bit-Latchelemente (401), gekoppelt zum Empfangen eines Blocks der 1-Bit-Daten-Abtastwerte von einem Parallelausgang des N-Bit-Schieberegisters, zum Zuführen eines L-Bit-Blocks der 1-Bit-Daten-Abtastwerte zu einer Auswahlvorrichtung, wobei jedes einzelne oder der mehreren kaskadenverbundenen 1-Bit-Latchelemente sich zum Speichern eines N-Bit-Blocks der 1-Bit-Daten-Abtastwerte eignet und einen Latchbetrieb unter der Steuerung eines dezimierten Takts (109) ausführt, der einmal für jeweils N Feststellungen des Abtasttaktes (105) festgestellt ist, und wobei die Ausgangsgrößen von jedem einzelnen oder mehreren kaskadenverbundenen N-Bit-Latchelementen zusammen gruppiert sind, zum Bilden zumindest eines Teils des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte; und die Auswahlvorrichtung (111-1 ... 111-L, 113-1 ... 113-L; 201; 301; 303; 403) zum Anwenden des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte dient, zum Auswählen eines entsprechenden der 2L Filterausgabewerte.
  3. Das digitale Dezimierfilter nach Anspruch 2, ferner enthaltend ein zusätzliches Latchelement (401-M), gekoppelt zum Empfangen und zum Halten von einem oder mehreren 1-Bit-Daten-Abtastwerten von einem Ausgang und zumindest einem des einzelnen oder der mehreren kaskadenverbundenen N-Bit-Latchelemente, wobei das zusätzliche Latchelement einen Latchbetrieb in Ansprechen auf den dezimierten Takt (109) ausführt, und wobei eine Ausgabe von dem zusätzlichen Latchelement zumindest einen Teil des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte bildet.
  4. Das digitale Dezimierfilter nach einem der Ansprüche 1 bis 3, wobei die Auswahlvorrichtung enthält: eine Zahl, L, von Schaltern, (111-1, 111-2, ..., 111-L), jeweils für das selektive Ausgeben eines Filterkoeffizienten (a1, a2, ..., aL) oder einer Negation des Filterkoeffizienten, wobei die Auswahl durch einen entsprechenden der 1-Bit-Daten-Abtastwerte des L-Bit-Blocks gesteuert ist; und eine Vorrichtung (113-1, 113-2, ... 113-L) zum Erzeugen des entsprechenden einen der 2L Filterausgabewerte (115) durch Zusammenaddieren der Ausgangsgrößen der L-Schalter.
  5. Das digitale Dezimierfilter nach einem der Ansprüche 1 bis 3, wobei die Auswahlvorrichtung enthält: einen adressierbaren Speicher (201) mit einem Adressport, gekoppelt zum Empfangen des L-Bitblocks der 1-Bit-Daten-Rbtastwerte, und mit hierin gespeicherten 2L Filterausgabewerten, wobei jeder L-Bit-Block der 1-Bit-Daten-Abtastwerte einen entsprechenden der 2L Filterausgabewerte adressiert, wodurch das Zuführen des adressierten Filterausgabewerts bei einem Ausgang des adressierbaren Speichers bewirkt wird.
  6. Das digitale Dezimierfilter nach Anspruch 5, wobei die 2L Filterausgabewerte 2L mögliche Summen der L Werte repräsentieren, wobei jeder Wert der L Werte durch einen der L Filterkoeffizienten oder eine Negation des einen der L Filterkoeffizienten gegeben ist.
  7. Das digitale Dezimierfilter nach Anspruch 5, wobei die 2L Filterausgabewerte 2L mögliche Summen der L Werte repräsentieren, wobei jeder Wert der L Werte durch einen der L Filterkoeffizienten oder Null gegeben ist.
  8. Das digitale Dezimierfilter nach einem der Ansprüche 1 bis 3, wobei die Auswahlvorrichtung enhthält: eine Zahl, K, von adressierbaren Speichern (301), jeweils mit einem Adressport gekoppelt, zum Empfangen einer entsprechenden Gruppe von m(i) Bits des L-Bit-Blocks der 1-Bit-Daten-Abtastwerte, wobei gilt 1 ≤ i ≤ K, und jeweils mit hierin gespeicherten 2m(i) Teilfilterausgabewerten, wobei jede Gruppe der m(i) Bits einen entsprechenden der 2m(i) Teilfilterausgabewerte adressiert, wodurch das Zuführen eines adressierten Teilfilterausgabewerts zu eine Ausgang des adressierbaren Speichers bewirkt wird; und eine Vorrichtung (303) zum Erzeugen des entsprechenden einen der 2L Filterausgabewerte durch Zusammenaddieren der Teilfilterausgabewerte von den K adressierbaren Speichern.
  9. Das digitale Dezimierfilter nach Anspruch 8, wobei m(i) = L/K für 1 ≤ i ≤ K.
  10. Ein digitales Dezimierfilter-Verfahren, enthaltend die Schritte: serielles Empfangen von 1-Bit-Daten-Abtastwerten (103) in einem L-Bit-Schieberegister (24: 101) unter Steuerung eines Abtasttaktes (105), wobei L eine Zahl von Filterkoeffizienten bezeichnet; Halten eines Blocks der 1-Bit-Daten-Abtastwerte von einem Parallelausgang des L-Bit-Schieberegisters in einem L-Bit-Latchelement (107), zum Zuführen eines L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zu einem Schritt zum Verwenden des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte, wobei das Halten unter der Steuerung eines dezimierten Takts (109) ausgeführt wird, der einmal für jeweils N Feststellungen des Abtasttakts (105) festgestellt wird, wobei N einen Dezimierfaktor bezeichnet; und Verwenden des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden der 2L Filterausgabewerte.
  11. Ein digitales Dezimierfilter-Verfahren, enthaltend die Schritte von: serielles Empfangen von 1-Bit-Daten-Abtastwerten (103) in einem N-Bit-Schieberegister (5: 101) unter der Steuerung eines Abtasttakts (105), wobei N einen Dezimierfaktor bezeichnet; einen oder mehrere kaskadierten N-Bit-Halteschritte, wobei jeder N-Bit-Halteschritt das Speichern eines N-Bit-Blocks der 1-Bit-Daten-Rbtastwerte in einem N-Bit-Latchelement (401) umfasst, und wobei jeder N-Bit-Halteschritt unter der Steuerung eines dezimierten Takts (109) ausgeführt wird, der einmal für jeweils N Feststellungen des Abtasttakts (105) festgestellt wird, und wobei ein erster des einen oder der mehreren der kaskadierten N-Bit-Halteschritte das Speichern eines N-Bit-Blocks der 1-Bit-Daten-Abtastwerte von einem Parallelausgang des N-Bit-Schieberegisters in ein erstes der N-Bit-Halteelemente umfasst; Zusammengruppieren der N-Bit gehaltenen Werte von jedem des einen oder der mehreren kaskadierten N-Bit-Halteschritte zum Bilden zumindest eines Teils eines L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte, wobei L eine Zahl von Filterkoeffizienten bezeichnet; und Verwenden des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden der 2L Filterausgabewerte.
  12. Das Verfahren nach Anspruch 11, ferner enthaltend einen zusätzlichen Halteschritt, der die Schritte zum Empfangen und Halten von einem oder mehreren 1-Bit-Daten-Abtastwerte umfasst, von einem Ausgang zumindest eines des einen oder der mehreren kaskadierten N-Bit-Halteschritte, wobei der zusätzliche Halteschritt in Ansprechen auf den dezimierten Takt (109) ausgeführt wird, und Verwenden eines gehaltenen Werts von dem zusätzlichen Halteschritt zum Bilden zumindest eines Teils des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte.
  13. Das Verfahren nach einem der Ansprüche 10 bis 12, wobei der Schritt zum Verwenden des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden einen der 2L Filterausgabewerte die Schritte enthält: Verwenden jedes der gehaltenen 1-Bit-Daten-Abtastwerte in dem L-Bit-Block zum Bestimmen eines Produktwerts durch alternatives Auswählen eines entsprechenden Filterkoeffizienten (a1, a2, ..., aL) oder einer Negation des Filterkoeffizienten; und Erzeugen des entsprechenden einen der 2L Filterausgabewerte (115) durch Zusammenaddieren der L Produktwerte.
  14. Das Verfahren nach einem der Ansprüche 10 bis 12, wobei der Schritt zum Abtastwert des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden einen der 2L Filterausgabewerte die Schritte enthält: Verwenden des L-Bit-Blocks und der gehaltenen 1-Bit-Daten-Abtastwerte zum Adressieren eines adressierbaren Speichers (201) mit hierin gespeicherten 2L Filterausgabewerten, wobei jeder L-Bit-Block der gehaltenen 1-Bit-Daten-Abtastwerte einen entsprechenden einen der 2L Filterausgabewerte adressiert, wobei das Zuführen des adressierten Filterausgabewerts bei einem Ausgang des adressierbaren Speichers bewirkt wird.
  15. Das Verfahren nach Anspruch 14, wobei die 2L Filterausgabewerte 2L mögliche Summen der L Werte repräsentieren, und jeder Wert der L Werte als einer der L Filterkoeffizienten oder eine Negation des einen der L Filterkoeffizienten gegeben ist.
  16. Das Verfahren nach Anspruch 14, wobei die 2L Filterausgabewerte 2L mögliche Summen der L Werte repräsentieren, und jeder Wert der L Werte durch einen der L Filterkoeffizienten oder Null gegeben ist.
  17. Das Verfahren nach einem der Ansprüche 10 bis 12, wobei der Schritt zum Verwenden des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Auswählen eines entsprechenden einen der 2L Filterausgabewerte die Schritte enthält: Verwenden einer Gruppe von m(i) Bits des L-Bit-Blocks der gehaltenen 1-Bit-Daten-Abtastwerte zum Adressieren eines entsprechenden einen einer Zahl, K, von adressierbaren Speichern (301), wobei 1 ≤ i ≤ K, und wobei jeder adressierbarer Speicher hierin 2m(i) Teilfilterausgabewerte gespeichert hat, wobei jede Gruppe von m(i) Bits einen entsprechenden einen der 2m(i) Teilfilterausgabewerte adressiert, wodurch das Zuführen eines adressierten Teilfilterausgabewertes bei einem Ausgang des adressierbaren Speichers bewirkt wird; und Erzeugen des entsprechenden einen der 2L Filterausgabewerte durch Zusammenaddieren der Teilfilterausgabewerte von den K adressierbaren Speichern.
  18. Das Verfahren nach Anspruch 17, wobei m(i) = L/K für 1 ≤ i ≤ K.
DE69914087T 1998-08-07 1999-07-15 Digitales filter ohne multiplizierer Expired - Lifetime DE69914087T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US131336 1993-10-04
US09/131,336 US6202074B1 (en) 1998-08-07 1998-08-07 Multiplierless digital filtering
PCT/EP1999/005004 WO2000008756A1 (en) 1998-08-07 1999-07-15 Multiplierless digital filtering

Publications (2)

Publication Number Publication Date
DE69914087D1 DE69914087D1 (de) 2004-02-12
DE69914087T2 true DE69914087T2 (de) 2004-11-25

Family

ID=22448994

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69914087T Expired - Lifetime DE69914087T2 (de) 1998-08-07 1999-07-15 Digitales filter ohne multiplizierer

Country Status (12)

Country Link
US (1) US6202074B1 (de)
EP (1) EP1105967B1 (de)
JP (1) JP4445132B2 (de)
KR (1) KR20010053625A (de)
CN (1) CN100452651C (de)
AR (1) AR019995A1 (de)
AT (1) ATE257629T1 (de)
AU (1) AU752664B2 (de)
CA (1) CA2339799A1 (de)
DE (1) DE69914087T2 (de)
TW (1) TW423214B (de)
WO (1) WO2000008756A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425418B1 (ko) * 2001-09-07 2004-03-30 삼성탈레스 주식회사 룩업 테이블을 이용한 블록 보간 필터 구조
US6489913B1 (en) 2001-09-24 2002-12-03 Tektronix, Inc. Sub-ranging analog-to-digital converter using a sigma delta converter
KR100419791B1 (ko) * 2002-06-14 2004-02-25 피앤피네트워크 주식회사 유한 임펄스응답 필터
US7395291B2 (en) * 2004-02-24 2008-07-01 The University Of Hong Kong Multiplierless correlators for HIPERLAN/2 and IEEE 802.11A wireless local area networks
DE102004062291B4 (de) * 2004-12-23 2010-04-08 Austriamicrosystems Ag FIR-Dezimationsfilter und Anordnung mit demselben
US7933943B2 (en) 2005-12-06 2011-04-26 Electronics And Telecommunications Research Institute Multiplierless FIR digital filter and method of designing the same
JP4692461B2 (ja) * 2006-10-11 2011-06-01 ソニー株式会社 受信機、受信方法、フィルタ回路、制御方法
JP4296518B2 (ja) * 2006-12-07 2009-07-15 ソニー株式会社 情報処理装置および情報処理方法
US8165214B2 (en) * 2007-05-08 2012-04-24 Freescale Semiconductor, Inc. Circuit and method for generating fixed point vector dot product and matrix vector values
JP5015833B2 (ja) * 2008-03-21 2012-08-29 株式会社デンソー Cicフィルタ,フィルタシステム及び衛星信号受信回路
KR101286769B1 (ko) 2009-12-15 2013-07-16 한국전자통신연구원 계수 평균화 기법을 적용한 계수 곱셈기 및 이를 이용한 디지털 델타-시그마 변조기
CN101800526B (zh) * 2010-04-20 2012-07-04 华为技术有限公司 滤波方法及滤波器
GB2524051A (en) * 2014-03-12 2015-09-16 Univ Ljubljana Apparatus and method for filtering digital signals
CN104065361B (zh) * 2014-06-03 2016-08-17 北京空间机电研究所 一种用于消除毛刺信号的串行级联单比特滤波器结构
EP3588779B1 (de) * 2018-06-22 2021-02-24 Menta Digitaler signalprozessor und verfahren zum betrieb

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2116224B1 (de) * 1970-10-29 1974-10-31 Ibm France
FR2188367B1 (de) * 1972-06-01 1980-03-21 Ibm France
JPH05235699A (ja) * 1992-02-24 1993-09-10 Kenwood Corp サンプリング周波数変換装置
CA2160045C (en) * 1994-10-13 1999-04-27 Thad J. Genrich Parallel cascaded integrator-comb filter
US5838725A (en) * 1996-12-06 1998-11-17 U.S. Philips Corporation Floating point digital transversal filter

Also Published As

Publication number Publication date
TW423214B (en) 2001-02-21
JP4445132B2 (ja) 2010-04-07
CN100452651C (zh) 2009-01-14
DE69914087D1 (de) 2004-02-12
AU5282499A (en) 2000-02-28
JP2002522939A (ja) 2002-07-23
ATE257629T1 (de) 2004-01-15
AU752664B2 (en) 2002-09-26
CA2339799A1 (en) 2000-02-17
KR20010053625A (ko) 2001-06-25
EP1105967B1 (de) 2004-01-07
EP1105967A1 (de) 2001-06-13
WO2000008756A1 (en) 2000-02-17
CN1311921A (zh) 2001-09-05
AR019995A1 (es) 2002-03-27
US6202074B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
DE69914087T2 (de) Digitales filter ohne multiplizierer
DE69736444T2 (de) Effiziente Mehrkanalfilterung für CDMA-Modems
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE3044208C2 (de) Interpolator zur Erhöhung der Wortgeschwindigkeit eines digitalen Signals
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
EP0453582B1 (de) Medianfilter
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE2628473A1 (de) Digitales faltungsfilter
DE3116042A1 (de) Digitalfiltervorrichtung
EP0234452A1 (de) Digitale Schaltungsanordung zur Abtastratenänderung und Signalfilterung und Verfahren zu ihrem Entwurf
DE10250555A1 (de) Verfahren zur Ermittlung von Filterköffizienten eines digitalen Filters und digitales Filter
DE2900844C2 (de)
DE3922469C2 (de)
DE2451235A1 (de) Schaltungsanordnung fuer ein digitales filter
EP0305708B1 (de) Digitales Dezimierungsfilter
DE2622561C2 (de) Interpolierendes nichtrekursives Digitalfilter
DE3602585A1 (de) Filter
DE69821145T2 (de) Flächeneffiziente herstellung von koeffizient-architektur für bit-serielle fir, iir filter und kombinatorische/sequentielle logische struktur ohne latenz
EP0090904B1 (de) Schaltungsanordnung für seriell arbeitende Digitalfilter
DE19637369C2 (de) Digitaler Signalprozessor mit Multipliziereinrichtung und -Verfahren
CH655213A5 (de) Sprachverarbeitungsgeraet fuer teilnehmerleitungen.
DE4022381C2 (de) Verwendung langer Digitalfilter bei Vorkommnis von Abrundungsfehlern
EP0489952B1 (de) Schaltungsanordnung zur digitalen Bit-seriellen Signalverarbeitung
DE2947616C2 (de) Wellendigitalfilter
DE69821144T2 (de) Flächeneffiziente herstellung von koeffizientarchitektur für bit-serielle fir, iir filter und kombinatorische/sequentielle logische struktur ohne latenz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition