DE69800593T2 - Mehrkanalregister für Koeffizienten in Filtern - Google Patents

Mehrkanalregister für Koeffizienten in Filtern

Info

Publication number
DE69800593T2
DE69800593T2 DE69800593T DE69800593T DE69800593T2 DE 69800593 T2 DE69800593 T2 DE 69800593T2 DE 69800593 T DE69800593 T DE 69800593T DE 69800593 T DE69800593 T DE 69800593T DE 69800593 T2 DE69800593 T2 DE 69800593T2
Authority
DE
Germany
Prior art keywords
register file
buffer
channel register
coefficient value
memory
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
DE69800593T
Other languages
English (en)
Other versions
DE69800593D1 (de
Inventor
Patrik Larsson
Christopher John Nicol
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE69800593D1 publication Critical patent/DE69800593D1/de
Publication of DE69800593T2 publication Critical patent/DE69800593T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • 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
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0264Filter sets with mutual related characteristics
    • H03H17/0266Filter banks
    • H03H17/0269Filter banks comprising recursive filters

Landscapes

  • Complex Calculations (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

  • Die vorliegende Erfindung betrifft Mehrkanalregisterfiles und Verfahren zur Verwendung eines Mehrkanalregisterfile in Verbindung mit einem adaptiven FIR-Filter.
  • Adaptive Filter mit endlicher Impulsantwort (FIR-Filter) des Stands der Technik verwenden feste Verzögerungsleitungen zur Zirkulation der Koeffizienten. Solche Verzögerungsleitungen werden unter Verwendung einer Reihe flankengetriggerter Flipflops implementiert. Als Folge verbrauchen die Verzögerungsleitungen des Stands der Technik mehr Strom als wünschenswert ist.
  • In der gleichzeitig anstehenden US-Patentanmeldung mit der Laufnummer 08/937665 (entsprechend BP 98307221.6) dienen Mehrkanalregisterfiles zur Implementierung der Koeffizientenspeicherung und zur Bereitstellung der Verzögerungen in den Koeffizienten, die für den Filterbetrieb notwendig sind. Ein Mehrkanalregisterfile ist ein Speicher, der in der Regel klein ist, z. B. mit einer Kapazität für vier Wörter, mit mindestens einem Leseport und einem Schreibport. In das Mehrkanalregisterfile geschriebene Daten können aus diesem in jeder beliebigen Reihenfolge herausgelesen werden. Das Mehrkanalregisterfile kann zusätzliche Ausgangsports aufweisen, aus denen darin gespeicherte Daten ebenfalls in jeder gewünschten Reihenfolge und unabhängig von der Reihenfolge jeglicher anderer Ausgangsports herausgelesen werden können. In bezug auf Koeffizienten führt jedes Mehrkanalregisterfile Daten aus einem Ausgangsport dem Multiplizier-/Addier-Teil seiner zugeordneten Stufe des FIR-Filters zu. In bezug auf ein adaptives Filter führt jedes Mehrkanalregisterfile Daten aus einem anderen Ausgang der Aktualisierungseinheit für diesen Koeffizienten zu. Man beachte, daß diese Ausgangsports gleich sein können, und andernfalls können die ihnen zugeführten Daten gleich sein. Bei der Verwendung für Koeffizienten ist es nicht notwendig, das Mehrkanalregisterfile in der Lookthrough-Betriebsart zu betreiben, die in der gleichzeitig anstehenden Anmeldung beschrieben wird.
  • Wenn das FIR-Filter ein adaptives Filter mit aktualisierbaren Koeffizienten ist, ist es notwendig, über eine Aktualisierungseinheit zu verfügen, die neue Koeffizientenwerte berechnet. Eine solche Aktualisierungseinheit enthält eine Überlauf-/ Unterlauf-Erkennungs- und/oder Sättigungseinheit, mit der katastrophale Fehler in dem Filter verhindert werden, die auftreten könnten, wenn ein Überlauf oder Unterlauf stattfindet, oder ist dieser zugeordnet. Solche Fehler können aufgrund der Beschaffenheit herkömmlicher Verfahren zur Durchführung von Arithmetik unter Verwendung von Binärzahlen auftreten. Wenn zum Beispiel zwei große positive Zahlen, die unter Verwendung der Zweierkomplementdarstellung dargestellt werden, addiert werden, könnte das Ergebnis als eine negative Zahl erscheinen, was offensichtlich falsch ist. Eine Überlauf-/Unterlauf-Erkennungseinheit und/oder Sättigung verhindert dieses Problem, indem als Ausgabe abhängig von ihrer Ausführung eines von folgendem zugeführt wird: a) Flags, die anzeigen, ob ein Überlauf oder Unterlauf aufgetreten ist; b) ein Wert, der die größte darstellbare positive oder negative Zahl als einen Sättigungswert darstellt; oder c) das tatsächliche Ergebnis der Berechnung. Diese Überlauf-/Unterlauf- Erkennungs- und/oder Sättigungseinheit liegt in dem kritischen Weg der Koeffizientenaktualisierungsschaltkreise, d. h. liegt in dem Weg, der die maximale Geschwindigkeit bestimmt, mit der die Aktualisierung durchgeführt werden kann. Die Geschwindigkeit, mit der der Überlauf-/Unterlauf-Erkennungs- und/oder Sättigungsprozeß durchgeführt werden kann, begrenzt somit die Geschwindigkeit des Aktualisierungsprozesses.
  • Patent Abstracts of Japan, Publikation Nr. 62284512 zeigt die Verwendung eines Mehrkanalspeichers in einem digitalen Filter.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Mehrkanalregisterfile nach Anspruch 1 bereitgestellt.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 5 bereitgestellt.
  • Die Verfasser haben festgestellt, daß verbesserte Mehrkanalregisterfiles zur Speicherung von Koeffizienten in adaptiven FIR-Filtern verwendet werden können. Die Mehrkanalregisterfiles der gleichzeitig anstehenden Anmeldung des Stands der Technik werden dadurch verbessert, daß in sie rechnerische Fähigkeiten, z. B. die Fähigkeit zur Durchführung der Berechnung an Koeffizientenwerten oder ihren Ableitungen oder zur Steuerung der an ihnen durchgeführten Operationen integriert werden. Bei einer Ausführungsform enthält das Mehrkanalregisterfile eine Überlauf-/Unterlauf-Erkennungs- und/oder Sättigungseinheit. Bei einer anderen Ausführungsform enthält das Mehrkanalregisterfile einen speziellen Codierer, mit dem der Multiplikationsprozeß beschleunigt wird, z. B. den sogenannten "Booth"-Codierer. Bei noch einer anderen Ausführungsform enthält das Mehrkanalregisterfile einen Umsetzer zum Wechseln der Darstellung der Koeffizienten, z. B. einen Zweierkomplement/Vorzeichen- Betrag-Umsetzer. Alle in dem Mehrkanalregisterfile durchgeführten Berechnungen können außerhalb des kritischen Wegs der Filterung oder der Koeffizientenaktualisierung durchgeführt werden. Unter Verwendung solcher verbesserter Mehrkanalregisterfiles können vorteilhafterweise adaptive FIR-Filter aufgebaut werden, die schneller und mit geringerer Stromaufnahme als die der gleichzeitig anstehenden Anmeldung des Stands der Technik arbeiten.
  • Kurze Beschreibung der Zeichnung
  • Es zeigen:
  • Fig. 1 ein beispielhaftes Mehrkanalregisterfile, das zur Speicherung von Koeffizienten in einem Filter mit endlicher Impulsantwort (FIR-Filter) verwendet werden kann;
  • Fig. 2 eine vereinfachte Ansicht des Mehrkanalregisterfiles von Fig. 1 zusammen mit einer Koeffizientenaktualisierungseinheit und einer Koeffiziententaktung;
  • Fig. 3 ein Impulsdiagramm für den Betrieb der vereinfachten Ansicht des Mehrkanalregisterfiles von Fig. 1; und
  • Fig. 4 eine Ausführungsform der
  • Überlauf/Unterlauf-Erkennungs- und/oder Sättigungseinheit zur Verwendung in dem Mehrkanalregisterfile von Fig. 1.
  • Ausführliche Beschreibung
  • Fig. 1 zeigt ein beispielhaftes Mehrkanalregisterfile, das zur Speicherung von Koeffizienten in einer Stufe eines Filters mit endlicher Impulsantwort (FIR-Filters) verwendet werden kann.
  • Ein Mehrkanalregisterfile ist ein Speicher, der in der Regel klein ist, z. B. mit einer Kapazität von vier Wörtern, mit mindestens einem Leseport und einem Schreibport. In das Mehrkanalregisterfile geschriebene Daten können aus diesem in jeder beliebigen Reihenfolge herausgelesen werden. Das Mehrkanalregisterfile kann zusätzliche Ausgangsports aufweisen, aus denen darin gespeicherte Daten ebenfalls in jeder, gewünschten Reihenfolge und unabhängig von der Reihenfolge jeglicher anderer Ausgangsports herausgelesen werden können.
  • Genauer zeigt Fig. 1 ein Mehrkanalregisterfile 101 mit einem Speicher 103, der Speicherstellen 103-1 bis 103-H aufweist, einer Berechnungseinheit 105 und Zwischenspeichern 107, darunter Zwischenspeicher 107-1 bis 107-K.
  • H, die Anzahl von Speicherstellen in dem Mehrkanalregisterfile ist zwar willkürlich je nach Wunsch des Filterentwicklers wählbar, ist aber in der Regel eine kleine Zahl, z. B. 4. Ein kleiner Wert von H ermöglicht effiziente FIR-Filterimplementierungen - im Vergleich zu anderen Alternativen zur Implementierung von FIR-Filtern - zur Verarbeitung von Signalen mit einer Abtastrate, die in der Größenordnung der schnellsten Taktfrequenzen in dem System liegt, wie zum Beispiel bei Modems zur Verwendung beim Breitbandzugriff.
  • Daten werden über den Schreibport W, der N Datenleitungen enthält, in das Mehrkanalregisterfile 101 geschrieben. Die konkrete der Speicherstellen 103, in die an dem Schreibport W vorliegende Daten geschrieben werden, wird durch den Schreibadreßport WA angegeben.
  • Daten werden über einen beliebigen von Leseports R, darunter die Leseports R&sub1; bis Rk, aus dem Mehrkanalregisterfile 101 herausgelesen. Jeder der Leseports R&sub1; bis Rk enthält eine jeweilige Anzahl von Datenleitungen M&sub1; bis Mk. Gegebenenfalls kann eine weniger präzise Darstellung eines in dem Mehrkanalregisterfile 101 gespeicherten Werts aus diesem herausgelesen werden. Die konkrete der Speicherstellen 103, aus der Daten zur Weiterleitung zu einem beliebigen der Leseports R&sub1; bis Rk herausgelesen werden, wird durch eine Adresse angegeben, die dem entsprechenden, z. B. gleich bezifferten, der Leseadreßports RA&sub1; bis RAk zugeführt wird. Es ist kein Leseaktivierungssignal notwendig, um zu bewirken, daß an einem beliebigen der Leseports R&sub1; bis Rk eine Ausgabe erscheint. Einfaches Zuführen der entsprechenden Leseadresse reicht aus, um die entsprechende Ausgabe zu erzeugen. Die Schreibadresse WA und die Leseadresse RA&sub1; bis RAk weisen in der Regel dieselbe Anzahl von Adressleitungen L auf.
  • Wann und ob Daten in das Mehrkanalregisterfile 101 geschrieben werden, ist eine Funktion des Werts des Schreibfreigabesignals WE. Wenn WE einen ersten Wert aufweist, werden Daten in das Mehrkanalregisterfile 101 geschrieben. Wenn WE den komplementären Wert des ersten Werts aufweist, werden Daten nicht in das Mehrkanalregisterfile 101 geschrieben.
  • Daten können gleichzeitig in das Mehrkanalregisterfile 101 geschrieben und aus diesem herausgelesen werden. Genauer können gleichzeitig Daten in dieselbe konkrete der Speicherstellen 103 geschrieben und aus dieser herausgelesen werden. Somit kann ein erster Wert in eine konkrete der Speicherstellen 103 geschrieben werden, während gleichzeitig ein anderer Wert aus dieser selben konkreten Speicherstelle herausgelesen und einem oder mehreren der Leseports R&sub1; bis Rk zugeführt werden kann.
  • Die Zwischenspeicher 107 sind herkömmliche pegelempfindliche Zwischenspeicher, die zum Beispiel von N. Weste und K. Eshraghian auf Seiten 19-21 von Principles of CMOS VLSI Design, 2. Auflage, Addison Wesley, 1992, beschrieben werden. Somit kann jede beliebige der Speicherstellen 103 als ein Hauptzwischenspeicher dienen, während ein beliebiger der Zwischenspeicher 107 als ein Nebenzwischenspeicher dienen kann, um ein flankengetriggertes Flipflop zu bilden, wobei die Berechnungseinheit 105 dazwischen angeordnet ist.
  • Fig. 2 zeigt eine vereinfachte Ansicht des Mehrkanalregisterfiles 101, wobei nur zwei Speicherstellen 103 mit nur einem einzigen Leseport und einem einzigen Schreibport gezeigt sind. Außerdem ist das Taktsignal (CLK) gezeigt, mit dem der Betrieb und der Datentransfer zwischen dem Speicher 103 und den Zwischenspeichern 107 und der Koeffizientenaktualisierungseinheit 109 gesteuert wird. In Fig. 2 ist der Speicher 103 positiv-pegelempfindlich, während der Zwischenspeicher 107 negativ-pegelempfindlich ist. Zusammen bilden sie ein negativ-flankengetriggertes Flipflop.
  • Die Berechnungseinheit 105 nimmt mindestens einen Koeffizientenwert an und führt eine bestimmte Art von Transformation daran durch oder leitet den Koeffizientenwert unverändert weiter. Die Berechnungseinheit 105 ist zwischen den Speicherstellen 103 und den Zwischenspeichern 107 angeordnet, so daß die Berechnungseinheit 105a) Koeffizientenwerte aus den Speicherstellen 103 empfangen und b) ihre Ausgabe einem oder mehreren der Zwischenspeicher 107 zuführen kann.
  • Alle in dem Mehrkanalregisterfile durchgeführten Berechnungen werden außerhalb des kritischen Wegs der Filterung oder der Koeffizientenaktualisierung durchgeführt. Die Berechnungseinheit 105 liegt außerhalb des kritischen Wegs der Filterung oder der Koeffizientenaktualisierung, da sie ihre Funktion in der sogenannten "Totzeit" zwischen der Zeit, zu der der Hauptzwischenspeicher, bei dem es sich hier um die aktuell adressierte Speicherstelle in dem Speicher 103 handelt, die gespeicherten Informationen enthält, und der Zeit, zu der der Nebenzwischenspeicher, der hier der Zwischenspeicher 107 ist, die Informationen aus dem Hauptzwischenspeicher zwischenspeichert, durchführt. Dies wird dadurch ermöglicht, daß das Leseadreßsignal früher den Leseadreßports RA&sub1; bis RAk zugeführt wird, als das Taktsignal den Zwischenspeichern 107 zugeführt wird.
  • Fig. 3 zeigt ein Impulsdiagramm für den Betrieb der vereinfachten Ansicht des Mehrkanalregisterfiles 101 von Fig. 2. Fig. 3 zeigt Signale CLK, RA, WA und OUTPUT aus dem Zwischenspeicher 107. Man beachte, daß die Signale CLK, RA und WA dem Mehrkanalregisterfile 101 zugeführt werden, das das Signal OUTPUT erzeugt. Das Leseadreßsignal RA wird einen halben Zyklus vor dem Schreibadreßsignal WA dem Mehrkanalregisterfile 101 zugeführt. Als Reaktion auf das Signal RA, das sich kurz nach jeder positiven Flanke von CLK ändert, erscheinen Daten aus dem Speicher 103 und werden durch die Berechnungseinheit 105 vor der negativen Flanke von CLK verarbeitet. Man beachte, daß hier kurz bedeutet, daß genug Zeit besteht, damit die Berechnungseinheit 105 ihre erforderliche Berechnung durchführen kann.
  • Auf der negativen Flanke von CLK werden in dem Zwischenspeicher 107 die verarbeiteten Daten, die als die Ausgabe der Berechnungseinheit I05 zugeführt werden, zwischengespeichert. Diese Daten werden dann als OUTPUT, die Ausgabe des Mehrkanalregisterfiles 101, zur Verfügung gestellt. Diese Daten werden der Aktualisierungseinheit 109 zugeführt, und auch dem Multiplizierer des Filters (nicht gezeigt), der unter Verwendung des Mehrkanalregisterfiles 101 implementiert wird. Kurz nach der nächsten positiven Flanke ändert sich RA, und es wird ein weiterer Koeffizient aus einer der Speicherstellen 103 herausgelesen. In der Zwischenzeit sind die Ausgangsdaten, die auf der vorherigen negativen Flanke zwischengespeichert wurden, weiterhin von dem Zwischenspeicher 107 verfügbar. Bei der nächsten negativen Flanke von CLK werden die aktualisierten Daten, die als Ausgabe der Aktualisierungseinheit 109 zugeführt werden, zurück in den Speicher 103 in eine durch WA, das sich nur eine kurze Zeit nach der negativen Flanke von CLK ändert, angegebene Speicherstelle geschrieben.
  • Bei einer Ausführungsform der Erfindung ist die Berechnungseinheit 105 eine Überlauf-/Unterlauf- Erkennungs- und/oder Sättigungseinheit. Fig. 4 zeigt eine beispielhafte Ausführungsform, bei der die Berechnungseinheit 105 als eine Überlauf-/Unterlauf- Erkennungs- und/oder Sättigungseinheit 211 implementiert ist. Die Überlauf-/Unterlauf-Sättigungseinheit 211 enthält eine Überlauf-/Unterlauf- Erkennungseinheit 501, die mit einer Sättigungserkennungseinheit 601 verbunden ist.
  • Die Überlauf-/Unterlauf-Erkennungseinheit 501 kann zum Beispiel auf eine herkömmliche wohlbekannte Weise wirken, wie zum Beispiel durch Bestimmen, ob eine empfangene Eingabe eine Zahl mit G Bit Genauigkeit ist, die mit Y Bit Genauigkeit dargestellt werden kann, wobei Y kleiner als G ist. Wenn die empfangene Eingabe eine Zahl mit G Bit Genauigkeit ist, und diese Eingabe mit Y Bit Genauigkeit dargestellt werden kann, wird bestimmt, daß kein Unterlauf oder Überlauf auftritt. Deshalb wird der Wert der Eingabezahl als Ausgabe der Überlauf-/Unterlauf-Erkennungs- und/oder Sättigungseinheit 211 zugeführt, aber nur unter Verwendung von Y Bit Genauigkeit. Wenn andernfalls der Betrag der Zahl zu groß ist, um mit nur Y Bit Genauigkeit dargestellt zu werden, wird bestimmt, daß ein Unterlauf oder Überlauf aufgetreten ist. Wenn ein Überlauf oder Unterlauf aufgetreten ist, wird das entsprechende Flag gesetzt und als Ausgabe zugeführt. Ob ein Überlauf oder ein Unterlauf aufgetreten ist, wird dadurch bestimmt, ob die Eingabe größer als der größte Wert ist, der mit Y Bit Genauigkeit dargestellt werden kann, oder kleiner als der kleinste Wert ist, der mit Y Bit Genauigkeit dargestellt werden kann.
  • Die Sättigungserkennungseinheit 601 kann zum Beispiel auf herkömmliche wohlbekannte Weise wirken. Zum Beispiel empfängt die Sättigungserkennungseinheit 601 als Eingaben eine Zahl mit Y Bit Genauigkeit, sowie die Werte eines Überlaufflags und eines Unterlaufflags. Wenn das Überlaufflag gesetzt ist, führt die Sättigungserkennungseinheit 601 als eine Ausgabe den größten Wert zu, der mit Y Bit Genauigkeit dargestellt werden kann. Wenn das Unterlaufflag gesetzt ist, führt die Sättigungserkennungseinheit 601 als eine Ausgabe den kleinsten Wert zu, der mit Y Bit Genauigkeit dargestellt werden kann. Wenn weder das Überlaufflag noch das Unterlaufflag gesetzt ist, führt die Sättigungserkennungseinheit 601 als eine Ausgabe den Eingangswert zu, aber unter Verwendung von nur Y Bit Genauigkeit.
  • Der resultierende Betrieb der Überlauf- /Unterlauf-Erkennungs- und/oder Sättigungseinheit 211 besteht darin, daß sie als Eingabe eine Zahl mit G Bit Genauigkeit empfängt und als eine Ausgabe a) den tatsächlichen Wert von G unter Verwendung von Y Bit Genauigkeit, wobei Y kleiner als G ist, wenn G mit Y Bit Genauigkeit dargestellt werden kann, oder b) den größten oder kleinsten Wert zuführt, der mit Y Bit Genauigkeit dargestellt werden kann, wenn der Betrag der Zahl zu groß ist, um mit nur Y Bit Genauigkeit dargestellt zu werden. Ob der größte oder der kleinste Wert als Ausgabe zugeführt wird, wird als Funktion davon bestimmt, ob die Eingabe größer als der größte Wert ist, der mit Y Bit Genauigkeit dargestellt werden kann, oder kleiner als der kleinste Wert ist, der mit Y Bit Genauigkeit dargestellt werden kann.
  • Die Werte des Überlaufflags und/oder des Unterlaufflags können als Ausgaben aus der Berechnungseinheit 105 zugeführt werden, und sie können sogar extern als Ausgabe aus dem Mehrkanalregisterfile 101 zugeführt werden. Wenn die Werte des Überlaufflags und/oder des Unterlaufflags extern aus dem Mehrkanalregisterfile 101 zugeführt werden, dann müssen die Zwischenspeicher 107 so ergänzt werden, daß sie in der Lage sind, auch diese Informationen zu übertragen.
  • Bei einer weiteren Ausführungsform der Erfindung ist die Berechnungseinheit 105 ein Datenumsetzer. Zum Beispiel kann die Berechnungseinheit 105 ein spezieller Codierer sein, mit dem der Multiplikationsprozeß beschleunigt wird, z. B. ein sogenannter "Booth"-Codierer. Booth-Codierer werden von N. Weste und K. Eshraghian auf Seiten 547-554 von Principles of CMOS VLSI Design, 2. Auflage, Addison Wesley, 1992, beschrieben.
  • Man beachte, daß Booth-Codierer dort auch als Booth-Umcodierer bezeichnet werden.
  • Bei einer weiteren beispielhaften Ausführungsform der Erfindung enthält das Mehrkanalregisterfile einen Umsetzer zum Wechseln der Darstellung der Koeffizienten, z. B. einen Zweierkomplement/Vorzeichen-Betrag-Umsetzer.
  • Man beachte, daß die Berechnungseinheit 105 mehrere Funktionen durchführen kann, und daß diese Funktionen an verschiedenen der Koeffizienten entweder im wesentlichen zur gleichen Zeit oder sequentiell durchgeführt werden können, solange die Berechnung während der Totzeit abgeschlossen wird. Die durchgeführten Funktionen können sich auch von Taktzyklus zu Taktzyklus ändern.
  • Die obigen Ausführungen illustrieren lediglich die Erfindung. Somit versteht sich, daß Fachleute in der Lage sein werden, verschiedene Anordnungen zu konzipieren, die hier zwar nicht ausführlich beschrieben oder gezeigt wurden, aber dennoch die Erfindung realisieren und in ihrem, durch die angefügten Ansprüche definierten Schutzumfang eingeschlossen sind.

Claims (11)

1. Mehrkanalregisterfile [101] zum Speichern von Koeffizienten, umfassend:
mindestens zwei Speicherstellen [103], wobei jede Speicherstelle einen Koeffizientenwert speichert;
wobei das Mehrkanalregisterfile durch folgendes gekennzeichnet ist:
mindestens einen Ausgangszwischenspeicher [107]; und
ein Rechenmittel [105] zum Durchführen von Operationen an den Koeffizientenwerten oder ihren Ableitungen, wobei mindestens eine der Speicherstellen als ein Hauptzwischenspeicher wirkt und der mindestens eine Ausgangszwischenspeicher als ein Nebenzwischenspeicher wirkt, wobei der Hauptzwischenspeicher und der Nebenzwischenspeicher zusammen eine Gruppe flankengetriggerter Flipflops bilden und die Gruppe ein Flipflop für jedes Bit der Breite eines der Koeffizientenwerte aufweist, wobei das Rechenmittel zwischen dem Hauptzwischenspeicher und dem Nebenzwischenspeicher angeordnet ist.
2. Mehrkanalregisterfile nach Anspruch 1, wobei das Rechenmittel eines aus der Gruppe bestehend aus: mindestens einer Unterlauf-/Überlauf-Erkennungs- und/oder Sättigungseinheit, einem Codierer, einem Booth-Codierer, einem Umsetzer zum Umsetzen der Koeffizienten aus einer ersten Darstellung in eine zweite Darstellung, einem Zweierkomplement- Vorzeichen/Betrag-Umsetzer und einem Addierer zum Umsetzen einer Carry/Save-Formatdarstellung des Koeffizienten in eine Zweierkomplementdarstellung enthält.
3. Mehrkanalregisterfile nach Anspruch 1, wobei das Rechenmittel zwischen den Speicher und den Ausgangszwischenspeicher geschaltet ist.
4. Mehrkanalregisterfile nach Anspruch 1, wobei der Speicher und der Zwischenspeicher ein Register bilden.
5. Verfahren zur Verwendung eines Mehrkanalregisterfiles [101] in Verbindung mit einem adaptiven FIR-Filter, mit den folgenden Schritten:
Zuführen eines Koeffizientenwerts als Ausgabe aus einem Speicher [103];
Durchführen einer Rechnung an dem
Koeffizientenwert zur Erzeugung eines transformierten Koeffizientenwerts; und
Zwischenspeichern des transformierten Koeffizientenwerts in einem Zwischenspeicher [107];
wobei das Verfahren dadurch gekennzeichnet ist, daß
der Speicher als ein Hauptzwischenspeicher wirkt und der Zwischenspeicher als ein Nebenzwischenspeicher wirkt, wobei der Hauptzwischenspeicher und der Nebenzwischenspeicher zusammen eine Gruppe flankengetriggerter Flipflops bilden und die Gruppe ein Flipflop für jedes Bit der Breite des Koeffizientenwerts aufweist; und
ein Rechenmittel [105] zur Durchführung der Rechnung zwischen dem Hauptzwischenspeicher und dem Nebenzwischenspeicher angeordnet ist.
6. Verfahren nach Anspruch 5, wobei die Schritte des Zuführens, Durchführens und Zwischenspeicherns außerhalb eines kritischen Weges des Registerfiles durchgeführt werden.
7. Verfahren nach Anspruch 5, mit dem Schritt des Speicherns des zwischengespeicherten transformierten Koeffizientenwerts in derselben Speicherstelle des Speichers, aus dem der Koeffizientenwert bei dem Zuführungsschritt zugeführt wurde.
8. Verfahren nach Anspruch 5, mit dem Schritt des Speicherns des zwischengespeicherten transformierten Koeffizientenwerts in derselben Speicherstelle des Speichers, aus dem der Koeffizientenwert bei dem Zuführungsschritt zugeführt wurde, und wobei die Schritte des Zuführens, Durchführens, Zwischenspeicherns und Speicherns außerhalb eines kritischen Weges des Registerfiles durchgeführt werden.
9. Verfahren nach Anspruch 5, wobei die Rechnung mindestens eine Rechnung aus der Gruppe von Rechnungen bestehend aus Booth-Codierung, Überlauf-/Unterlauf- Erkennung und Sättigungserkennung enthält.
10. Verfahren nach Anspruch 5, wobei der Zuführungsschritt im wesentlichen dann durchgeführt wird, wenn ein Taktgeber einen ersten Wert aufweist, und das Zwischenspeichern dann durchgeführt wird, wenn der Taktgeber einen zweiten Wert aufweist.
11. Verfahren nach Anspruch 5, wobei die Rechnung in der Totzeit des Registers durchgeführt wird.
DE69800593T 1997-12-23 1998-12-04 Mehrkanalregister für Koeffizienten in Filtern Expired - Lifetime DE69800593T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/996,868 US6542539B1 (en) 1997-12-23 1997-12-23 Multiported register file for coefficient use in filters

Publications (2)

Publication Number Publication Date
DE69800593D1 DE69800593D1 (de) 2001-04-19
DE69800593T2 true DE69800593T2 (de) 2001-10-04

Family

ID=25543385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69800593T Expired - Lifetime DE69800593T2 (de) 1997-12-23 1998-12-04 Mehrkanalregister für Koeffizienten in Filtern

Country Status (8)

Country Link
US (1) US6542539B1 (de)
EP (1) EP0928065B1 (de)
JP (1) JP3540179B2 (de)
KR (1) KR100617388B1 (de)
CN (1) CN1235414A (de)
BR (1) BR9804969A (de)
CA (1) CA2254545A1 (de)
DE (1) DE69800593T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542539B1 (en) 1997-12-23 2003-04-01 Agere Systems Guardian Corp. Multiported register file for coefficient use in filters
US20110241744A1 (en) * 2008-08-28 2011-10-06 Aspen Acquisition Corporation Latch-based implementation of a register file for a multi-threaded processor
GB2580160B (en) 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
US11301542B2 (en) * 2019-05-15 2022-04-12 Nxp B.V. Methods and apparatuses involving fast fourier transforms processing of data in a signed magnitude form

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3723911A (en) 1971-09-13 1973-03-27 Codex Corp Training adaptive linear filters
JPH0795671B2 (ja) 1986-06-03 1995-10-11 ソニー株式会社 デイジタルフイルタ
US5313551A (en) 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
JPH02222317A (ja) * 1989-02-23 1990-09-05 Lsi Rojitsuku Kk デジタルフィルタ
US4995031A (en) * 1989-06-19 1991-02-19 Northern Telecom Limited Equalizer for ISDN-U interface
US5477534A (en) * 1993-07-30 1995-12-19 Kyocera Corporation Acoustic echo canceller
US5930231A (en) * 1995-06-30 1999-07-27 Scientific-Atlanta, Inc. Block spectrum receiver for a broadband communications system
US5721696A (en) * 1995-08-28 1998-02-24 Motorola Inc. Method and system for performing an FIR filtering operation
US5657291A (en) 1996-04-30 1997-08-12 Sun Microsystems, Inc. Multiport register file memory cell configuration for read operation
US5777914A (en) * 1996-08-29 1998-07-07 Lucent Technologies Inc. Technique for reducing power consumption in digital filters
US6542539B1 (en) 1997-12-23 2003-04-01 Agere Systems Guardian Corp. Multiported register file for coefficient use in filters

Also Published As

Publication number Publication date
CN1235414A (zh) 1999-11-17
EP0928065B1 (de) 2001-03-14
BR9804969A (pt) 1999-11-23
KR19990063481A (ko) 1999-07-26
KR100617388B1 (ko) 2007-04-25
US6542539B1 (en) 2003-04-01
JP3540179B2 (ja) 2004-07-07
EP0928065A3 (de) 1999-07-21
EP0928065A2 (de) 1999-07-07
JPH11266142A (ja) 1999-09-28
DE69800593D1 (de) 2001-04-19
CA2254545A1 (en) 1999-06-23

Similar Documents

Publication Publication Date Title
DE3485792T2 (de) Digitale signalverarbeitungseinrichtungen.
DE69033444T2 (de) Signalprozessor mit einer arithmetischen und logischen Einheit und einer Multiplizier-Akkumulatoreinheit, die gleichzeitig betrieben werden können
DE69030128T2 (de) Signalprozessor
DE3853805T2 (de) Digitaler Multiplizierer und Multiplizierer-Akkumulator, welcher Zwischenergebnisse vorlädt und akkumuliert.
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE3783072T2 (de) Zusatzprozessorarchitektur.
DE69800108T2 (de) Filterstruktur
DE3144015C2 (de)
DE3424962C2 (de)
DE69324730T2 (de) Multiplizier-Akkumulator
DE3750028T2 (de) Pipelineprozessor mit schwacher Kopplung.
DE69716997T2 (de) Gleichzeitiges Lese- und Schreibeverfahren von Daten in einem RAM-Speicher
DE68921161T2 (de) Programmierbares digitales Filter.
EP0149785B1 (de) Verfahren und Schaltungsanordnung zur Digitalsignalverarbeitung nach Art eines vorzugsweise adaptiven Transversalfilters
DE68926154T2 (de) Pipelineprozessor zur Durchführung des LMS Algorithmus
DE3446957C2 (de)
DE69225095T2 (de) Wirksamer Arbiter
DE69800593T2 (de) Mehrkanalregister für Koeffizienten in Filtern
DE69521464T2 (de) Paralleler Prozessor
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE69626609T2 (de) Pipeline-datenverarbeitungsschaltung
DE68924082T2 (de) Datenverarbeitungseinheit mit einem Umgehungsmechanismus.
DE3782343T2 (de) Zustandsanpassung fuer parallele verarbeitung.
DE69930906T2 (de) System zur Variation des Dynamikbereichs von Koeffizienten in einem digitalen Filter
DE68903280T2 (de) Vektorschlange in computern mit vektorregister.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition