DE69426231T2 - Komplexes adaptives fir-filter - Google Patents

Komplexes adaptives fir-filter

Info

Publication number
DE69426231T2
DE69426231T2 DE69426231T DE69426231T DE69426231T2 DE 69426231 T2 DE69426231 T2 DE 69426231T2 DE 69426231 T DE69426231 T DE 69426231T DE 69426231 T DE69426231 T DE 69426231T DE 69426231 T2 DE69426231 T2 DE 69426231T2
Authority
DE
Germany
Prior art keywords
data
filter
imaginary
real
coefficient
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 - Fee Related
Application number
DE69426231T
Other languages
English (en)
Other versions
DE69426231D1 (de
Inventor
F. Petrsoric
E. Wedgwood
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.)
Northrop Grumman Corp
Original Assignee
Northrop Grumman Corp
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 Northrop Grumman Corp filed Critical Northrop Grumman Corp
Publication of DE69426231D1 publication Critical patent/DE69426231D1/de
Application granted granted Critical
Publication of DE69426231T2 publication Critical patent/DE69426231T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters

Landscapes

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

Description

  • Die Erfindung betrifft ein Filter mit endlicher Impulsantwort (FIR-Filter), das komplexe digitale Signale so filtert, daß Realteil und Imaginärteil eines komplexen digitalen Signals separat in gesonderten parallelen Datenpfaden gefiltert werden. Das Filter ist adaptiv, da es eine Schaltung enthält, die die im Filterungsprozeß als komplexe Gewichte verwendeten Multiplikanden aktualisiert und in das Filter lädt, ohne den Filterungsprozeß zu unterbrechen oder zu beenden. Die Erfindung betrifft weiterhin ein Verfahren zum Verarbeiten von komplexen digitalen Daten.
  • Es existieren zahlreiche elektrische und elektronische Vorrichtungen, die für die Verarbeitung von abgetasteten Daten von Mikroprozessoren Gebrauch machen. Die typischen Datenoperationen des Mikroprozessors, die benötigt werden, umfassen die Multiplikation, die Addition, die Subtraktion die logische UND- und ODER-Verknüpfung und Kombinationen dieser Operationen in Wiederholung, um z. B. zu multiplizieren und zu dividieren. Obwohl Mikroprozessoren bei Anwendungen, bei denen die Geschwindigkeit und der Umfang der Datenhandhabung nicht kritisch sind, sehr nützlich sind, sind sie für viele datenintensive Anwendungen nicht geeignet. In Radar- und Sonarsystemen, medizinischen Bilderzeugungssystemen und Spracherkennungssystemen z. B. müssen üblicherweise sehr große Datenmengen mit hoher Geschwindigkeit verarbeitet werden. Bei einem typischen Mikroprozessor kann eine einzige Multiplizier-Akkumulier- Operation 25 Taktzyklen dauern. Um die Verarbeitungsgeschwindigkeit zu erhöhen, enthalten viele dieser Systeme jetzt digitale Signalprozessoren (DSP), das sind Mikroprozessoren, deren Architekturen für die Verarbeitung der abgetasteten Daten mit hohen Datenraten optimiert sind. Die Architektur eines DSP ist so aufgebaut, daß sie die Wiederholungsnatur der Signalverarbeitung ausnutzten. So kann ein DSP, der einen schnellen Array-Multiplizierer und -Akkumulator besitzt, die einzelne Multiplizier-Akkumulier-Operation in einem einzigen Taktzyklus ausführen.
  • DSP-Chips können als anwendungsspezifische Vorrichtungen eingesetzt werden, die eine Funktion genauer, schneller und kosteneffizienter ausführen können. So erfordert z. B. eine wachsende Zahl von digitalen Filter- und Fourier-Transformations-Anwendungen DSP-Chips. Ein spezieller Typ von digitalen Filtern, nämlich ein Filter mit endlicher Impulsantwort ("FIR"-Filter), d. h. ein Filter das durch eine Impulsantwort endlicher Länge charakterisiert ist, eignet sich in idealer Weise für eine exakte lineare (oder nahezu lineare) Phasenantwort. Es eignet sich ideal für die Benutzung in Systemen, bei denen es überaus wichtig ist, daß die Phase die Form des Ausgangssignals des FIR-Filters allenfalls durch eine Zeitverzögerung beeinträchtigt. In Radarsystemen mit Phased-Array-Antennen z. B. benötigt man digitale FIR-Filter für die Verarbeitung von komplexen digitalen Signalen, d. h. von Signalen, die reale und imaginäre Komponenten haben. Üblicherweise arbeitet das Filter so, daß durch Fehlabgleich der Antenne oder durch Störflecke hervorgerufenes Rauschen beseitigt wird. Wenn komplexe digitale Signale gefiltert werden, werden der Realteil und der Imaginärteil des digitalen Signals und ihre zeitverzögerten Versionen jeweils mit einem komplexen Gewicht multipliziert, und die Ergebnisse werden dann summiert. Um die Filterungsfunktion durchzuführen, müssen sowohl der Realteil als auch der Imaginärteil des Gewichts und der Negativwert des Imaginärteils des Gewichts als Multiplikanden (Koeffizienten) zur Verfügung stehen. Die meisten digitalen Filter lassen sich problemlos mit DSP-Chips realisieren, die Elemente zum Multiplizieren der Koeffizienten, Addierer oder Summiervorrichtungen und Verzögerungselemente (Speichervorrichtungen) enthalten. Das Filter wird als "adaptiv" betrachtet, wenn die Koeffizienten variabel sind und von einem Host-Prozessor aktualisiert werden, der einen Aktualisierungs-Algorithmus implementiert.
  • Derzeit sind integrierte Schaltungschips verfügbar, die zum Filtern von digitalen Signalen verwendet werden. Der INMOS-Signalverarbeitungschip IMSA100 ist z. B. in der Lage, bis zu 32 parallele Multiplikationen und Additionen (oder Subtraktionen) auszuführen, was ihn als FIR-Filter geeignet macht. Dieses spezielle DSP-Filter wurde für die Verwendung in einem Mikroprozessorsystem entwickelt, so daß die Koeffizienten über einen Eingangs-Port in eine oder zwei Registerbänke oder alternativ in ein externes ROM oder RAM geladen werden können. Wenn reale Daten gefiltert werden, wird eine Speicherbank zur Lieferung der Koeffizienten für das Filter benutzt. Für die adaptive Filterung wird eine Speicherbank benutzt, während die andere Speicherbank mit neuen Koeffizienten aktualisiert wird. Für eine komplexe adaptive Filterung wird jedoch die Zweibank-Architektur jedoch selbst bei geringen Datenraten unbrauchbar. Dies liegt daran, daß beide Koeffizientenbänke für die Erzeugung des Filterausgangssignals benötigt werden, d. h. eine Bank erzeugt den Realteil und die andere den Imaginärteil des Ausgangssignals. Für die Aktualisierung der Koeffizienten muß der Filterungsprozeß angehalten werden, während die neuen Daten geladen werden. Üblicherweise ist die für das Laden neuer Koeffizienten erforderliche Zeit lang im Vergleich zur Datenrate der meisten existierenden Prozessoren. So können die meisten existierenden Prozessoren komplexe Verarbeitung nur mit der halben Datenrate ausführen.
  • Um exzessive Verzögerungen bei der Aktualisierung der Koeffizienten zu umgehen, wurden alternative Konfigurationen implementiert, bei denen die Koeffizienten zirkular aus einem externen Speicher abgerufen werden. Mit Hilfe einer geeigneten Steuerschaltung kann eine Speicherbank die Koeffizienten an das Filter liefern, während die andere Speicherbank aktualisiert wird. Diese Anordnung vereinfacht das Aktualisierungsproblem, es nutzt die Geometrie des komplexen Filters jedoch nicht voll aus und erfordert einen erheblichen Aufwand an externer Steuerschaltung.
  • Um die adaptive Filterung richtig durchzuführen, muß zusätzlich ein Fehlersignal, das als Summe aus dem Filterausgangssignal und einem "Sollwert"-Eingangssignal berechnet wird, als Ausgangsgröße an den Host-Prozessor ausgegeben werden, um die aktualisierten Gewichtskoeffizienten zu berechnen. Derzeitige DSP-Prozessoren sehen diese Möglichkeit nicht vor, so daß üblicherweise eine externe Addierschaltung für die Berechnung des Fehlers zur Aktualisierung der Gewichte erforderlich ist. Der Zwang, einen externen Addierer und die entsprechende Steuerschaltung vorzusehen, beeinträchtigt die Filterleistung und benötigt wertvollen Platz auf der Schaltungskarte.
  • Bei den meisten verfügbaren FIR-Filterchips muß auch das Fließkommaergebnis, das aus dem Host-Prozessor kommt, fixiert und abgeschnitten werden. Dies liegt daran, daß die interne Verarbeitung keine Fließkommaverarbeitung ist. Eine der Folgen hiervon ist, daß der üblicherweise für die adaptive Verarbeitung erforderliche Dynamikbereich nicht beibehalten wird.
  • Wegen der vorangehend beschriebenen Einschränkungen der gegenwärtigen Generation von adaptiven FIR-Filtern besteht Bedarf an einem komplexen adaptiven FIR-Filter, das komplexe digitale Signale schneller und effizienter verarbeiten kann, wenn das zu verarbeitende Signal aus komplexen digitalen Daten besteht und wenn die Anforderungen an die Verarbeitungsgeschwindigkeit oder Datenrate den Einsatz kommerziell erhältlicher FIR-Filterchips aus funktionellen Gründen verbieten.
  • Die Erfindung hat sich deshalb das Ziel gesetzt, ein komplexes adaptives FIR-Filter zu schaffen, dessen innere Verarbeitungsarchitektur zwei parallele Datenpfade aufweist, von denen der eine den realen Datenstrom eines komplexen Signals und der andere den imaginären Datenstrom filtert, wobei die Architektur die für die erforderlichen Berechnungen verfügbare Zeit maximal ausnutzt.
  • Es ist weiteres Ziel, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das eine komplexe adaptive digitale Filterung ermöglicht, ohne daß der Filterungsprozeß unterbrochen oder angehalten werden muß, wenn die Gewichtskoeffizienten aktualisiert werden.
  • Es ist ein weiteres Ziel der Erfindung, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das einen Eingang für die Aufnahme eines "Sollwert"-Eingangssignals aufweist und ein Addierelement, das die Erzeugung eines Fehlersignals für eine effizientere Implementierung des adaptiven Filters ermöglicht.
  • Ein weiteres Ziel der Erfindung besteht darin, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das Fließkommaverarbeitung ermöglicht, um den für die adaptive Verarbeitung erforderlichen Dynamikbereich beizubehalten.
  • Es ist ein weiteres Ziel, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das als eigenständige Vorrichtung aufgebaut ist und keine externe Schaltung als Schnittstelle zu einem Host-Prozessor benötigt.
  • Ein weiteres Ziel der Erfindung besteht darin, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das in Kaskade angeordnet werden kann, um die Schaffung längerer Filter zu ermöglichen, mit denen längere Koeffizientensätze auf den Datenstrom angewendet werden können.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht darin, ein komplexes adaptives FIR-Filter zur Verfügung zu stellen, das einen eindeutigen und effizienten Weg zur Aktualisierung der Gewichtskoeffizienten vorsieht, ohne daß Hardwareunterstützung in signifikantem Umfang benötigt wird.
  • Die vorliegende Erfindung ist auf ein komplexes Filter mit endlicher Impulsantwort (FIR-Filter) mit adaptiven Gewichten gerichtet sowie auf ein Verfahren zur Verarbeitung von komplexen digitalen Daten mit realen und imaginären Eingangsdaten, wie in Anspruch 1 bzw. 10 angegeben. Nach einem ersten Ausführungsbeispiel der Erfindung umfaßt das Filter einen ersten Datenpfad zur Verarbeitung des Realteils der Eingangsdaten der komplexen Eingangsdaten. Der erste Datenpfad enthält eine erste Mehrzahl von adaptiven Gewichtsschaltungen zum Multiplizieren der realen Eingangsdaten mit vorbestimmten Koeffizienten, um einen Satz von Multiplikationsergebnissen zu generieren. Ein zweiter Datenpfad dient zur Verarbeitung des Imaginärteils der komplexen Eingangsdaten. Der zweite Datenpfad enthält eine zweite Mehrzahl von adaptiven Gewichtsschaltungen zum Multiplizieren der imaginären Eingangsdaten mit vorbestimmten Koeffizienten, um einen Satz von Multiplikationsergebnissen zu generieren. Das Filter besitzt ferner eine Steuerschaltung, die die realen Eingangsdaten während eines ersten Zeitintervalls und danach während aufeinanderfolgender erster Zeitintervalle simultan an die erste Mehrzahl von adaptiven Gewichtsschaltungen liefert und die imaginären Eingangsdaten während eines zweiten Zeitintervalls und danach während aufeinanderfolgender zweiter Zeitintervalle simultan an die zweite Mehrzahl von adaptiven Gewichtsschaltungen liefert. Eine erste Mehrzahl von Akkumulatorschaltungen verbindet eine erste Untermenge der ersten Mehrzahl von adaptiven Gewichtsschaltungen und eine erste Untermenge der zweiten Mehrzahl von adaptiven Gewichtsschaltungen miteinander, um einen ersten Satz von Multiplikationsergebnissen aus diesen zu akkumulieren und den Realteil der Ausgangsdaten des Filters zu bilden. Eine 1-Taktzyklus-Verzögerungsschaltung, die in dem ersten Datenpfad angeordnet ist, verzögert die Multiplikation der realen Eingangsdaten mit einer zweiten Untermenge der ersten Mehrzahl von adaptiven Gewichtsschaltungen um ein Zeitintervall, und eine 1-Taktzyklus- Verzögerungsschaltung, die in dem zweiten Datenpfad angeordnet ist, verzögert die Multiplikation der imaginären Eingangsdaten mit einer zweiten Untermenge der zweiten Mehrzahl von adaptiven Gewichtsschaltungen.
  • Die erste und die zweite Verzögerungsschaltung gewährleisten eine passende Zeitmuitiplexverschachtelung des Imaginärteils der Ausgangsdaten des Filters. Eine zweite Mehrzahl von Akkumuiatorschaltungen verbinden die zweite Untermenge aus der ersten Mehrzahl von adaptiven Gewichtsschaltungen und die zweite Untermenge der zweite Mehrzahl von adaptiven Gewichtsschaltungen miteinander, um einen zweiten Satz von Multiplikationsergebnissen zu akkumulieren und den Imaginärteil der Ausgangsdaten des Filters zu bilden. Die Real- und Imaginärteile der Ausgangsdaten werden an dem Ausgang des Filters einer Multiplexverschachtelung unterzogen, um die komplexen Ausgangssignale zu bilden.
  • Die Koeffizientendatenwerte der adaptiven Gewichtsschaltungen werden in zwei Speicherbänken gespeichert und stehen für den Zugriff durch das Filter oder den Host-Prozessor zur Verfügung. Diese Werte können auch in alternativen oder Wechselspeicherbänken gespeichert werden, so daß dann, wenn das Filter auf Daten der Speicherbank zugreift, Daten bei Anforderung des Host-Prozessors in die alternative Speicherbank eingeschrieben werden können und umgekehrt. Die kontinuierliche Filterfunktion wird durch eine Koeffizientenauslagerungsschaltung gesichert, die während zweiter Zeitintervalle den Zugriff nur auf die aktualisierten vorbestimmten Koeffizientenwerte der ersten Untermenge der ersten Mehrzahl und die zweite Untermenge der zweiten Mehrzahl von adaptiven Gewichten erlaubt. Ebenso erlaubt die Koeffizientenauslagerungsschaltung während der ersten Zeitintervalle nur Zugriff auf die vorbestimmten Koeffizientenwerte der ersten Untermenge der zweiten Mehrzahl und der zweiten Untermenge der ersten Mehrzahl von adaptiven Gewichten.
  • Weitere nützliche Merkmale und Vorteile der Erfindung werden aus der Betrachtung der folgenden detaillierten Beschreibung deutlich, die auf die anliegenden Zeichnungen Bezug nimmt, in denen bevorzugte Ausführungsbeispiele der Erfindung dargestellt sind.
  • Fig. 1 zeigt ein Blockdiagramm eines Systems mit dem adaptiven FIR-Filter gemäß der Erfindung,
  • Fig. 2 zeigt ein verallgemeinertes Blockschaltbild des adaptiven Filters mit zwei Sätzen von parallelen Pfaden, nämlich einem Satz zur Verarbeitung des realen Datenteils des Eingangssignals und dem anderen Satz zur Verarbeitung des imaginären Datenteils des Eingangssignals,
  • Fig. 3 zeigt eine typische Anwendung für ein adaptives Filter, die mit Hilfe des Filters gemäß der Erfindung realisiert werden kann,
  • Fig. 4 zeigt ein Zeitdiagramm für die Eingangssignale und die internen Steuersequenzen des komplexen adaptiven FIR-Filters,
  • Fig. 5 zeigt die Blockdiagrammdarstellung des Filters, wenn dieses als Filter mit drei komplexen Gewichten aufgebaut ist,
  • Fig. 6a zeigt eine Tabelle der Berechnungsergebnisse, die bei der Verarbeitung des realen Datenteils eines komplexen digitalen Eingangssignals des Filters von Fig. 5 gewonnen werden,
  • Fig. 6b zeigt eine Tabelle der Berechnungsergebnisse, die bei der Verarbeitung des imaginären Datenteils eines komplexen digitalen Eingangssignals des Filters von Fig. 5 gewonnen werden,
  • Fig. 7a zeigt ein Zeitdiagramm der Signale, die während der Aktualisierung der Gewichtskoeffizienten (d. h. der Gewichtsauslagerung) benutzt werden, wenn dieser Prozeß in dem adaptiven Filter gemäß der Erfindung implementiert ist,
  • Fig. 7b zeigt die logische Wahrheitstabelle und die entsprechende Legende, aus der die Signalzustände in der Gewichtsauslagerungsschaltung hervorgehen, die für die Gewichtsauslagerungsfunktion erforderlich ist,
  • Fig. 7c zeigt die digitale logische Schaltung zur Implementierung des Befehls zur Gewichtsauslagerung,
  • Fig. 8 zeigt ein verallgemeinertes Blockdiagramm der Schaltung, die festlegt, in welcher Speicherbank eingeschrieben wird und welche Speicherbank die aktualisierten Koeffizienten empfängt,
  • Fig. 9 zeigt ein Übersichtsdiagramm, in dem die Eingangs-/Ausgangsanschlüsse des komplexen adaptiven FIR-Filters gemäß der Erfindung zusammengefaßt sind.
  • Die Erfindung betrifft ein Filter mit endlicher Impulsantwort und ein Verfahren zur Verarbeitung von komplexen Daten. Das Filter besitzt zwei parallele Datenpfade, von denen der eine den realen Datenstrom und ein zweiter den imaginären Datenstrom filtert. Das Filter verarbeitet komplexe digitale Signale, indem es die Signale und zeitverzögerte Versionen der Signale jeweils mit einem komplexen Gewicht multipliziert und die Ergebnisse dieser Multiplikationen summiert. Da das Filter zwei parallele Datenpfade benutzt, müssen sowohl der Realteil als auch der Imaginärteil des komplexen Gewichts sowie der Negativwert des Imaginärteils des Gewichts als Multiplikanden verfügbar sein, die im folgenden als Koeffizienten bezeichnet werden. Die Koeffizienten sind variabel. Deshalb kann das Filter als adaptives Filter arbeiten, wenn es mit einem Host-Prozessor verbunden ist, der den adaptiven Algorithmus ausführt und die Koeffizienten aktualisiert. Aufgrund der besonderen Geometrie der komplexen digitalen Signalverarbeitung nutzen diese parallelen Datenpfade die verfügbare Zeit maximal aus, um die erforderlichen Filterberechnungen durchzuführen. Das Filter gemäß vorliegender Erfindung besitzt auch einen "Sollwert-Eingang", der eine externe Summiervorrichtung zur Berechnung des Fehlerausdrucks erübrigt, wie sie oft für die Aktualisierung der Koeffizienten benötigt wird. Fig. 3 zeigt eine Anwendung für das adaptive Filter gemäß der Erfindung, bei der sich die externe Summiervorrichtung 71 erübrigt.
  • Fig. 1 zeigt ein Blockdiagramm des erfindungsgemäß ausgebildeten komplexen adaptiven Filters 10 mit endlicher Impulsantwort. Entsprechend zeigt Fig. 9 eine summarische Übersicht der I/O- Anschlüsse für das Filter 10. In der Anordnung von Fig. 1 wird das von dem Filter 10 zu verarbeitende komplexe digitale Signal Yin(n) dem Filter 10 über eine Referenzeingangssignalleitung 12 zugeführt. Yin(n) ist ein digitales Multiplexsignal mit einem realen Eingangsdatenteil und einem imaginären Eingangsdatenteil. Es kann z. B. ein gepulstes Radar-Echosignal sein, das mit einer XMHz-Taktrate abgetastet, dann in seine realen und imaginären Komponenten zerlegt und im Zeitmultiplex verschachtelt wurde. Die Referenzeingangssignalleitung 12 ist mit einem ersten Schalterkreis 32 verbunden, der in jeder Position das Signal Yin(n) sowohl einer Realteil-Verarbeitungsschaltung 17 als auch einer Imaginärteil-Verarbeitungsschaltung 16 zuführt. In einer Position wird Yin(n) z. B. sowohl in der Realteil-Verarbeitungsschaltung 17 als auch in der Imaginärteil- Verarbeitungsschaltung 16 mit adaptiven Gewichten multipliziert, die reale Koeffizientendaten aufweisen. In der zweiten Position wird Yin(n) sowohl in der Realteil-Verarbeitungsschaltung 17 als auch in der Imaginärteil-Verarbeitungsschaltung 16 mit adaptiven Gewichten multipliziert, die imaginäre Koeffizientendaten aufweisen. Es ist zu beachten, daß die Eingangssignale Yin(n), Din(n), Cin(n) und die Ausgangssignale Cout (n) und E(n) komplexe digitale Signale mit Real- und Imaginärteilen sind. Die Eingangssignale bilden einen Multiplex-Datenstrom, wobei zuerst der reale Eingangsdatenteil und dann der imaginäre Eingangsdatenteil eingegeben wird. Die Schalterkreise 32, 33 und 34 bestehen im wesentlichen aus Demultiplexern, die die realen und imaginären Eingangsdatenteile den jeweiligen Verarbeitungsschaltungen für die realen Daten bzw. für die imaginären Daten zu führen. Die Schalterkreise sind in Fig. 1 als einfache Umschalter dargestellt, es versteht sich jedoch, daß für die Demultiplexerfunktion jede Schaltung benutzt werden kann, die bei jedem Takt ein Signal zwischen zwei Eingängen umschaltet. Umgekehrt arbeiten die Schalterkreise 35 und 36 als Multiplexer, die auf einer einzigen Datenausgangsleitung einen kontinuierlichen Datenstrom mit Real- und Imaginärteilen eines komplexen Signals erzeugen.
  • Das Sollwert-Eingangssignal Din(n) wird dem Filter 10 über die Sollwert-Eingangssignalleitung 13 zugeführt. Die Sollwert-Eingangssignalleitung 13 ist mit einem zweiten Schalterkreis 33 verbunden, die das Signal Din(n) entweder einer ersten Summierschaltung 20 oder einer zweiten Summierschaltung 22 zuführt. Der reale Datenteil des Sollwert-Eingangssignals Din(n) wird zu dem Realteil des Ausgangssignals Cout(n) addiert, wenn der zweite Schalterkreis 33 so geschaltet ist, daß er das Signal Din(n) der ersten Summierschaltung 20 zuführt. Der imaginäre Datenteil Din(n) wird zu dem Imaginärteil des Ausgangssignals Cout(n) addiert, wenn der zweite Schalterkreis 33 das Signal Din(n) der zweiten Summierschaltung 22 zuführt. In dem bevorzugten Ausführungsbeispiel wird das den betreffenden Summierschaltungen zugeführte Eingangssignal Din(n) mit der XMHz-Taktrate geschaltet, es muß jedoch in Abhängigkeit von der Länge des Filters, z. B. der Zahl der Gewichte, extern verzögert werden, um der Wartezeit des Filters 10 Rechnung zu tragen.
  • Über eine Schreib-Strobesignalleitung 14 wird dem Filter 10 ein Schreib-Strobe oder Schreib- Freigabesignal Wr zugeführt. Das Schreib-Freigabesignal Wr wird von dem (nicht dargestellten) Host-Prozessor zugeführt und bewirkt, daß die Koeffizienten während des weiter unten beschriebenen Koeffizientenaktualisierungsprozesses in den betreffenden Koeffizienten-/Koeffizientenaktualisierungs-Speicherbänken 24 und 27 gehalten werden.
  • Adressenleitungen Adr(2:φ), die über Signalleitungen 15 verlaufen, sind die Adressenleitungen, mit denen auf die individuellen Koeffizientenregister in den Speicherbänken 24 und 27 zugegriffen wird. Die Adressen werden von einem Host-Prozessor übertragen und einer Adressen-Decodierschaltung 28 zugeführt, in denen sie zu sechs REGSELECT(5:φ)-Signalen 44 decodiert werden, die die einzelnen Koeffizientenregister in den Koeffizienten-/Koeffizientenaktualisierungs-Speicherbänken 24 und 27 adressieren. Ein Signal Ce, das dem Filter 10 über eine Signalleitung 18 zugeführt wird, dient zum Auftasten des Adressendecodierers 28, so daß das Filter 10 sich gegenüber einem Host-Prozessor wie ein speicherkonformes Peripheriegerät verhält.
  • Der Takteingang des Filters 10 ist mit XMHz bezeichnet und in Fig. 1 als Eingangsleitung 19 dargestellt. Dieser Takt steuert das Filter und läuft mit der Rate der Realteildaten, die doppelt so groß ist wie die Rate der komplexen Daten. Wie weiter unten anhand des Zeitdiagramms von Fig. 4 näher erläutert wird, werden die Steuersignale 40, 42, die zur Steuerung des Datenflusses in die Realteil- und Imaginärteil-Verarbeitungsschaltungen dienen, von einer Steuerschaltung 30 erzeugt. Man sieht, daß die Steuerschaltung 30 auch die Signale liefert, die die Schaltvorgänge der Eingangs-Schalterkreise 32, 33 und 34 und der Ausgangs-Schalterkreise 35 und 36 steuern.
  • Das Signal WSWAPREQ, das dem Filter über die Leitung 21 zugeführt wird, ist das Anforderungssignal für die Gewichtsauslagerung und zeigt der Gewichtsauslagerungsschaltung 38 an, daß ein Wechsel der Bänke erforderlich ist.
  • Das Signal DATAIN, das über die Leitung 23 zugeführt wird, liefert die Fließkomma-Koeffizientendaten an die Koeffizientenregister, die durch adr(2:φ) und REGSELECT(5:φ) adressiert werden. Die Leitung 23 DATAIN kann aus einem 32-Bit-Bus bestehen. Beide Signale DATAIN und WSWAPREQ werden von einem Host-Prozessor zugeführt.
  • Das Filter 10 ist durch Kaskadierung erweiterbar, so daß es für eine größere Zahl von Koeffizienten geeignet ist und damit größere Datenmengen verarbeiten kann. Das Kaskaden-Eingangssignal Cin(n) wird dem Filter 10 über die Kaskaden-Eingangssignalleitung 24 zugeführt. Die Kaskaden-Eingangssignalleitung 24 ist mit einem dritten Schalterkreis 34 verbunden, der den realen Datenteil eines Cout(n)-Signals aus einer vorhergehenden Filterstufe der Realteil-Verarbeitungshälfte 17 des Filters und den imaginären Teil des Signals Cout(n) aus einer vorhergehenden Filterstufe der Imaginärteil-Verarbeitungshälfte 16 des Filters zuführen kann. Das Kaskaden-Aus gangssignal Cout(n) bildet das Kaskaden-Ausgangssignal des Filters 10 und wird über eine Signalleitung 25 ausgegeben, die mit einem vierten Schalterkreis 36 verbunden ist. Der Schalterkreis 36 ist ein Demultiplexer, der zwischen den realen Ausgangsdaten der Realteil-Verarbeitungsschaltung 17 und dem imaginären Ausgangsdatenteil der Imaginärteil-Verarbeitungsschaltung 16 umschaltet, um auf der Ausgangssignalleitung 25 das komplexe Signal CoutIn) zu erzeugen.
  • Das Fehlersignal E(n) ist die Fehler-Ausgangsgröße, die im wesentlichen eine Summierung des Sollwert-Eingangssignals Din(n) und sowohl der realen als auch der imaginären Ausgangsdaten darstellt, die mit Cout(n) zur Verfügung stehen. Das Fehlersignal wird über die Ausgangssignalleitung 31 ausgegeben, die mit einem fünften Schalterkreis 35 verbunden ist. Der Realteil des Fehlersignals E(n) entspricht der Summierung in der ersten Summierschaltung 20, in der der reale Datenteil von Din(n) zu den realen Ausgangsdaten aus der Realteil-Verarbeitungsschaltung 17 addiert wird. Der Imaginärteil des Fehlersignals E(n) entspricht der Summierung in der zweiten Summierschaltung 22, in der der imaginäre Datenteil von Din(n) zu den imaginären Ausgangsdaten der Imaginärteil-Verarbeitungsschaltung 16 addiert wird. Aufgrund der Schaltung, die das Filter 10 implementiert, erscheint der Realteil des ersten Terms einer komplexen Korrelation oder Faltung an dem Ausgang des Filters nach 2*N Taktzyklen, wobei "N" die Zahl der Gewichte ist, die das Filter implementiert. So wird das Signal Din(n), wie oben erwähnt, durch externe Steuermittel um wenigstens 2*N Taktzyklen verzögert, um der Wartezeit des Filters Rechnung zu tragen.
  • Es werde nun auf Fig. 2 Bezug genommen, in der ein schematisches Blockdiagramm eines FIR- Filters 10 mit 32 komplexen Gewichten dargestellt ist, das eine Realteil-Verarbeitungsschaltung 17 und eine Imaginärteil-Verarbeitungsschaltung 16 besitzt. Der Schalterkreis 32 ist in einer ersten Position gezeigt, in der der reale Eingangsdatenteil des (im folgenden mit "Re[Yin(n)]" bezeichneten) Eingangssignals mit der Hälfte der Realteil-Verarbeitungsschaltung 17 verbunden ist, die die ungeradzahligen 'a'-Koeffizienten enthält, und gleichzeitig über ein 1-Takzyklus-Speicherelement 65 mit der Hälfte der Imaginärteil-Verarbeitungsschaltung 16 verbunden ist, die die ungeradzahligen 'b'-Koeffizienten enthält. Die Verbindung zu den ungeradzahligen 'a' und ungeradzahligen 'b' Koeffizienten wird im folgenden als Verbindung mit den Koeffizienten der ungeradzahligen Seite bezeichnet. Wie erkennbar ist, ist diese vom Konzept her als ein erster paralleler Datenpfad zur Verarbeitung der realen Eingangsdaten von Yin(n) konfiguriert. Wenn sich der Schalterkreis 32 in seiner zweiter Position befindet, in die er von der weiter unten erläuterten Steuerschaltung 30 geführt wird, ist der imaginäre Eingangsdatenteil des Eingangssignals, der im folgenden mit "IM[Yin(n)]" bezeichnet wird, mit der Hälfte der Realteil-Verarbeitungsschaltung 17 verbunden, die die geradzahligen 'b' Koeffizienten enthält, und gleichzeitig über ein 1-Taktzyklus-Speicherelement 65 mit der Hälfte der Imaginärteil-Verarbeitungsschaltung 16 verbunden, die die geradzahligen 'a' Koeffizienten enthält. Die Verbindung zu den geradzahligen 'a' und ge radzahligen 'b' Koeffizienten wird im folgenden als Verbindung zu den Koeffizienten der geradzahligen Seite bezeichnet. Diese Konfiguration illustriert vom Konzept her einen zweiten parallelen Datenpfad zur Verarbeitung der imaginären Eingangsdaten von Yin(n). Die Speicherelemente 65 in den Pfaden der Imaginärteil-Verarbeitungsschaltung liefern die Verzögerung, die für die Multiplexverschachtelung des realen und imaginären Ausgangssignals des Filters benötigt wird.
  • Dem einschlägigen Fachmann ist bekannt, daß eine komplexe Signalverarbeitung (z. B. Faltung oder Korrelation) die Multiplikation des Eingangssignals mit einem ausgewählten Satz von realen und imaginären Multiplikanden, d. h. Koeffizienten, erfordert, damit ein komplexes Ausgangssignal entsteht, wenn die Ergebnisse akkumuliert werden. Es ist zu beachten, daß das komplexe Filter gemäß der Erfindung so konfiguriert ist, daß der obere Teil 17 von Fig. 2 solche Koeffizienten enthält, die zu einem Realteil der Ausgangsdaten des Filters 10 führen, wenn sie mit Yin(n) multipliziert und selektiv akkumuliert werden. Der untere Teil 16 enthält die Koeffizienten, die den Imaginärteil der Ausgangsdaten des Filters 10 erzeugen. Alle Koeffizienten der geradzahligen und ungeradzahligen Seite sind Gewichte, deren Werte davon abhängen, welche Art von Funktion das Filter erfüllen soll, z. B. komplexe Korrelation oder Faltung. Die realen und imaginären Datenteile von Yin(n) werden mit den entsprechenden Koeffizienten multipliziert, die in den Koeffizienten-Speicherbänken 24, 27 gespeichert sind, wobei jede Multiplikation von einer Multiplizierschaltung 4 vorgenommen wird. Die in Fig. 2 mit 6 bezeichneten Verzögerungselemente dienen zur Erläuterung und zeigen an, daß die Eingangssignale in dem Akkumulator einen Taktzyklus lang gespeichert werden müssen, bevor sie an dem Ausgang erscheinen. In dem bevorzugten Ausführungsbeispiel sind die Verzögerungselemente 6 nicht als solche implementiert, vielmehr sind die Steuerschaltung 30 und die Steuersignale 39 (siehe Fig. 1), die die Multiplizierschaltungen 4 und die Akkumulatorschaltungen 5 steuern, für die Verzögerung verantwortlich. Jede Akkumulatorschaltung 5 stellt eine Summierschaltung dar, die zwei Eingangssignale addiert und ein Ausgangssignal erzeugt, das auf der rechten Seite des Akkumulators ausgegeben wird. So addiert z. B. der in Fig. 2 dargestellte Akkumulator 5 das Ergebnis von a&sub3;&sub1;*Re[Yin(n)] zu dem Ergebnis der Multiplikation von b&sub3;&sub0; mit Im[Yin(n)] einen Taktzyklus später als die Multiplikation auf der 'b'-Seite stattgefunden hat. Anhand der Beschreibung des Zeitdiagramms von Fig. 4 wird man erkennen, daß die Verwendung von parallelen Pfaden die verfügbare Zeit maximal ausnutzt, um die erforderlichen Multiplikationen und Akkumulierungen auszuführen.
  • Fig. 4 zeigt die von der Steuerschaltung 30 und den Steuersignalen 39 implementierte Zeitsequenz für die Steuerung der realen und der imaginären Eingangssignale der Multiplizierer 4 und der Akkumulatoren 5. Das Eingangssignal Yin(n) wird mit dem XMHz-Takt 19 eingetaktet. Die Dateneingabe für die Realteil- und die Imaginärteil-Verarbeitungsschaltung wird von dem Signal QSWITCH gesteuert, das das Signal 40 bildet. Dieses Signal wird zur Steuerung des Schalterkreises 32 benutzt, um das Eingangssignal Yin(n), das Signal 12, zwischen den Multiplizierern 4 umzuschalten, die mit den Koeffizienten der a'-Seite bzw. mit den Koeffizienten der 'b'-Seite verbunden sind. Die Anstiegsflanke des QSWITCH-Signals 40 taktet den Realteil Re[Yin(n)] in die ungeradzahlige Seite ein, während die Abstiegsflanke von QSWITCH über das Signal QSWITCH~-Signal 42 den Imaginärteil Im[Yin(n)] in die ungeradzahlige Seite eintaktet. [Wie aus der Figur erkennbar ist, laufen QSWITCH und QSWITCH~ mit der halben Taktfrequenz XMHz.] Da die Datenverarbeitung des Realteil und des Imaginärteils parallel ablaufen, werden die realen Daten sowohl mit den ungeradzahligen 15- als auch mit den ungeradzahligen 'a'-Koeffizienten multipliziert, und die imaginären Daten werden sowohl mit den geradzahligen 'a'- als auch mit den geradzahligen 'b'-Koeffizienten multipliziert. Die Imaginärteil-Verarbeitung wird um einen Takt verzögert, um das Multiplex-Ausgangssignal korrekt zu erzeugen.
  • Sobald die realen Daten für die Multiplizierer auf der ungeradzahligen Seite zur Verfügung stehen, beginnt mit der Anstiegsflanke von XMHz~ (Signal 43), d. h. dem invertierten XMHz-Taktsignal, die Multiplikation Re[Yin(n)]*'a'-ungeradzahlige und Im[Yin(n-1)]*'a'-geradzahlige Koeffizienten. Diese Multiplikation der 'a'-Seite findet statt, wenn QSWITCH 40 hohen Pegel (d. h. logisch 1) hat. Wenn QSWITCH 40 niedrigen Pegel hat, startet die Abstiegsflanke von XMHz die Multiplikation der 'b'-Seite, d. h. Im[Yin(n)]*'b'-geradzahlige Koeffizienten und Re [Yin(n-1)]* 'b'-ungeradzahlige Koeffizienten. Die Akkumulierung der Ergebnisse, die durch die erwähnten Multiplikationen gewonnen werden, bei denen die Koeffizienten der 'b'-Seite betroffen sind, wird dann durchgeführt, wenn die Multiplikation der Koeffizienten der 'a'-Seite stattfindet. Entsprechend wird die Akkumulierung der Ergebnisse, die aus den erwähnten Multiplikationen gewonnen werden, bei denen Koeffizienten der 'a'-Seite betroffen sind, dann durchgeführt, wenn die Multiplikation der Koeffizienten der 'b'-Seite stattfindet. Sobald die Akkumulierung auf der 'a'-Seite begonnen hat, kann auf die alternativen 'a'-Koeffizientenregister umgeschaltet werden, da die alten Koeffizienten nicht mehr benötigt werden, da sie von den Multiplizierern nicht benutzt werden. Entsprechend kann, wenn die Akkumulierung auf der 'b'-Seite begonnen hat, auf die alternativen 'b'-Koeffizientenregister umgeschaltet werden. Die Änderung des Datenzugriffs von einem Satz von 'a'- und 'b'-Koeffizientenregistern aus der Speicherbank 24 (z. B. der Bank φ) auf den anderen Satz von 'a'- und 'b'-Koeffizientenregistern aus der Speicherbank 27 (z. B. der Bank 1) wird als "Gewichtsauslagerung" bezeichnet. Dieses Merkmal wird im folgenden näher beschrieben.
  • Wie Fig. 4 zeigt, laufen QSWITCH 40 und QSWITCH~ 42 mit der halben XMHz-Taktfrequenz. Somit laufen die internen Berechnungen mit der Rate X/2 MHz ab, während das Ausgangssignal des Filters auf der Datenrate XMHz gehalten wird. In diesem speziellen Ausführungsbeispiel benötigt jeder Multiplizier- und Akkumulierzyklus 2/X · 10³ ns (wobei ein XMHz-Takt verwendet wird). In herkömmlichen FIR-Filterauslegungen muß die Multiplikation in der kürzeren Zeitspanne 1/X · 10³ ns stattfinden (d. h. mit der XMHz-Taktrate).
  • Wie oben erwähnt wurde, liefert die Koeffizienten-/Koeffizientenaktuafisierungs-Speicherbank 24 und die alternative Koeffizienten-/Koeffizientenaktualisierungs-Speicherbank 27 alle Koeffizientenwerte der 'a'-Seite und der 'b'-Seite an die betreffenden Multiplizierer 4 (Fig. 2). Die in Fig. 1 dargestellte Anordnung erlaubt eine einfache Erfassung des Prozesses. Wie dort gezeigt ist, liefern beide Koeffizienten-Speicherbänke 24 und 27 die geradzahligen 'b'- und die ungeradzahligen 'a'-Koeffizienten an die Realteil-Verarbeitungsschaltung 17 des Filters und die geradzahligen 'a'- und die ungeradzahligen 'b'-Koeffizienten an die Imaginärteil-Verarbeitungsschaltung 16 des Filters. Die jeweiligen 'a'- und 'b'-Koeffizienten werden auf die Multiplizierer in den Realteil- oder Imaginärteil-Verarbeitungsschaltung 17 bzw. 16 über entsprechende Gewichts-Signalleitungen 26 und 29 verteilt.
  • Für die Auslagerung der Koeffizienten in die Speicherbank 24 oder die Bank φ und die Speicherbank 27 oder die Bank 1 sind verschiedene Anordnungen möglich. So würde z. B. eine effizientere Anordnung halb so viele Koeffizienten und dementsprechend halb so viele Register benötigen, wenn die Registerwerte an zwei Multiplizierer verteilt werden können und die Akkumulatoren sowohl subtrahieren als auch addieren können. Dies ist deshalb so, weil in komplexen Korrelationsberechnungen der erste imaginäre Koeffizient, z. B. a&sub0;, gleich dem nachfolgenden realen Koeffizienten a&sub1; ist und der erste reale Koeffizient b&sub0; gleich dem Negativwert des folgenden imaginären Koeffizienten b&sub1; ist, wie weiter unten gezeigt wird.
  • Das erfindungsgemäß vorgesehene Merkmal der Gewichtsauslagerung wird nun anhand der Zeitdiagramme von Fig. 4 und 7 beschrieben. Gemäß Fig. 4 und wie oben erwähnt wurde, werden die Koeffizienten der 'a'-Seite und der 'b'-Seite aktualisiert, wenn die Akkumulierung der jeweils entsprechenden 'a'-Seite und 'b'-Seite stattfindet, d. h. wenn die Koeffizienten nicht von den Multiplizierern 4 benutzt werden. Wie man sieht, gibt es keine Zeit, in der sowohl die Koeffizienten der 'a'-Seite als auch die Koeffizienten der 'b'-Seite von den Multiplizierern nicht benutzt werden, so daß jeder separat ausgelagert werden muß.
  • Die Gewichtsauslagerungsschaltung 38 (siehe Fig. 1) liefert die Zeit- und Steuersignale, die für die Gewichtsauslagerungsfunktion in den realen und imaginären Koeffizienten-/Koeffizientenaktualisierungs-Speicherbänken 24 und 27 benötigt werden. Die Steuer- und Zeitsignale, die während des Gewichtsauslagerungsprozesse benutzt werden, sind in Fig. 7 dargestellt. Die Signale WSWAPA 54 und WSWAPB 58, die von der Gewichtsauslagerungsschaltung 38 (Fig. 1) erzeugt werden, veranlassen die Gewichtsauslagerung der 'a'-Seite bzw. der 'b'-Seite. Der Gewichtsauslagerungsschaltung 38 werden zugeführt: Das XMHz-Taktsignal 19, das WSWAPREQ~-Signal 21 und MULTIPLYA und MULTIPLYB, die die von der Steuerschaltung 30 erzeugten Signale 53 und 56 sind.
  • Anhand von Fig. 7a und Fig. 8 wird nun die Auslagerung der Koeffizienten der 'a'-Seite zwischen der Bank φ und der Bank 1 erläutert. Das in Fig. 7a dargestellte Zeitdiagramm gilt entsprechend auch für die Auslagerung der Koeffizienten der 'b'-Seite. Das von dem Host erzeugte Eingangssignal WSWAPREQ~ (21) zeigt an, daß der Host die Koeffizienten in der Registerbank aktualisiert hat, die von dem Filter nicht benutzt wird. Die Anforderung WSWAPREQ~ (21) ist mit dem XMHz-Takt (19) synchronisiert, um die Gewichtsauslagerungs-Anforderung synch-WSWAPRE- QSA~ zu erzeugen, die das Signal 48 bildet. Wenn Koeffizienten der " a"-Seite ausgelagert werden, wird dieses Signal als WSWAPREQSA~ dargestellt. Fig. 7b zeigt die Tabelle 70, die die Logik beschreibt, welche die Erzeugung der folgenden Signale regelt: WSWAPREQSA~ (Signal 48); Verzögerung der Anforderung zur Gewichtsauslagerung A, WSWAPREQDELA~ (Signal 52); Verzögerung der Anforderung zur Gewichtsauslagerung B, WSWAPREQDELB~ (Signal 55); Quittung zur Gewichtsauslagerung A, WSWAPAKA~ (Signal 57); Quittung zur Gewichtsauslagerung B, WSWAPAKB~ (Signal 59); Quittung zur Gewichtsauslagerung, WSWAPAK~ (Signal 60). Die Legende in Fig. 7b liefert die Definitionen der in der Wahrheitstabelle von Fig. 7b benutzten Symbole. So geht z. B. das WSWAPAK~-Signal 60 bei dem nächsten Takt auf niedrigen Pegel (logisch 0), falls das Signal 57, WSWAPAKA~, und das Signal 59, WSWAPAKB~, beide niedrigen Pegel haben. Das Signal 60, WSWAPAK~, wird erzeugt und von dem Filter ausgegeben, wenn die Koeffizienten sowohl der 'a'-Seite als auch der 'b'-Seite ausgelagert wurden. Es ist zu beachten, daß die Auslagerungs-Logikschaltung 38, die die in der Wahrheitstabelle 70 von Fig. 7b dargestellte Logik implementiert, durch eine programmierbare Array-Logik implementiert werden kann, vorzugsweise jedoch in dem ASIC implementiert ist.
  • Wie oben erwähnt wurde, veranlaßt das Signal 54, WSWAPA, die Gewichtsauslagerung auf der 'a'-Seite. Das Signal WSWAPREQDELA~ (52) wartet auf das Signal 53, MULTIPLYA, bevor das WSWAPA-Signal 54 erzeugt wird. Dieser Zustand zeigt an, daß mit dem nächsten Takt die Multiplikation der 'a'-Seite beendet wird und die Akkumulierung beginnt. Wie aus Fig. 7a und 7c ersichtlich ist, wird WSWAPA als Ausgangssignal des J-K-Flipflops 61 bei der Abfallflanke 62 von WSWAPREQDELA~ (Signal 52) erzeugt. Es ist zu beachten, daß sich nach einer Auslagerung auf der 'a'-Seite entsprechend der in der Wahrheitstabelle 70 angegebenen logischen Bedingung das Signal 57, WSWAPAKA~ durchsetzt.
  • Das WSWAPB-Signal 58, das die Auslagerung der Koeffizienten der 'b'-Seite veranlaßt, nachdem die Auslagerung der 'a'-Seite stattgefunden hat, wird als Ausgangssignal eines (nicht dargestellten) zweiten J-K-Flipflops mit der Abfallflanke von WSWAPREQDELB~ (Signal 55) erzeugt. Bevor die Auslagerung der 'b'-Seite stattfindet, wartet WSWAPREQDELB~ auf die Kombination der Signale MULTIPLYB (Signal 56) und WSWAPAKA~ (Signal 57) entsprechend der von der Wahrheitstabelle 70 der Auslagerungslogik von Fig. 7b vorgegebenen Logik. Nachdem eine Auslagerung der 'b'-Seite stattgefunden hat, setzt sich entsprechend der in der Wahrheitstabelle 70 von Fig. 7b angegebenen logischen Bedingung das WSWAPAKB~-Signal 59 durch.
  • Die Vorteile der Architektur mit zwei Speicherbänken für jede Hälfte des Filters sind leicht erkennbar. Vor allem wird eine maximale Filterverarbeitungszeit zur Verfügung gestellt, weil z. B. die Multiplizierer auf einen neuen Satz von aktualisierten Koeffizienten der 'a'-Seite in der Speicherbank 1 zugreifen können, während die Akkumulierung der Ergebnisse stattfindet, die aus den Multiplikationen der Eingangsdaten mit den Koeffizienten der 'a'-Seite gewonnen werden, die derzeit in der Bank φ geladen sind. Dadurch wird sichergestellt, daß jederzeit Koeffizienten der 'a'-Seite verfügbar sind, so daß der Filterungsprozeß nicht unterbrochen wird. Entsprechendes gilt für die Koeffizienten der 'b'-Seite, obwohl hier eine Verzögerung um einen Taktzyklus auftritt.
  • Mit herkömmlichen Filtern nach dem Stand der Technik benötigt man mehr als einen Taktzyklus, um Daten in eine Speicherbank von Registern einzuschreiben, nachdem diese Bank die Koeffizienten für die Multiplikation mit dem Eingangssignal während eines vorangehenden Taktzyklus geliefert hat. Somit konnte in einem Filter mit nur einer Koeffizienten-Speicherbank der neue Satz von Koeffizientendaten während des Akkumulierungszyklus, der nominell einen Taktzyklus dauert (siehe Fig. 4) nicht in diese Speicherbank geladen werden. Deshalb ist nach Beendigung des Akkumulierungszyklus eine Zeitverzögerung in der Filterverarbeitung vorgesehen, die solange dauert, bis das Laden von neuen Koeffizientendaten in die Speicherbank beendet ist. Während dieser Zeitverzögerung kann keine Multiplikation stattfinden, so daß die Filterleistung beeinträchtigt wird.
  • Bei der 2-Bank-Architektur des Anmelders wird die alternative Speicherbank, d. h. diejenige, die von dem Filter nicht benutzt wird, mit dem neuen Satz von Koeffizienten aktualisiert, während das Filter mit den in der ersten Koeffizienten-Speicherbank vorhandenen Daten arbeitet. Dadurch ist sichergestellt, daß die Multiplikation mit neuen Koeffizienten, die in der alternativen Bank geladen sind, unter der Steuerung der Gewichtsauslagerungsschaltung unverzüglich erfolgen kann, nachdem die Akkumulierung stattgefunden hat. Deshalb ist die Ausgaberate der komplexen Daten des Filters gleich der Eingaberate der komplexen Daten, ohne daß eine Zeitverzögerung in der Filterverarbeitung auftritt. Wie oben erwähnt wurde, ist zu beachten, daß die Koeffizientendaten zunächst in die erste Koeffizienten-Speicherbank (z. B. die Bank φ) geladen werden. Die nachfolgenden aktualisierten Koeffizientendaten werden nach jeder Gewichtsauslagerungs-Anforderung unter der automatischen Steuerung der Gewichtsauslagerungsschaltung sukzessiv in die alternative Speicherbank geladen, d. h. in diejenige, die nicht von den Multiplizierern benutzt wird.
  • Das Einschreiben der Koeffizientendaten in die Speicherbänke während des Gewichtsauslagerungsprozesses wird nun anhand von Fig. 8 erläutert. Fig. 8 zeigt, wie die Koeffizienten der 'a'- Seite zwischen den Koeffizientenregistern in der Bank φ und der Bank 1 ausgelagert werden.
  • Man erkennt, daß dann, wenn das Filter 10 auf die Koeffizientenregister in der Bank φ zugreift, die Koeffizienten der 'a'-Seite enthalten, der Host-Computer auf die Koeffizientenregister in der Bank 1 zugreifen kann, die Koeffizienten der 'a'-Seite enthalten, um dort aktualisierte 'a'-Koeffizientendaten einzuschreiben und umgekehrt. Die Koeffizienten der 'b'-Seite werden in ähnlicher Weise ausgelagert, d. h. in einem gegebenen Zeitpunkt greift entweder das Filter 10 oder der Host-Computer auf die Koeffizientenregister der 'b'-Seite in der Bank φ zu.
  • Im Betrieb wird auf die einzelnen Koeffizientenregister der 'a'-Seite zugegriffen, um die Daten aufzunehmen, die auf dem Bus 23 DATAIN anliegen. Wie Fig. 8 zeigt, bestimmt das WSWAPA- Signal 54 zusammen mit dem Wr~-Signal 14, auf welche Koeffizienten-/Koeffizientenaktualisierungs-Speicherbank das Filter 10 zugreift (z. B. die Bank φ), und welche Speicherbank die aktualisierten Koeffizienten aufnehmen soll (z. B. die Bank 1). Das Signal 44, REGSELECT(5:φ), wählt das individuelle Koeffizientenregister in der ausgewählten Speicherbank, d. h. dasjenige der Register C&sub0; bis C&sub5; aus, das die anliegenden Daten DATAIN aufnehmen soll. Wie oben erwähnt wurde, enthalten die Daten DATAIN Fließkomma-Koeffizienten mit bis zu 32 Bits für höhere mathematische Genauigkeit. Eine identische Operation wird ausgeführt, wenn Koeffizienten in der alternativen Koeffizienten-/Koeffizientenaktualisierungs-Speicherbank φ aktualisiert werden, während das Filter 10 auf die in der Bank 1 vorhandenen Koeffizienten zugreift. Hier bestimmt wieder das Signal 54, WSWAPA, zusammen mit dem Wr~-Signal 14 diejenigen Koeffizientenregister in der Bank φ, die die aktualisierten Koeffizientendaten aufnehmen. Das Signal 44, REGSELECT(5:φ), wählt dann das individuelle Koeffizientenregister in der Bank φ aus, das die auf DATAIN vorhandenen aktualisierten Koeffizientendaten aufnehmen soll.
  • Die oben erwähnten Prozesse gelten auch für die Auslagerung der Koeffizienten der 'b'-Seite. Bei der Aktualisierung der Koeffizienten der 'b'-Seite bestimmt das Signal WSWAPB (58) zusammen mit Wr~ (14), auf welche Gewichts-/Gewichts-Aktualisierungs-Speicherbank das Filter 10 zugreift (z. B. die Bank φ), und welche Speicherbank die aktualisierten Koeffizienten aufnehmen soll (z. B. die Bank 1) und umgekehrt. Man sieht, daß das Filter für den Host wie ein speicherkonformes Peripheriegerät aussieht und daß die Koeffizienten an aufeinanderfolgende Speicherstellen heruntergeladen werden. Obwohl dies in Fig. 8 nicht dargestellt ist, muß das Ce~- Signal 18 in Fig. 1 sich durchsetzen, während das Wr~-Signal (14) aktiviert ist, wie dies bei speicherorientierten Peripheriegeräten Standardpraxis ist.
  • Beispiel eines Filters mit drei komplexen Gewichten
  • Es wird eine komplexe Korrelation zweier Vektoren beschrieben, um zu veranschaulichen, wie das Filter gemäß der Erfindung für digitale Signalverarbeitungsanwendungen benutzt wird. Eine komplexe Korrelation mit N Gewichten erfordert vom Konzept her 2 · 2 N Koeffizienten. In diesem Beispiel wird eine komplexe Korrelation mit drei Gewichten ausgeführt, dementsprechend wer den 12 Koeffizienten benötigt. Die vorliegende Erfindung ist jedoch nicht auf eine bestimmte Zahl von Koeffizienten beschränkt, abgesehen davon, daß es eine gerade Zahl pro Abschnitt sein muß, damit die Kaskadierung korrekt arbeitet. Nach der Herleitung der Koeffizienten für eine komplexe Korrelation mit drei Gewichten wird gezeigt, daß es tatsächlich nur sechs eindeutige Koeffizienten gibt. In einem bevorzugten Ausführungsbeispiel wird ein Verfahren zur Implementierung des Filters mit nur sechs Koeffizienten vorgestellt.
  • In Fig. 5 ist ein Filter mit drei Gewichten dargestellt. Die Implementierung des komplexen Filters mit drei Gewichten wird beschrieben, um den Aufbau einschließlich der Kaskadierung von den Koeffizienten höherer Ordnung zu den Koeffizienten niedrigerer Ordnung und die Summierung des Filterausgangssignals und des Sollwert-Eingangssignal zur Erzeugung des Fehlerterms zu zeigen.
  • Eine allgemeine digitale Signalverarbeitungsfunktion, die als FIR-Filter implementiert wird, ist eine komplexe Korrelation. Die komplexe Korrelation zweier Vektoren ist gegeben durch
  • (1) Rwy(m) = w*(k)y(k+m)
  • worin w*(k) die konjugierte Komplexe des Gewichtsvektors w(k), y(k+m) eine zeitverschobene Version des Referenzeingangssignals y(m) und N die Zahl der komplexen Koeffizienten, in diesem Beispiel gleich 3, bedeuten. Die Erweiterung der Summierung in Gleichung (1) für m gleich 0 ergibt
  • (2) Rwy(0) = w*(0)y(0) + w*(1)y(1) + w*(2)y(2)
  • Der Gewichtsvektor w(k) ist gegeben durch
  • (3) w(k) = rw(k) + j[iw(k)]
  • worin rw(k) der Realteil des Gewichtsvektors und [iw(k)] der Imaginärteil des Gewichtsvektors bedeutet. Die Erweiterung von Gleichung (3) für Werte von k im Bereich von 0 bis N-1 ergibt
  • (4) w(0) = rw(0) + J[iw(0)]
  • w(1) = rw (1) + j[iw(1)]
  • w(2) = rw (2) + j[iw(2)]
  • Die konjugierte Komplexe der Gewichtsvektoren von Gleichung (4) sind gegeben durch
  • (5) w*(0) (0) = rw(0) - j[iw(0)]
  • w*(1) = rw(1) - J[iw(1)]
  • w*(2) = rw(2) - j[iw(2)]
  • Der Referenz-Eingangsvektor y(k+m) ist gegeben durch
  • (6) y(0) = ry (0) + j[iy(0)]
  • y(1) = ry(1) + j[iy(1)]
  • y(2) = ry(2) + j[iy(2)]
  • Durch Substituieren der Gleichung (5) und (6) in die Gleichung (2) erhält man
  • (7) Rwy(0) = (rw(0) - j[iw(0)]) (ry(0) + j[iy(0)])
  • + (rw(1) - j[iw(1)]) (ry(1) + j[iy(1)])
  • + (rw(2) - j[iw(2)]) (ry(2) + j[iy(2)])
  • Durch Erweitern der Gleichung (7) erhält man
  • (8) Rwy(0) = rw(0)ry(0) - j[iw(01]ry(0) + iw(0)iy(0) + rw(0)j[iy(0)]
  • + rw(1)ry(1) - j[iw(1)]ry(1) + iw(1)iy(1) + rw(1)j[iy(1)]
  • + rw(2)ry(2) - j[iw(2)]ry(2) + iw(2)iy(2) + rw(2)j[iy(2)]
  • Das Neuordnen der Gleichung (8) in die Real-, und Imaginärteile ergibt
  • (9) Rwy(0) = rw (0)ry(0) + iw(0)iy(0)
  • + rw (1)ry(1) + iw(1)iy(1)
  • + rw (2)ry(2) + iw(2)iy(2)
  • + j[rw(0)iy(0) - ry(0)iw(0)
  • + rw(1)iy(1) - ry(1)iw(1)
  • + rw (2)iy(2) - ry(2)iw(2)]
  • Das Referenzeingangssignal Yin wird zuerst dem Realteil des Filters zugeführt. Dementsprechend sind die Werte für Yin gegeben durch
  • (10) Yin(0) = ry(0)
  • Yin(1) = iy(0)
  • Yin(2) = ry(1)
  • Yin(3) = iy(1)
  • Yin(4) = ry(2)
  • Yin(5) = iy(2)
  • Die Koeffizienten werden auf der Basis der spezifischen Implementation des in Fig. 5 dargestellten Filters ausgewählt und sind gegeben durch:
  • (11) a0 = rw(2) b0 = iw(2)
  • a1 = rw(2) b1 = -iw(2)
  • a2 = rw(1) b2 = iw(1)
  • a3 = rw(1) b3 = -iw(1)
  • a4 = rw(0) b4 = iw(0)
  • a5 = rw(0) b5 = -iw(0)
  • Es ist klar, daß a&sub0; = a&sub1;, a&sub2; = a&sub3;, a&sub5; = a&sub5;, b&sub0; = -b&sub1;, b&sub2; = -b&sub3; und b&sub4; = -b&sub5;. Deshalb müssen in dem bevorzugten Ausführungsbeispiel nur die Koeffizienten a&sub0;, a&sub1;, a&sub2;, a&sub4;, b&sub0;, b&sub2; und b&sub4; vorgesehen sein. So wird in der Anordnung von Fig. 5 der Koeffizient a&sub0; an beide Multiplizierschaltungen 82' und 80 ausgegeben; der Koeffizient a&sub2; wird an die Multiplizierschaltungen 78' und 76 ausgegeben; der Koeffizient a&sub4; wird an die Multiplizierschaltungen 74' und 72 ausgegeben; der Koeffizient b&sub0; wird an die Multiplizierschaltungen 82 und 80' ausgegeben; der Koeffizient b&sub2; wird an die Multiplizierschaltungen 76 ' und 78 ausgegeben; und der Koeffizient b&sub4; wird an die Multiplizierschaltungen 72' und 74 ausgegeben. Wenn man die Koeffizienten von Gleichung (11) und die Werte der Referenzeingangssignale von Gleichung (10) in die Gleichung (9) substituiert, erhält man
  • (12) Rwy(0) = a&sub5; yin(1) + b&sub4; yin(1) + a&sub3; yin(2) + b&sub2; yin(3)
  • + a&sub1; yin(4) + b&sub0; yin(5) + b0 yin(5) + j[b&sub5; yin(0) + a&sub4; yin(1)
  • + b&sub3; yin(2) + a&sub2; yin(3) + b&sub1; yin(4) + a&sub0; yin(5)]
  • Die komplexe Korrelation Rwy(0) ist, als Filterausgangssignal, gegeben durch
  • (13) Rwy(0) = Cout(6) + jCout(7)
  • worin Cout(6) der Realteil von Rwy(0) und Cout (7) der Imaginärteil von Rwy(0) bedeuten. Gleichung (13) ist das Ergebnis der mathematischen Berechnung der komplexen Korrelation zweier Vektoren.
  • Die Blockdiagrammdarstellung des Filters in Fig. 5 soll demonstrieren, daß die Operation des Filters dem oben erhaltenen mathematischen Ergebnis entspricht. Jede Vorrichtung in Fig. 5 ist durch einen Namen und eine Zahl identifiziert, die den Spaltenüberschriften in Fig. 6a und 6b entsprechen. Die Verarbeitung, die in der oberen Hälfte des FIR-Filters von Fig. 5, d. h. der Realteil-Verarbeitungsschaltung 17, stattfindet, ist in Fig. 6a tabellarisch zusammengefaßt und entspricht dem realen Ausgangssignal des komplexen Filters mit drei Gewichten. Die untere Hälfte von Fig. 5, d. h. die Imaginärteil-Verarbeitungsschaltung 16, ist in Fig. 6b tabellarisch zusammengefaßt und entspricht dem imaginären Ausgangssignal des komplexen Filters mit drei Gewichten. Die Verarbeitungstabelle 6a, die der Realteil-Verarbeitungsschaltung 17 entspricht, macht von den folgenden Gleichungen (14) bis (19) Gebrauch.
  • In dem Realteil-Pfad des Filters ist das Ausgangssignal accum5 der sechsten Summierschaltung 71 gegeben durch
  • (14) accum5 = Cin + mult5
  • worin Cin das Kaskaden-Eingangssignal 19 ist und mult5 das Ausgangssignal der sechsten Multiplizierschaltung 72 repräsentiert. Das Ausgangssignal accum4 der fünften Summierschaltung 73 ist gegeben durch
  • (15) accum4 = accum5 + mult4
  • worin accum5 durch Gleichung (14) gegeben ist und mult4 das Ausgangssignal der fünften Multiplizierschaltung 74 repräsentiert. Das Ausgangssignal accum3 der vierten Summierschaltung 75 ist gegeben durch
  • (16) accum3 = accum4 + mult3
  • worin accum4 durch die Gleichung (15) gegeben ist und mult3 das Ausgangssignal der vierten Multiplizierschaltung 76 repräsentiert. Das Ausgangssignal accum2 der dritten Summierschaltung 77 ist gegeben durch
  • (17) accum2 = accum3 + mult2
  • worin accum3 durch die Gleichung (16) gegeben ist und mult2 das Ausgangssignal der dritten Multiplizierschaltung 78 repräsentiert. Das Ausgangssignal accum1 der zweiten Summierschaltung 79 ist gegeben durch
  • (18) accum1 = accum2 + mult1
  • worin accum2 durch Gleichung (17) gegeben ist und mult1 das Ausgangssignal der zweiten Multiplizierschaltung 80 repräsentiert. Das Ausgangssignal accumφ der ersten Summierschaltung 81 ist gegeben durch
  • (19) accumφ = accum1 + multφ
  • worin accum1 durch Gleichung (18) gegeben ist und multφ das Ausgangssignal der ersten Multiplizierschaltung 82 repräsentiert.
  • Die Ergebnisse für den Realteil des Ausgangssignals Cout(n) des Filters mit drei Gewichten bilden das Ausgangssignal zur Zeit n, die in diesem Fall gleich 6 ist. Somit entspricht das Ergebnis Cout(6) bei dem sechsten Taktzyklus dem Ergebnis, das mathematisch in der Gleichung (12) gewonnen wird.
  • Die Verarbeitungstabelle 6b, die der Imaginärteil-Verarbeitungsschaltung 16 des Filters 10 entspricht, macht von den unten angegebenen Gleichungen (20) bis (25) Gebrauch. In dem Imaginärteil-Pfad des Filters von Fig. 5 ist das Ausgangssignal accum5 der sechsten Summierschaltung 71' gegeben durch
  • (20) accum5 = Cin + mult5
  • worin Cin das Kaskaden-Eingangssignal 19 ist und mult 5 das Ausgangssignal der sechsten Multiplizierschaltung 72' repräsentiert. Das Ausgangssignal accum4 der fünften Summierschaltung 73' ist gegeben durch
  • (21) accum4 = accum5 + mult4
  • worin accum5 durch die Gleichung (20) gegeben ist und mult4 das Ausgangssignal der fünften Multiplizierschaltung 74' repräsentiert. Das Ausgangssignal accum3 der vierten Summierschaltung 75' ist gegeben durch
  • (22) accum3 = accum4 + mult3
  • worin accum4 durch die Gleichung (21) gegeben ist und mult3 das Ausgangssignal der vierten Multiplizierschaltung 76' repräsentiert. Das Ausgangssignal accum2 der dritten Summierschaltung 77' ist gegeben durch
  • (23) accum2 = accum3+ mult2
  • worin accum3 durch die Gleichung (22) gegeben ist und mult2 das Ausgangssignal der dritten Multiplizierschaltung 78' repräsentiert. Das Ausgangssignal accum1 der zweiten Summierschaltung 79' ist gegeben durch
  • (24) accum1 = accum² + mult1
  • worin accum2 durch die Gleichung (23) gegeben ist und mult1 das Ausgangssignal der zweiten Multiplizierschaltung 80' repräsentiert. Das Ausgangssignal accumφ der ersten Summierschaltung 81' ist gegeben durch
  • (25) accumφ = accum1 + multφ
  • worin accum1 durch die Gleichung (24) gegeben ist und multφ das Ausgangssignal der ersten Multiplizierschaltung 82' repräsentiert.
  • In dem bevorzugten Ausführungsbeispiel des Filters mit drei Gewichten, bei dem nur 2 N oder sechs Koeffizienten verwendet werden, muß das Filter die Subtraktion ausführen, z. B.: accum1 = accum2 - mult1; und accum3 = accum4 - mult3, um die (-)-Vorzeichen in den Koeffizienten b1, b&sub3; und b&sub5; anzupassen.
  • Somit sind die Ergebnisse für den Imaginärteil des Ausgangssignals Cout(n) dieses Filters mit drei Gewichten das Ausgangssignal zu der Zeit n, die in diesem Fall gleich 7 ist. Es ist zu beachten, daß das in dem siebten Taktzyklus das Ergebnis Cout(7) dem Imaginärteil des Ergebnisses entspricht, das mathematisch in der Gleichung (12) gewonnen wird. Aufgrund der anfänglichen Koeffizienten-Speicherverzögerung um einen Taktzyklus in den Speichervorrichtungen 65 des Imaginärteil-Verarbeitungspfads 16 des Filters steht das imaginäre Ausgangssignal Cout (7) in dem siebten Taktzyklus zur Verfügung. Die Verzögerung um einen Taktzyklus in diesem Pfad ist erforderlich, um eine passende Multiplexverschachtelung des Signals 25, Cout(n), (Filterausgangssignal) zu gewährleisten.
  • Die Erfindung wurde speziell an ihren bevorzugten Ausführungsbeispielen dargestellt und beschrieben. Der einschlägige Fachmann erkennt, daß die oben beschriebenen Änderungen sowie weitere Änderungen in der Form und im Detail möglich sind, ohne daß damit der Schutzbereich der Erfindung verlassen wird, der nur durch den Schutzumfang der anliegenden Ansprüche begrenzt ist.

Claims (12)

1. Filter mit endlicher Impulsantwort (FIR-Filter) (10) mit adaptiven Gewichten zur Verarbeitung eines komplexen Datensignals, das sowohl reale als auch imaginäre Eingangsdatenkomponenten enthält, wobei das FIR-Filter aufweist:
a) eine erste Datenverarbeitungsschaltung (17) zum Erzeugen einer realen Ausgangsdatenkomponente eines komplexen Filterausgangssignals, wobei die erste Verarbeitungsschaltung einen ersten Eingang besitzt, der verbunden ist mit einer ersten Mehrzahl von Multipliziereinrichtungen (4) zum Multiplizieren des realen Eingangsdatenkomponente mit einem ersten Satz von adaptiven Gewichten während eines ersten Zeitintervalls und aufeinanderfolgender erster Zeitintervalle und zum Erzeugen von entsprechenden ersten Sätzen von gewichteten Daten für die Ausgabe in jeder Multipliziereinrichtung der genannten ersten Mehrzahl von Multipliziereinrichtungen, sowie einen zweiten Eingang, der verbunden ist mit einer zweiten Mehrzahl von Multipliziereinrichtungen zum Multiplizieren der imaginären Eingangsdatenkomponente mit einem zweiten Satz von adaptiven Gewichten während eines zweiten Zeitintervalls und aufeinanderfolgender zweiter Zeitintervalle und zum Erzeugen von entsprechenden zweiten Sätzen von gewichteten Daten für die Ausgabe in jeder Multipliziereinrichtung der genannten zweiten Mehrzahl von Multipliziereinrichtungen,
b) eine zweite Datenverarbeitungsschaltung (16) zum Erzeugen einer imaginären Ausgangsdatenkomponente des komplexen Filterausgangssignals, wobei die zweite Verarbeitungsschaltung einen ersten Eingang besitzt, der verbunden ist mit einer dritten Mehrzahl von Multipliziereinrichtungen zum Multiplizieren der realen Eingangsdatenkomponente mit einem dritten Satz von adaptiven Gewichten während der genannten aufeinanderfolgenden zweiten Zeitintervalle und zum Erzeugen von entsprechenden dritten Sätzen von gewichteten Daten für die Ausgabe in jeder Multipliziereinrichtung der dritten Mehrzahl von Multipliziereinrichtungen, sowie einen zweiten Eingang, der verbunden ist mit einer vierten Mehrzahl von Multipliziereinrichtungen zum Multiplizieren der imaginären Eingangsdatenkomponente mit einem vierten Satz von adaptiven Gewichten während aufeinanderfolgender erster Zeitintervalle und zum Erzeugen von entsprechenden vierten Sätzen von gewichteten Daten für die Ausgabe in jeder Multipliziereinrichtung der genannten vierten Mehrzahl von Multipliziereinrichtungen,
c) eine Abtasteinrichtung für die Eingabe der realen Eingangsdatenkomponente in den ersten Eingang während des ersten Zeitintervalls und danach während aufeinanderfolgender erster Zeitintervalle und für die Eingabe der imaginären Eingangsdatenkomponente in den zweiten Eingang während des zweiten Zeitintervalls und danach während aufeinanderfolgender zweiter Zeitintervalle,
d) eine an dem ersten Eingang der zweiten Datenverarbeitungsschaltung (16) angeordnete erste Eingangsspeichereinrichtung zum Verzögern der Multiplikation der realen Eingangsdatenkomponente mit der dritten Mehrzahl von Multipliziereinrichtungen um ein Zeitintervall und eine an dem zweiten Eingang der zweiten Datenverarbeitungsschaltung angeordnete zweite Eingangsspeichereinrichtung zum Verzögern der Multiplikation der imaginären Eingangsdatenkomponente mit der vierten Mehrzahl von Multipliziereinrichtungen um ein Zeitintervall,
e) eine erste Mehrzahl von Akkumulatorschaltungen (5), die Ausgänge jeder Multipliziereinrichtung aus der ersten Mehrzahl von Multipliziereinrichtungen (5) mit Ausgängen jeder Multipliziereinrichtung aus der zweiten Mehrzahl von Multipliziereinrichtungen verbinden, um aufeinanderfolgend ausgewählte erste Sätze von gewichteten Daten und ausgewählte zweite Sätze von gewichteten Daten zu akkumulieren und die reale Ausgangsdatenkomponente des komplexen Ausgangssignals zu bilden, und eine zweite Mehrzahl von Ackumulatorschaltungen, die Ausgänge jeder Multipliziereinrichtung aus der dritten Mehrzahl von Multipliziereinrichtungen mit Ausgängen jeder Multipliziereinrichtung aus der vierten Mehrzahl von Multipliziereinrichtungen verbinden, um ausgewählte dritte Sätze von gewichteten Daten und ausgewählte vierte Sätze von gewichteten Daten sukzessiv zu akkumulieren und die imaginäre Ausgangsdatenkomponente des komplexen Ausgangssignals zu bilden,
f) eine Steuereinrichtung (30) zum simultanen Steuern der ersten Mehrzahl von Ackumulatorschaltungen und der zweiten Mehrzahl von Akkumulatorschaltungen in der Weise, daß sie die ersten Sätze von gewichteten Daten bzw. die vierten Sätze von gewichteten Daten während der aufeinanderfolgenden zweiten Zeitintervalle akkumulieren, und zum simultanen Steuern der ersten Mehrzahl von Akkumulatorschaltungen und der zweiten Mehrzahl von Akkumulatorschaltungen in der Weise, daß sie die zweiten Sätze von gewichteten Daten bzw. die dritten Sätze von gewichteten Daten während der aufeinanderfolgenden ersten Zeitintervalle akkumulieren, und
g) eine Koeffizientenauslagerungsschaltung (38) zum Aktualisieren der adaptiven Gewichtswerte der vorbestimmten Koeffizientensätze, wobei diese Schaltung simultan die Werte der ersten Mehrzahl und der vierten Mehrzahl von adaptiven Gewichten während der aufeinanderfolgenden zweiten Zeitintervalle aktualisiert und simultan die Werte der zweiten Mehrzahl und der dritten Mehrzahl von adaptiven Gewichten während der aufeinanderfolgenden ersten Zeitintervalle aktualisiert.
2. Filter nach Anspruch 1, mit einer Speichereinrichtung zum Speichern der ersten Mehrzahl, der zweiten Mehrzahl, der dritten Mehrzahl und der vierten Mehrzahl von adaptiven Gewichtswerten für die jeweiligen Multiplikationen.
3. Filter nach Anspruch 2, bei dem die Koeffizientenauslagerungsschaltung die erste, die zweite, die dritte und die vierte Mehrzahl von adaptiven Gewichtswerten steuert, die bei Anforderung der Steuereinrichtung in die Speichereinrichtung zu laden sind.
4. Filter nach Anspruch 3, ferner mit einer Ausweichspeichereinrichtung zur Aufnahme der aktualisierten ersten Mehrzahl und der aktualisierten vierten Mehrzahl von adaptiven Gewichtswerten, während die in der Speichereinrichtung gespeicherte erste Mehrzahl und vierte Mehrzahl von adaptiven Gewichtswerten für die Multiplikation verwendet werden, wobei die Ausweichspeichereinrichtung die aktualisierte zweite Mehrzahl und die aktualisierte dritte Mehrzahl von adaptiven Gewichtswerten aufnimmt, während die in der Speichereinrichtung gespeicherte zweite Mehrzahl und dritte Mehrzahl von adaptiven Gewichtswerten für die Multiplikation verwendet werden.
5. Filter nach Anspruch 4, bei dem die Koeffizientenauslagerungsschaltung ein Gewichtsauslagerungs-Quittungssignal erzeugt, um die Steuerschaltung zu informieren, daß entweder die genannte Speichereinrichtung für die Aufnahme von aktualisierten Koeffizientenwerten verfügbar ist oder die Ausweichspeichereinrichtung für die Aufnahme von aktualisierten Koeffizientenwerten verfügbar ist.
6. Filter nach Anspruch 1, ferner mit einer Einrichtung zum Erzeugen eines Fehlersignals für Verwendung in der Prozessoreinrichtung.
7. Filter nach Anspruch 6, bei dem die Einrichtung zum Erzeugen eines Fehlersignals eine erste Summierschaltung aufweist zum Addieren der realen Filterausgangskomponente und eines gewünschten realen Ausgangssignals sowie eine zweite Summierschaltung zum Addieren der imaginären Filterausgangskomponente und eines gewünschten imaginären Ausgangssignals.
8. Filter nach Anspruch 1, bei dem die Steuerschaltung ferner eine Multiplexereinrichtung aufweist zum Multiplexen der realen Ausgangsdatenkomponente aus der ersten Datenverarbeitungsschaltung und der imaginären Ausgangsdatenkomponente aus der zweiten Datenverarbeitungsschaltung zur Bildung des komplexen Ausgangssignals an dem ausgangsseitigen Ende des Filters.
9. Filter nach Anspruch 8, ferner mit einer Kaskadenausgangsschaltung zum Verbinden der Multiplexereinrichtung an dem ausgangsseitigen Ende des Filters mit einer Kaskadeneingangsschaltung einer aufeinanderfolgenden FIR-Filterstufe, um dadurch die FIR-Filter in Kaskade anzuordnen.
10. Verfahren zum Verarbeiten von komplexen digitalen Daten, die sowohl reale als auch imaginäre Eingangsdaten enthalten, wobei das Verfahren die Verfahrensschritte umfaßt:
a) abwechselndes Laden der realen Eingangsdaten in einen ersten Datenpfad und der imaginären Eingangsdaten in einen zweiten Datenpfad während aufeinanderfolgender Zeitintervalle, wobei der erste Datenpfad eine erste Mehrzahl und eine zweite Mehrzahl von adaptiven Gewichten aufweist, die Koeffizientendaten mit vorbestimmten Werten besitzen, und wobei der zweite Datenpfad eine dritte Mehrzahl und eine vierte Mehrzahl von adaptiven Gewichten aufweist, die Koeffizientendaten mit vorbestimmten Werte n besitzen,
b) Speichern der realen Eingangsdaten in den ersten Datenpfad mit der genannten zweiten Mehrzahl von adaptiven Gewichten während eines Zeitintervalls nach dem Laden der realen Eingangsdaten in den ersten Datenpfad, und Speichern der imaginären Eingangsdaten in den ersten Datenpfad mit der genannten vierten Mehrzahl von adaptiven Gewichten während eines Zeitintervalls nach dem Laden der imaginären Eingangsdaten in den zweiten Datenpfad,
c) simultanes Multiplizieren der realen Eingangsdaten bzw. der imaginären Eingangsdaten mit den Koeffizientendatenwerten der ersten Mehrzahl von adaptiven Gewichten und der vierten Mehrzahl von adaptiven Gewichten während eines ersten Zeitintervalls und aufeinanderfolgender erster Zeitintervalle, um daraus eine erste bzw. eine vierte Mehrzahl von Multiplikationsergebnissen zu gewinnen,
d) simultanes Multiplizieren der imaginären Eingangsdaten bzw. der realen Eingangsdaten mit den Koeffizientendatenwerten der zweiten Mehrzahl von adaptiven Gewichten und der dritten Mehrzahl von adaptiven Gewichten während eines zweiten Zeitintervalls und aufeinanderfolgender zweiter Zeitintervalle, um daraus eine zweite bzw. eine dritte Mehrzahl von Multiplikationsergebnissen zu gewinnen,
e) abwechselndes Akkumulieren der Ergebnisse sowohl der ersten Mehrzahl als auch der zweiten Mehrzahl von Multiplikationsergebnissen, um daraus einen Realteil der Filterausgangsdaten zu bilden, und
f) abwechselndes Akkumulieren der Ergebnisse sowohl der dritten Mehrzahl als auch der vierten Mehrzahl von Multiplikationsergebnissen, um daraus einen Imaginärteil der Filterausgangsdaten zu bilden,
wobei die erste Mehrzahl und die vierte Mehrzahl von Multiplikationsergebnissen während der zweiten Zeitintervalle simultan akkumuliert werden und die zweite Mehrzahl und die dritte Mehrzahl von Multiplikationsergebnissen während aufeinanderfolgender erster Zeitintervalle simultan akkumuliert werden, und
g) Aktualisieren der Koeffizientendatenwerte der ersten Mehrzahl und der vierten Mehrzahl von adaptiven Gewichten während der Akkumulierung der ersten Mehrzahl und der vierten Mehrzahl von Multiplikationsergebnissen während der aufeinanderfolgenden zweiten Zeitintervalle, und simultanes Aktualisieren der Koeffizientendatenwerte der zwei ten Mehrzahl und der dritten Mehrzahl von adaptiven Gewichten während der Akkumulierung der zweiten Mehrzahl und der dritten Mehrzahl von Multiplikationsergebnissen während der aufeinanderfolgenden ersten Zeitintervalle.
11. Verfahren nach Anspruch 10, bei dem der ersten und der vierten Mehrzahl von adaptiven Gewichten eine erste Speichereinrichtung und eine erste Ausweichspeichereinrichtung zum Speichern der Koeffizientendaten zugeordnet sind, wobei der Verfahrensschritt des Aktualisierens den Verfahrensschritt umfaßt, daß während einer Akkumulierung der ersten Mehrzahl und der vierten Mehrzahl von Multiplikationsergebnissen abwechselnd auf Koeffizientendatenwerte entweder aus der ersten Speichereinrichtung oder aus der ersten Ausweichspeichereinrichtung zugegriffen wird.
12. Verfahren nach Anspruch 10, bei dem der zweiten und der dritten Mehrzahl von adaptiven Gewichten eine zweite Speichereinrichtung und eine zweite Ausweichspeichereinrichtung zum Speichern der Koeffizientendaten zugeordnet sind, wobei der Verfahrensschritt des Aktualisierens den Verfahrensschritt umfaßt, daß während einer Akkumulierung der zweiten Mehrzahl und der dritten Mehrzahl von Multiplikationsergebnissen abwechselnd auf Koeffizientendatenwerte entweder aus der zweiten Speichereinrichtung oder aus der zweiten Ausweichspeichereinrichtung zugegriffen wird.
DE69426231T 1993-05-28 1994-05-24 Komplexes adaptives fir-filter Expired - Fee Related DE69426231T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/068,932 US5381357A (en) 1993-05-28 1993-05-28 Complex adaptive fir filter
PCT/US1994/005831 WO1994028499A1 (en) 1993-05-28 1994-05-24 Complex adaptive fir filter

Publications (2)

Publication Number Publication Date
DE69426231D1 DE69426231D1 (de) 2000-12-07
DE69426231T2 true DE69426231T2 (de) 2001-04-05

Family

ID=22085635

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69426231T Expired - Fee Related DE69426231T2 (de) 1993-05-28 1994-05-24 Komplexes adaptives fir-filter

Country Status (4)

Country Link
US (1) US5381357A (de)
EP (1) EP0700543B1 (de)
DE (1) DE69426231T2 (de)
WO (1) WO1994028499A1 (de)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556044B2 (en) 2001-09-18 2003-04-29 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US5642382A (en) * 1995-03-01 1997-06-24 Hitachi America, Ltd. Fir filters with multiplexed inputs suitable for use in reconfigurable adaptive equalizers
KR0181165B1 (ko) * 1995-06-29 1999-04-01 김광호 유한장 임펄스응답 필터 및 그 필터링 방법
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
DE19541853C1 (de) * 1995-11-09 1996-08-14 Siemens Ag Schaltungsanordnung und Verfahren zur Mehrfachnutzung eines digitalen Transversalfilters
US5777912A (en) * 1996-03-28 1998-07-07 Crystal Semiconductor Corporation Linear phase finite impulse response filter with pre-addition
GB9607863D0 (en) * 1996-04-16 1996-06-19 Central Research Lab Ltd Filter switching method
EP0932838B1 (de) * 1996-10-17 2007-02-14 Saab Bofors Dynamics AB Verfahren zur störungsunterdrückung in einem fmcw-radar
US5949997A (en) * 1997-01-03 1999-09-07 Ncr Corporation Method and apparatus for programming a microprocessor using an address decode circuit
US5933797A (en) * 1997-02-28 1999-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive dual filter echo cancellation
CA2229737A1 (en) * 1998-02-18 1999-08-18 Philsar Electronics Inc. Analog to digital converter for radio applications
FR2785747B1 (fr) * 1998-11-09 2004-02-13 Commissariat Energie Atomique Filtre numerique a architecture parallele et recepteur de signaux a etalement de spectre utilisant un tel filtre
US6724706B1 (en) * 1999-02-26 2004-04-20 Matsushita Electric Industrial Co., Ltd. Digital adaptive equalizer for different quality signals
US6225928B1 (en) * 1999-03-10 2001-05-01 Cirrus Logic Inc. Complex bandpass modulator and method for analog-to-digital converters
US6745218B1 (en) * 1999-03-16 2004-06-01 Matsushita Electric Industrial Co., Ltd. Adaptive digital filter
US6628923B1 (en) 2000-05-03 2003-09-30 Nokia Networks Oy Adaptive phase and amplitude linearization method and apparatus
US6714956B1 (en) * 2000-07-24 2004-03-30 Via Technologies, Inc. Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
US7716712B2 (en) * 2003-06-18 2010-05-11 General Instrument Corporation Narrowband interference and identification and digital processing for cable television return path performance enhancement
DE102004052418B4 (de) * 2004-10-28 2012-05-10 Infineon Technologies Ag Gewichtungsschaltung und Verfahren zum Einregeln eines Regelkreises
WO2007010678A1 (ja) * 2005-07-15 2007-01-25 Nec Corporation 適応ディジタルフィルタ、fm受信機、信号処理方法、およびプログラム
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) * 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8457191B2 (en) * 2007-08-24 2013-06-04 Comtech Ef Data Corp. Adaptive equalizer and related methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8805916B2 (en) * 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8601044B2 (en) * 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) * 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
KR20140084294A (ko) * 2011-10-27 2014-07-04 엘에스아이 코포레이션 복소 지수 비선형 함수와 함께 명령어를 갖는 디지털 처리
RU2012102842A (ru) 2012-01-27 2013-08-10 ЭлЭсАй Корпорейшн Инкрементное обнаружение преамбулы
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9923595B2 (en) 2013-04-17 2018-03-20 Intel Corporation Digital predistortion for dual-band power amplifiers
US9813223B2 (en) 2013-04-17 2017-11-07 Intel Corporation Non-linear modeling of a physical system using direct optimization of look-up table values
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
RU2601143C1 (ru) * 2015-05-25 2016-10-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Донской государственный технический университет" Адаптивный экстраполятор
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
CN113381730B (zh) * 2021-05-19 2022-10-28 浙江传媒学院 一种鲁棒性自适应滤波系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61113314A (ja) * 1984-11-08 1986-05-31 Nec Corp サンプル値間引きデイジタルフイルタ−
US4947362A (en) * 1988-04-29 1990-08-07 Harris Semiconductor Patents, Inc. Digital filter employing parallel processing
DE69125806T2 (de) * 1990-12-27 1997-09-25 Nippon Electric Co Adaptiver Filter geeignet zur schnellen Identifikation eines unbekannten Systems
JPH04266210A (ja) * 1991-02-21 1992-09-22 Toshiba Corp 入力加重型トランスバーサルフィルタ
US5282155A (en) * 1992-11-19 1994-01-25 Bell Communications Resarch, Inc. Adaptive digital filter architecture for parallel output/update computations

Also Published As

Publication number Publication date
WO1994028499A1 (en) 1994-12-08
DE69426231D1 (de) 2000-12-07
EP0700543A4 (de) 1997-11-26
EP0700543A1 (de) 1996-03-13
EP0700543B1 (de) 2000-11-02
US5381357A (en) 1995-01-10

Similar Documents

Publication Publication Date Title
DE69426231T2 (de) Komplexes adaptives fir-filter
DE3854818T2 (de) Transformationsverarbeitungsschaltung
DE3875979T2 (de) Schaltung zur berechnung des quantisierten koeffizienten der diskreten cosinustransformation von digitalen signalabschnitten.
DE19835216B4 (de) Prozessor und Verfahren zur parallelen Datenverarbeitung
DE3882487T2 (de) Vektorprozessor zur schnellen verarbeitung von rekursiven gleichungen.
DE69520974T2 (de) Eine integrierte Halbleiterschaltung
DE69815986T2 (de) FIR-Filter für programmierbare Dezimation
DE69229464T2 (de) Quasi radix-16 prozessor und verfahren
DE60130175T2 (de) Hardware-Beschleuniger für eine auf Basis einer geringsten quadratischen Mittelwert-Algorithmus Koeffizientenanpassung
DE3933171A1 (de) Einzelchip-prozessor fuer komplexe gleitkommazahlen
DE69924170T2 (de) Programmierbare Verarbeitungsschaltung mit einem rekonfigurierbaren Speicher zur Darstellung eines digitalen Filters
DE68921161T2 (de) Programmierbares digitales Filter.
DE68926154T2 (de) Pipelineprozessor zur Durchführung des LMS Algorithmus
DE69123328T2 (de) Gerät zur Schallfeldkompensation
DE4345029C2 (de) Schaltkreis für diskrete Kosinustransformation
DE69802426T2 (de) Taktschema für digitales signalprozessorsystem
DE69424790T2 (de) Prozessor für schnelle Fourier-Transformation
DE69838091T2 (de) Programmierbare Schaltung zur Realisierung eines digitalen Filters
DE19504089A1 (de) Pipelined SIMD-Systolic Array Prozessor und dessen Arbeitsverfahren
DE3751159T2 (de) Adressierungsverfahren für gleichzeitige Lese-, Änderungs- und Schreib-Operationen mit schlangenförmiger RAM-Konfiguration.
DE69626609T2 (de) Pipeline-datenverarbeitungsschaltung
DE10204647A1 (de) Matrizenrechner des Zeitteilungstyps
DE19637369C2 (de) Digitaler Signalprozessor mit Multipliziereinrichtung und -Verfahren
DE69226816T2 (de) Verarbeitungssystem zur Geisterbildauslöschung eines Videosignales
DE69225628T2 (de) Gerät für die orthogonale Transformation für die Videosignalverarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee