DE3851807T2 - Seitengespeistes Supergitter zur Erzeugung von linearen Prädiktor- und Filterkoeffizienten. - Google Patents

Seitengespeistes Supergitter zur Erzeugung von linearen Prädiktor- und Filterkoeffizienten.

Info

Publication number
DE3851807T2
DE3851807T2 DE3851807T DE3851807T DE3851807T2 DE 3851807 T2 DE3851807 T2 DE 3851807T2 DE 3851807 T DE3851807 T DE 3851807T DE 3851807 T DE3851807 T DE 3851807T DE 3851807 T2 DE3851807 T2 DE 3851807T2
Authority
DE
Germany
Prior art keywords
processor
processors
inputs
coefficients
virtual
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
DE3851807T
Other languages
English (en)
Other versions
DE3851807D1 (de
Inventor
George Carayannis
Christos Halkias
Elias Koukoutsis
Dimitris Manolakis
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.)
Adler Research Associates
Original Assignee
Adler Research Associates
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 Adler Research Associates filed Critical Adler Research Associates
Application granted granted Critical
Publication of DE3851807D1 publication Critical patent/DE3851807D1/de
Publication of DE3851807T2 publication Critical patent/DE3851807T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Networks Using Active Elements (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Prostheses (AREA)
  • Blocking Light For Cameras (AREA)
  • Color Television Image Signal Generators (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Die Erfindung betrifft das Gebiet der Signalverarbeitung, insbesondere der parametrischen Signalverarbeitung.
  • Signalverarbeitungsstrukturen für die parametrische Signalverarbeitung sind in der EP-A-259 458, der EP-A-275 259 und der EP-A-282 799 beschrieben.
  • Die parametrische Signalverarbeitung wird in vielen Bereichen verwendet, wie in der Sprach- und Bildanalyse, -Synthese und -Erkennung, der Neurophysik, der Geophysik, der Matrix-Verarbeitung, der Computertomographie, der Kommunikationstechnik und der Astronomie, um nur einige zu nennen.
  • Ein Beispiel für eine Signalverarbeitung von besonderer Bedeutung ist die lineare Prädiktionstechnik, die zur Spektralbestimmung und insbesondere zur Sprachanalyse, -Synthese und -Erkennung und zur Verarbeitung von seismischen Signalen verwendet werden kann, um die Rekonstruktion von geophysikalischen Untergründen zu ermöglichen. Bei der linearen Prädiktionstechnik wird eine spezielle Autokorrelationsfunktion verwendet.
  • Eine andere Form der Signalverarbeitung mit einer Vielzahl von Anwendungen ist die Bestimmung eines optimalen (im Sinne der kleinsten quadratischen Abweichung) Finite-Impuls-Response- (FIR-) Filters. Ein Signalprozessor, der eine solche Technik verwendet, arbeitet mit der Autokorrelation des Filter-Eingangssignales und der Kreuzkorrelation zwischen dem Eingang und dem gewünschten Antwortsignal und kann bei vielen der obigen Anwendungsfälle verwendet werden.
  • Eine weitere Form der Signalverarbeitung von besonderer Bedeutung ist als "L-Vorwärtschritt"-Prädiktion und Filterung zur Lösung des Problems der "optimalen Verzögerung" bekannt. Diese Technik ist bei der Entwicklung von Impuls- und Formfiltern besonders gut anwendbar. Signalprozessoren, die diese Funktion ausführen, machen von einer speziellen Autokorrelationsfunktion Gebrauch, die auch eine mit dem System verbundene zeitliche Verzögerung berücksichtigt.
  • Generell nimmt die Komplexität der Signalverarbeitung, die erforderlich ist, um nützliche Informationen zu beschaffen, mit der Ordnung des untersuchten Systems zu. Beispielsweise kann, mit dem allgemeinen Gaußschen Eliminationsverfahren, ein System der Ordnung p in "O(p³)" Schritten verarbeitet werden, was die Anzahl von Schritten als "in der Größenordnung von" p³ das heißt einer in die dritte Potenz erhobenen Funktion von p, liegend anzeigt. Es ist damit ersichtlich, daß ein System der Ordnung p=100 zur Verarbeitung des Signales eine Anzahl Verarbeitungsschritte in der Größenordnung von einer Million erfordert, eine Einschränkung, deren Bedeutung sofort erkennbar ist, insbesondere wenn eine Echtzeitverarbeitung notwendig ist.
  • Es sind Signalverarbeitungstechniken entwickelt worden, bei denen die Anzahl der zur Verarbeitung eines Signales erforderlichen Operationen verringert ist. Eine dieser Methoden basiert auf einer von N. Levinson entwickelten Technik, die O(p²) aufeinander folgende Operationen zur Verarbeitung eines Signales erfordert. Genauer gesagt, erfordert die "Levinson-Technik" O(2·p²) aufeinanderfolgende Operationen, um das Signal zu verarbeiten. Eine verbesserte Version dieser Technik, die als "Levinson-Durbin"-Technik bekannt ist, erfordert O(l·p²) aufeinanderfolgende Operationen zur Verarbeitung des Signales. Keines dieser Schemas ist für eine parallele Ausführung geeignet. Über die allgemeine Aufgabe der Levinson- und der Levinson-Durbin-Techniken siehe N. Levinson: "The Wiener RMS (Root-Mean-Square) Error Criterion in Filter Design and Prediction", J. Math. Phys., Bd. 25, Seiten 261-278, Januar 1947; und J. Durbin: "The Filtering of Time Series Models", Rev. Int. Statist. Inst., Bd. 28, Seiten 233-244, 1960.
  • Obwohl sie eine Verbesserung des Gaußschen Eliminationsverfahrens um eine Größenordnung darstellen, sind die Levinson- und Levinson-Durbin-Techniken für viele komplexe Systeme zu langsam, bei denen eine Echtzeitverarbeitung gefordert ist.
  • Eine andere Art der Ausführung der Hauptrekursion der Levinson-Durbin-Technik zur Berechnung dessen, was allgemein als "Gitterkoeffizienten" bekannt ist, wurde 1917 von Schur entwickelt, um ein System-Stabilitäts-Kriterium zu erzeugen; siehe I. Schur: "Über Potenzreihen, die im Innern des Einheitskreises beschränkt sind", J. Reine Angewandte Mathematik, Bd. 147, 1917, Seiten 205-232. Lev-Ari und Kailath von der Stanford-Universität haben auf der Basis der Schur- und Levinson-Methoden einen anderen Lösungsvorschlag entwickelt, der eine dreieckige "Leiter"- Struktur für die Signalverarbeitung ergibt. Die Lev-Ari-und- Kailath-Technik verwendet das Signal per se als Eingang für den Prozessor anstelle von Autokorrelationskoeffizienten, und es wird im Zusammenhang mit der Signalmodellierung verwendet; siehe H. Lev-Ari und T. Kailath: "Schur and Levinson Algorithms for Non-Stationary Processes", IEEE International Conference on Acoustics, Speech and Signal Processing, 1981, Seiten 860-864.
  • Bei einer anderen Modifikation der Schur-Technik leiteten Le Roux und C. Gueguen den Schur-Algorithmus neu ab, wobei unter Verwendung einer Festpunktarithmetik die Ausführung mit endlicher Wortlänge betont wurde; siehe Le Roux und Gueguen: "A Fixed Point Computation of Partial Correlation Coefficients", IEEE Transactions on Acoustics, Speech, and Signal Processing, Juni 1977, Seiten 257-259.
  • Schließlich haben Kung und Hu ein paralleles Schema auf der Basis der Schur-Technik entwickelt, wobei eine Anzahl von parallelen Prozessoren zur Verarbeitung eines Signales der Ordnung p in O(p) Operationen verwendet wird, eine im Vergleich zu der Levinson-Durbin-Technik bedeutende Verbesserung; siehe Kung und Hu: "A Highly Concurrent Algorithm and Pipelined Architecture for Solving Toeplitz Systems", IEEE Transactions on Acoustics, Speech and Signal Processing, Bd. ASSP-31, Nr. 1, Februar 1983, Seiten 66-76. Die Anwendung der Kung-und-Hu-Technik ist jedoch insoweit stark eingeschränkt, als sie erfordert, daß die Anzahl der Prozessoren gleich der Ordnung des zu lösenden Systems ist. Mit der Kung-und-Hu-Technik kann daher kein Signal verarbeitet werden, das von einem System produziert wird, das eine Ordnung hat, die größer als die Anzahl der parallelen Prozessoren ist. Die Systemkomplexität ist daher bei der Verwendung der Kung-und- Hu-Technik ein Hauptbegrenzungsfaktor, da viele komplexe Systeme von einer Ordnung sein können, die viel größer ist als die derzeit in moderner VLSI- oder anderer Technologie verfügbare Anzahl von parallelen Prozessoren.
  • Es ist daher Aufgabe der vorliegenden Erfindung, die mit den bekannten Signalprozessoren und Verfahren verbundenen Schwierigkeiten zu überwinden und Signalprozessoren und Verarbeitungsverfahren zur linearen Prädiktion und LS-FIR-Filterung zu schaffen, die unter Verwendung einer Anzahl von Verarbeitungseinheiten zur Verarbeitung eines Signales in vollständig paralleler Art oder einer kleineren Anzahl von Verarbeitungseinheiten zur Verarbeitung eines Signales in einer "abschnittsweise parallelen" Art ausgeführt werden können, wobei die Struktur für die Verarbeitung der linearen Prädiktion und des LS-FIR-Signals eine minimale Hardware-Komplexität aufweist.
  • Diese Aufgabe wird mittels einem der Ansprüche 1, 2 und 6 gelöst.
  • In Übereinstimmung mit einem ersten Aspekt der Erfindung ist eine Anzahl von realen Prozessoren vorgesehen, von denen jeder drei Eingänge a, b und k und zwei Ausgänge c und d besitzt, wie es oben definiert ist. Die Speicher- und Zugriffsanordnung speichert selektiv die Werte von c, d und ki und führt diese Werte selektiv zu den Eingängen a, b und k der Anzahl von realen Prozessoren. Wenigstens einer der realen Prozessoren erhält während eines ersten Zeitintervalles an einem seiner Eingänge a und b einen Gitterprädiktorkoeffizienten ki zugeführt und wenigstens einige aus der Anzahl der realen Prozessoren erhalten während eines zweiten Zeitintervalles nach dem ersten Zeitintervall an ihren Eingängen a und b von der Speicher- und Zugriffsanordnung die Ausgangssignale zugeführt, die von bestimmten aus der Anzahl von realen Prozessoren erzeugt werden. Die Anzahl der realen Prozessoren kann kleiner sein als die Ordnung des betrachteten Systems, in diesem Fall verarbeitet der Signalprozessor dann die Signale in einer "abschnittsweise parallelen Art".
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung weist der Signalprozessor die Anzahl von realen Prozessoren und die Speicher- und Zugriffsanordnung zum selektiven Speichern der Werte von c, d und ki und zum selektiven Anlegen dieser Werte an die Eingänge a, b und k der realen Prozessoren auf, um es dadurch der Anzahl von realen Prozessoren zu ermöglichen, eine Anzahl von virtuellen Prozessoren zu emulieren. Jeder aus einer ersten Gruppe von virtuellen Prozessoren erhält an seinen Eingängen a und b ein Ausgangssignal von jedem Prozessor eines Paares von vorhergehenden virtuellen Prozessoren zugeführt. Jeder aus einer zweiten Gruppe von virtuellen Prozessoren erhält als eines seiner Eingangssignale einen der Gitterkoeffizienten ki zugeführt und als das andere der Eingangssignale das Ausgangssignal von einem vorhergehenden virtuellen Prozessor. Schließlich erzeugt jeder aus einer dritten Gruppe von virtuellen Prozessoren an seinen Ausgängen c und d ein Paar von direkten Prädiktorkoeffizienten.
  • Das heißt, daß die erste Gruppe von virtuellen Prozessoren an ihren Eingängen a das Ausgangssignal d eines ersten des vorhergehenden Paares von virtuellen Prozessoren erhält und an ihren Eingängen b das Ausgangssignal c eines zweiten des vorhergehenden Paares von virtuellen Prozessoren, wobei das vorhergehende Paar von virtuellen Prozessoren an ihren Eingängen k jeweils den gleichen Wert ki zugeführt erhält. Des weiteren erhält jeder aus der zweiten Gruppe von virtuellen Prozessoren einen der Gitterkoeffizienten an seinem Eingang b zugeführt. Es ist auch eine vierte Gruppe von virtuellen Prozessoren vorgesehen, von denen jeder an seinem Eingang a und b die gleiche Größe zugeführt erhält, so daß die realen und virtuellen Prozessoren eine Supergitterstruktur bilden, wobei die zweite, dritte und vierte Gruppe davon die Grenze bilden.
  • Jeder reale Prozessor kann aus einem einzigen Zwei-Zyklus- Prozessor oder aus zwei Ein-Zyklus-Prozessoren bestehen.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung erzeugt ein Signalprozessor, der eine Anzahl von Gitterprädiktor- und Filterkoeffizienten ki und kic zugeführt erhält, daraus eine im wesentlichen entsprechende Anzahl von direkten Filterkoeffizienten ci,j. Der Signalprozessor wird aus einer Anzahl von realen Prozessoren gebildet, von denen jeder sechs Eingänge a, b, c, d, ki und kic und vier Ausgänge e, f, g und h besitzt, wobei
  • e = c + kica
  • f = d + kia
  • g = a + kid
  • h = b + kicd
  • ist.
  • Die Eingänge ki und kic eines jeden Prozessors erhalten die Gitterprädiktor- und Filterkoeffizienten ki bzw. kic zugeführt. Eine Speicher- und Zugriffsanordnung zum selektiven Speichern der obigen Werte und zum selektiven Anlegen dieser Werte an die Eingänge der realen Prozessoren ermöglicht es den realen Prozessoren, eine Anzahl von virtuellen Prozessoren zu emulieren. Jeder aus einer ersten Gruppe von virtuellen Prozessoren erhält an seinen Eingängen a und b die Ausgangssignale g und h eines ersten vorhergehenden virtuellen Prozessors zugeführt und an seinen Eingängen c und d die Ausgangssignale e und f eines zweiten vorhergehenden virtuellen Prozessors, der dem ersten vorhergehenden Prozessor benachbart ist. Jeder aus einer zweiten Gruppe von virtuellen Prozessoren erhält an seinen Eingängen c und d ausgewählte Werte der Gitterprädiktor- und Filterkoeffizienten ki und kic zugeführt und an seinen Eingängen a und b die Ausgangssignale g und h eines vorhergehenden virtuellen Prozessors. Schließlich erzeugt jeder aus einer dritten Gruppe von virtuellen Prozessoren an seinen Ausgängen e und h ein Paar von direkten Filterkoeffizienten ci,j.
  • Die vorstehenden und weitere Aufgaben, Aspekte und Ausführungsformen der vorliegenden Erfindung werden im folgenden genauer mit Bezug auf die Zeichnung erläutert. Es zeigt
  • die Fig. 1 die Supergitterstruktur für den nichtsymmetrischen Fall gemäß der EP-A-259 458 und der EP-A-275 259 zur Erzeugung von Gitterprädiktorkoeffizienten;
  • die Fig. 2 das seitengespeiste Supergitter für den nichtsymmetrischen Fall zur Erzeugung der linearen Prädiktorkoeffizienten ai,j gemäß der vorliegenden Erfindung;
  • die Fig. 3 eine Darstellung des seitengespeisten Supergitters für den symmetrischen Fall mit der entsprechenden Verringerung der Größe im Vergleich zu der Fig. 2;
  • die Fig. 4A die Gitter-Basiszelle des seitengespeisten Supergitters der Fig. 3;
  • die Fig. 4B eine Darstellung, wie das seitengespeiste Supergitter der Fig. 3 mittels der Gitter-Basiszelle der Fig. 4A "bausteinartig" aufgebaut wird;
  • die Fig. 5A und 5B (die im folgenden miteinander als Fig. 5 bezeichnet werden) Darstellungen einer abschnittsweise parallelen Ausführung des seitengespeisten Supergitters für ein symmetrisches System der Ordnung 14;
  • die Fig. 6A und 6B (die im folgenden miteinander als Fig. 6 bezeichnet werden) die Darstellung des Signalflusses durch reale und virtuelle Prozessoren, der erforderlich ist, um das seitengespeiste Supergitter der Fig. 5 auszuführen;
  • die Fig. 7 eine schematische Darstellung der Hardware-Realisierung des seitengespeisten Supergitters der Fig. 5 und 6;
  • die Fig. 8 eine Darstellung der seitengespeisten Supergitter-Superleiterstruktur zur Erzeugung von direkten Filterkoeffizienten ci,j;
  • die Fig. 9 die Darstellung einer nicht redundanten seitengespeisten Supergitter-Superleiterstruktur für den symmetrischen Fall;
  • die Fig. 10 die Darstellung einer Basiszelle, mit der die reduzierte seitengespeiste Supergitter-Superleiterstruktur der Fig. 9 aufgebaut werden kann; und
  • die Fig. 11 die wiederholte Anwendung der Basiszelle der Fig. 10 zur "bausteinartigen" Ausführung der reduzierten seitengespeisten Supergitter-Superleiterstruktur der Fig. 9.
  • Da die vorliegende Erfindung mit der EP-A-259 458, der EP-A-275 259 und der EP-A-282 799 in Beziehung steht, erfolgt anhand der Fig. 1 und 2 eine Beschreibung der relevanten Teile dieser Anmeldungen, soweit sie die vorliegende Erfindung betreffen.
  • In der Fig. 1 ist eine "Supergitter"-Struktur von Multiplikatoren, dargestellt durch Dreiecke, und Addierern, dargestellt durch Kreise, gezeigt, die in einer Weise angeordnet sind, um ein Signal so zu verarbeiten, daß ein Prädiktor für ein nichtsymmetrisches System erzeugt wird. Diese Supergitterstruktur bildet die Basis für die lineare Prädiktion und den LS-FIR-Prozessor der vorliegenden Erfindung.
  • Wie in der Fig. 1 gezeigt, wird ein Signal von einem System der Ordnung P, wie zum Beispiel einem Kommunikationskanal, an einen bekannten digitalen Autokorrelator 10 angelegt, der Autokorrelationskoeffizienten r&submin;&sub5; bis r&sub5; erzeugt. Die Autokorrelationskoeffizienten werden zu einer Eingabevorrichtung 12 gegeben, wie einem digitalen Register oder einem Pufferspeicher, um an die Supergitterstruktur angelegt zu werden. Mit Ausnahme der Autokorrelationskoeffizienten r&submin;&sub5;, r&sub0; und r&sub5; wird jeder Autokorrelationskoeffizient zu einem Paar von Multiplikatoren geführt, die jeden Koeffizienten mit einem Paar von "Gitterprädiktorkoeffizienten" kn und kn* multiplizieren, wobei kn der normale Gitterprädiktorkoeffizient und kn* der "benachbarte" Gitterprädiktorkoeffizient ist. Die durch weiße Dreiecke dargestellten Multiplikatoren multiplizieren die Autokorrelationskoeffizienten mit den normalen Gitterprädiktorkoeffizienten kn, während die durch schwarze Dreiecke dargestellten Multiplikatoren die Autokorrelationskoeffizienten mit den benachbarten Gitterprädiktorkoeffizienten kn* multiplizieren. Die Erzeugung der normalen und benachbarten Gitterprädiktorkoeffizienten wird im folgenden beschrieben.
  • Die durch Multiplikation jedes Autokorrelationskoeffizienten mit den normalen und benachbarten Gitterprädiktorkoeffizienten erzeugten beiden Produkte werden in den in der Zeichnung durch Kreise dargestellten Addierern zu einem benachbarten Paar von Autokorrelationskoeffizienten addiert, um einen Satz von ersten Zwischenwerten n mit n = -3, -2, -1, 0, 2, 3, 4, 5 und m mit m = -5, -4, -3, -2, 0, 1, 2, 3 zu erzeugen. Beispielweise wird der Autokorrelationskoeffizient r&submin;&sub4; in den Multiplikatoren 14 und 16 mit k&sub1; bzw. k&sub1;* multipliziert, und die Produkte werden in den Addierern 18 bzw. 20 zu dem Paar von Autokorrelationskoeffizienten r&submin;&sub3; und r&submin;&sub5; addiert, die dem Koeffizienten r&submin;&sub4; benachbart sind. Ähnlich wird der Autokorrelationskoeffizient r&submin;&sub3; nach der Multiplikation mit den Gitterprädiktorkoeffizienten k&sub1; und k&sub1;* einzeln zu dem angrenzenden Paar Autokorrelationskoeffizienten r&submin;&sub4; und r&submin;&sub2; addiert. Der gleiche Vorgang wird für die Autokorrelationskoeffizienten r&submin;&sub2; bis r&sub4; ausgeführt, um den Satz von ersten Zwischenwerten wie gezeigt zu erzeugen.
  • Im Interesse der Kontinuität werden die Autokorrelationskoeffizienten r&submin;&sub5; bis r&sub5; auch als on und om mit n = -4 bis 5 und m = -5 bis 4 bezeichnet.
  • Die Gitterprädiktorkoeffizienten werden wie folgt aus den Zwischenwerten abgeleitet:
  • km+1 = - m+1/ mo
  • k*m+1 = - m+1/ mo
  • Die Gitterprädiktorkoeffizienten k&sub1; und k&sub1;* werden direkt aus den Autokorrelationskoeffizienten bestimmt, während der zweite Satz von Gitterprädiktorkoeffizienten, k&sub2; und k&sub2;*, aus den ersten Zwischenwerten berechnet wird.
  • Auf eine Weise, die ähnlich der zur Erzeugung der ersten Zwischenwerte ist, wird ein ausgewähltes Paar von benachbarten ersten Zwischenwerten, zum Beispiel ¹&submin;&sub4; und ¹&submin;&sub3;, in Multiplikatoren 22 und 24 mit dem normalen und dem benachbarten Gitterprädiktorkoeffizienten k&sub2; bzw. k&sub2;* multipliziert. Zwei erste Zwischenwerte ¹&submin;&sub2; und ¹&submin;&sub5; die auf jeder Seite des ausgewählten Paares daran angrenzen, werden in Addierern 26 bzw. 28 zu dem von den Multiplikatoren 22 und 24 erzeugten Produkten addiert, um zwei zweite Zwischenwerte ²&submin;&sub2; und ²&submin;&sub5; zu erzeugen. Die verbleibenden zweiten Zwischenwerte werden auf eine ähnliche Weise erzeugt, das heißt durch Multiplizieren eines ausgewählten Paares von benachbarten ersten Zwischenwerten mit den normalen und benachbarten Gitterprädiktorkoeffizienten k&sub2; und k&sub2;* und durch Addieren zu den Produkten der ersten Zwischenwerte benachbart zu und an jeder Seite des ausgewählten Paares.
  • Es ist ersichtlich, daß, diesem Signalfluß folgend, die dritten Zwischenwerte und die endgültigen Zwischenwerte auf ähnliche Weise erzeugt werden.
  • Die in der Fig. 1 gezeigte Anordnung kann Gitterkoeffizienten für ein System des Typs Ra = -r erzeugen, wobei R eine Toeplitz-Struktur hat. Eine detaillierte Analyse dieser Technik wird von G. Carayannis et al. in "A New Look on the Parallel Implementation of the Schur Algorithm for the Solution of Toeplitz Equations", IEEE International Conference on Acoustics, Speech and Signal Processing, 26.-29. März 1985 angegeben, dessen gesamter Inhalt hiermit durch die Bezugnahme eingeschlossen wird.
  • Obwohl die Gitterkoeffizienten ki und ki* gewöhnlich bevorzugt werden, können auch die direkten Prädiktorkoeffizienten ai,j, die zum Beispiel für spektrale Bestimmungen nützlich sind, unter Verwendung der in der Fig. 2 gezeigten "seitengespeisten Supergitter-"-Verarbeitungsstruktur aus den Gitterkoeffizienten abgeleitet werden. Wie gezeigt werden die Gitterkoeffizienten k&sub1;* und k&sub1;, die aus dem Supergitter der Fig. 1 abgeleitet werden, an ein Paar von Multiplikatoren 30 und 32 angelegt, die diese Gitterkoeffizienten mit den zweiten Gitterkoeffizienten k&sub2; bzw. k&sub2;* multiplizieren, wobei die Ergebnisse einzeln in den durch Kreise bezeichneten Addierern zu k&sub1; und k&sub1;* addiert werden, um einen ersten Satz von Zwischenwerten und a1,2* zu a*1,2 erzeugen. Diese Produkte werden dann in Multiplikatoren 34 und 36 mit k&sub3;* bzw. k&sub3; multipliziert und zu k&sub2;* bzw. k&sub2; addiert, um die Zwischenwerte a*2,3 und a2,3 zu erzeugen. Die Werte der Gitterkoeffizienten k&sub2; und k&sub2;* werden in Multiplikatoren 38 und 40 ebenfalls mit k&sub3;* bzw. k&sub3; multipliziert, und die Zwischenwerte a1,2 und a1,2 werden zu diesen Produkten addiert, um weitere Zwischenwerte a*1,3 und a1,3 zu bilden. Dieser Vorgang wird fortgesetzt, bis die direkten Filterkoeffizienten a1,8 bis a8,8 und a*1,8 bis a*8,8 gebildet wurden.
  • Die vorliegende Erfindung beinhaltet Ausführungen des seitengespeisten Supergitters sowohl für die lineare Prädiktion als auch für die LS-FIR-Filterung. Zuerst wird jedoch demonstriert, daß die Berechnung der linearen Prädiktionskoeffizienten aus den Gitterkoeffizienten mittels des Supergitters aufgrund der Ähnlichkeit der Gleichungen zur Berechnung der linearen Prädiktionskoeffizienten mit den Schur-Rekursionen möglich ist. Es wird auch gezeigt, daß die seitengespeiste Supergitterstruktur der Fig. 2 zur Berechnung der direkten Parameter eines optimalen LS-FIR-Filters aus den Gitter-Filterkoeffizienten, deren Erzeugung im einzelnen in der EP-A-282 799 beschrieben ist, zu einer "Supergitter-Superleiterstruktur" erweitert werden kann.
  • Erzeugung der linearen Prädiktionskoeffizienten
  • Die Erzeugung der linearen (oder "direkten") Prädiktionskoeffizienten ai,j aus den Gitterprädiktorkoeffizienten ki (oder PARCORs im symmetrischen Fall) gemäß der vorliegenden Erfindung führt von selbst zur Anwendung schneller paralleler Techniken für Spektralbestimmungen. Die Supergitterstruktur kann dazu verwendet werden, die linearen Prädiktionskoeffizienten aus den PARCORs wie folgt zu erzeugen:
  • Aus der Levinson-Durbin-Rekursion ist bekannt, daß
  • Diese Gleichung verbindet den linearen Prädiktionskoeffizientenvektor a mit den PARCORs ki, wobei
  • ist. m+1 ist der Prädiktionskoeffizientenvektor der Ordnung (m+1) und m der gleiche Vektor für die Ordnung (m). Der Austauschoperator J, der die Folge der Komponenten des Vektors umdreht, ist wie folgt definiert:
  • Zum Beispiel ist
  • Durch das Hinschreiben der Levinson-Rekursion für jede einzelne der Komponenten des Prädiktorkoeffizientenvektors für alle Ordnungen bis hinauf zu (m+1) werden in der Form von verschachtelten Schleifen die folgenden Gleichungen erhalten:
  • für i = 1 bis (m+1)
  • für j = 1 bis (i-1)
  • ai,j = ai,j-1 + kjaj-i,j-1 (5)
  • Ende
  • Ende
  • Es ist ersichtlich, daß diese Beziehungen wie folgt eine Eins-zu-Eins-Entsprechung zu den Schur-Rekursionen aufweisen, die die Basis des Supergitters sind:
  • Mit der Verwendung von hochgestellten statt tiefgestellten Indizes und dem Buchstaben m anstelle von j kann die Gleichung (5) umgeschrieben werden in die Gleichung
  • die eindeutig ähnlich der Schur-Rekursion in Gleichung (6) ist. Das seitengespeiste Supergitter der Fig. 2 ergibt sich aus der Gültigkeit der Gleichung (7).
  • Das seitengespeiste Supergitter der Fig. 2 zeigt den allgemeineren nichtsymmetrischen Fall. Im symmetrischen Fall ist ki* = ki und ai* = ai. Im symmetrischen Fall würde jeder der linearen Prädiktionskoeffizienten zweimal berechnet, und die Struktur kann entsprechend reduziert werden.
  • Die Fig. 3 zeigt das seitengespeiste Supergitter, das zur Beseitigung der Redundanz im symmetrischen Fall reduziert ist. Es werden die gleichen Symbole verwendet, insbesondere Dreiecke zur Darstellung der Multiplikationsoperation und kleine Kreise zur Darstellung der Addition. Wie im Falle der Verarbeitungsstruktur der Fig. 2 werden dem reduzierten seitengespeisten Supergitter der Fig. 3 als Eingangssignale die Gitterprädiktorkoeffizienten k&sub1;&submin;&sub8; zu geführt, die dem Supergitter der Fig. 1 entnommen werden können oder im symmetrischen Fall besser dem symmetrischen Supergitter der Fig. 3 der EP-A-275 259. Auf alle Fälle werden die Gitterprädiktorkoeffizienten wie gezeigt zu dem reduzierten seitengespeisten Supergitter geführt.
  • Das heißt, der Gitterprädiktorkoeffizient k&sub1; wird im Multiplikator 42 mit dem Gitterprädiktorkoeffizienten k&sub2; multipliziert, und das Produkt wird im Addierer 44 zu dem Gitterprädiktorkoeffizient k&sub1; addiert, um einen der ersten Zwischenwerte a1,2 zu bilden. Der Zwischenwert a1,2 wird im Multiplikator 46 mit dem Gitterprädiktorkoeffizienten k&sub3; multipliziert, und zu dem Produkt wird im Addierer 48 ein zweiter Zwischenwert a2,2 addiert, der gleich dem Gitterprädiktorkoeffizienten k&sub2; ist, um den Zwischenwert a1,3 zu bilden. Der Zwischenwert a2,3 wird durch Multiplizieren von a2,2 mit k&sub3; im Multiplikator 50 gebildet, und im Addierer 52 wird das Produkt zu a1,2 addiert. Durch Wiederholen der gleichen Funktionen in iterativer Art wird der Vorgang wiederholt, bis die linearen Prädiktorkoeffizienten a1,8 bis a8,8 gebildet sind. Es ist ersichtlich, daß die Gitterprädiktorkoeffizienten k&sub1;-k&sub8; der Struktur von der Seite her zugeführt werden, um die Zwischenwerte ai,j mit i=j zu ergeben. Im Falle von k&sub8; ist keine weitere Bearbeitung erforderlich, da es gleich a8,8 ist.
  • Auf eine Art ähnlich wie bei der Gitter-Basiszelle (LBC) der Fig. 6 der EP-A-259 458 kann das seitengespeiste Supergitter der Fig. 3 durch die wiederholte Verwendung von LBCs, von denen eine in der Fig. 4A gezeigt ist, ausgeführt werden. Jede LBC erhält Eingangssignale a, b und ki zugeführt und erzeugt Ausgangssignale c und d, wobei c = b + kia und d = a + kib ist. Das seitengespeiste Supergitter der Fig. 3 kann auch durch die wiederholte Anwendung der in der Fig. 4 der EP-A-259 458 dargestellten Basiszelle gebildet werden, die Verwendung der LBC der Fig. 4A der vorliegenden Anmeldung ergibt jedoch eine effizientere Hardware-Ausführung.
  • Wie in der Fig. 4B gezeigt, kann das seitengespeiste Supergitter der Fig. 3 durch die wiederholte Anwendung der LBCs gebildet werden. Es ist ersichtlich, daß die Diskontinuität des seitengespeisten Supergitters an seinem unteren Ende durch Erweitern der LBCs beseitigt wird, um eine homogene Konfiguration zu erhalten. Das heißt, es wird einer ersten LBC 54 an den Eingängen a und b die Größe k&sub1; zugeführt und am Eingang k die Größe k&sub2;, und an den Ausgängen c und d wird die Größe a1,2 erzeugt, wobei eines der Ausgangssignale (das Ausgangssignal c) ignoriert wird. Die Größen a1,2 und a2,2 (a2,2 entspricht dem Gitterprädiktorkoeffizienten k&sub2;) werden zu den Eingängen a und b der LBC 56 geführt, an der am Eingang k der Gitterprädiktorkoeffizient k&sub3; anliegt. Die LBC 56 erzeugt an ihren Ausgängen c und d die Größen a1,3 und a2,3. Die LBCs können daher in der Art von "Bausteinen" dazu verwendet werden, das seitengespeiste Supergitter zu bilden.
  • Auf eine ähnliche Art wie bei den Stammanmeldungen kann das seitengespeiste Supergitter dadurch vollständig parallel ausgeführt werden, daß tatsächlich sieben LBCs 54, 56, 58, 60, 62, 64 und 66 vorgesehen werden und daß die Gitterprädiktorkoeffizienten k&sub1;-k&sub7; parallel an die Eingänge b der LBCs angelegt werden (oder wie die Größen k. vom Supergitter erzeugt werden), und daß danach die sich ergebenden Zwischenwerte zu fünf der selben LBCs 56', 58', 60', 62', 64' zum Beispiel zurückgeführt werden, um dadurch iterativ das seitengespeiste Supergitter zu bilden, wobei durch das Supergitter nach links unten fortgeschritten wird. Dabei ist die LBC 56' in Wirklichkeit die gleiche LBC wie 56, und das gleiche gilt für die LBCs 58, 60, 62 und 64. Der Vorgang wird dadurch fortgesetzt, daß die verarbeitete Information zu den LBCs 58, 60 und 62 zurückgeführt wird, um dadurch LBCs 58'', 60'' und 62'' zu emulieren, wie es gezeigt ist. Der Vorgang ist beendet und alle linearen Prädiktorkoeffizienten sind erzeugt, wenn die LBC 60 die zurückgeführte Information erhält und dabei die LBC 60''' emuliert.
  • Wie bei den Erfindungen der vorstehenden Parallelanmeldungen ist ersichtlich, daß der obige Vorgang entweder vollständig parallel, wie es gerade beschrieben wurde, oder vollständig sequentiell, wobei es nur eine LBC gibt und die Informationen wiederholt zu der LBC zurückgeführt werden, die dann alle der LBCs der Fig. 4B emuliert, oder "abschnittsweise parallel" ausgeführt werden kann, wobei eine Anzahl von LBCs verwendet wird, die kleiner ist als die für die vollständig parallele Ausführung erforderliche Anzahl.
  • In der Fig. 5 ist eine solche abschnittsweise parallele Ausführung für ein Modell der Ordnung 14 dargestellt. Bei dieser Ausführung werden drei reale LBCs 68, 70 und 72 verwendet. Auf der "Ebene" 1 werden wie gezeigt der LBC 68 als Eingangssignale k&sub1; und k&sub2; zugeführt, und sie erzeugt ein Ausgangssignal, nämlich a1,2 zur Verwendung bei der LBC 70 auf der Ebene 2, zusammen mit k&sub2; und a&sub3;. Die LBC 70 erzeugt, auf der Ebene 2, die Größen a1,3 und a2,3 zur Verwendung bei der LBC 72 und der LBC 70' (die in Wirklichkeit die LBC 70 ist). Die Größe a2,3 wird zum Eingang der LBC 70 zurückgeführt, um dadurch die LBC 70' zu emulieren, während auf der Ebene 3 a1,3 an die LBC 72 angelegt wird, zusammen mit k&sub3; und k&sub4;. Die LBC 72 erzeugt an ihren Ausgängen a1,4 und a3,4, wobei a1,4 für den späteren Gebrauch gespeichert wird. Die LBC 70' erzeugt a2,4, das, zusammen mit a3,4, wieder an die LBC 72 angelegt wird, um dadurch die LBC 72' zu emulieren, die ihrerseits a2,5, das für den späteren Gebrauch gespeichert wird, und a3,5 erzeugt, das wieder an die LBC 72 angelegt wird, um die LBC 72'' zu emulieren. Die LBC 72'' erzeugt a3,6, das für den späteren Gebrauch gespeichert wird, womit der erste Abschnitt ausgeführt ist.
  • Auf diese Weise bewirken die drei realen LBCs 68, 70 und 72 ein "Durchschneiden" des seitengespeisten Supergitters unter Bildung von "Abschnitten", wobei in jedem Abschnitt von den Möglichkeiten der Parallelverarbeitung in den drei Prozessoren Gebrauch gemacht wird. Die in den Fig. 4B und 5 gezeigten seitengespeisten Supergitterstrukturen stellen daher für jede Anzahl von Prozessoren, die in einem System oder auf einem VLSI-Chip verfügbar sind, das optimale System dar. Es ist ersichtlich, daß keine der Größen ai,j (mit Ausnahme der Erweiterungen an der unteren Grenze des Supergitters) öfter als einmal erzeugt wird, wodurch sich eine optimale Technik ergibt.
  • Nach Beendigung des ersten Abschnittes werden die Werte, die gespeichert wurden (a1,4, a2,5 und a3,6), zusammen mit k&sub4; und k&sub5;, an die LBC 68 angelegt, und die Verarbeitung schreitet durch die Ebenen 4-10 fort, bis der zweite Abschnitt beendet ist. An dieser Stelle werden dann, wie beim ersten Abschnitt, die gespeicherten Informationen erneut an die LBC 68 angelegt, und auf den Ebenen 6-12 wird der dritte Abschnitt ausgeführt. Dieser Vorgang wird für den vierten und die letzten Abschnitte wiederholt, bis der gesamte Satz von linearen Prädiktorkoeffizienten a1,14 bis a14,14 erzeugt ist, wobei a14,14 direkt aus k&sub1;&sub4; erhalten wird.
  • Anhand der Fig. 6 wird eine Hardware-Ausführung des seitengespeisten Supergitters der Fig. 5 erläutert. Die LBCs können jeweils entweder als ein Zwei-Zyklus-Prozessor oder als zwei Ein-Zyklus-Prozessoren ausgeführt sein, um die in der Fig. 4A gezeigten Funktionen auszuführen. Drei solcher wirklicher Prozessoren oder "realer Prozessoren" 74, 76 und 78 werden als "B", "M" und "T" bezeichnet, um den unteren, mittleren und oberen Prozessor zu bezeichnen. Gemäß dem anhand der Fig. 5 erläuterten Signalfluß wird der erste Abschnitt auf der Ebene 1 durch den unteren Prozessor 74, auf der Ebene 2 durch den mittleren Prozessor 76, auf der Ebene 3 durch den oberen und mittleren Prozessor und auf den Ebenen 4 und 5 durch den oberen Prozessor ausgeführt. Im zweiten Abschnitt ist auf der Ebene 4 nur der untere Prozessor aktiv, auf der Ebene 5 der mittlere und untere Prozessor, auf den Ebenen 6 und 7 alle drei Prozessoren, und so weiter. Obwohl nur drei Prozessoren 74, 76 und 78 vorgesehen sind, können die Zwischenwerte so gespeichert und geeignet zurückgeführt werden, daß die "virtuellen" Prozessoren zur Bildung des seitengespeisten Supergitters emuliert werden. Es kann dabei die Bezeichnung "virtuelle Prozessoren" auch die realen Prozessoren einschließen.
  • Die Fig. 7 zeigt ein Beispiel für die tatsächliche Hardware-Ausführung des seitengespeisten Supergitters für die abschnittsweise parallele Ausführung mit drei Prozessoren. Es werden der untere, mittlere und obere Prozessor 74, 76 und 78 verwendet, die den realen Prozessoren der Fig. 6 entsprechen, wobei jeder Prozessor die Gitter-Basiszelle der Fig. 4A mit der zugehörigen Logik und Register a, b, c, d und k enthält. Über einen a-Bus 82 erhält ein a-Puffer 80 das Ausgangssignal vom d-Register des oberen, mittleren und unteren Prozessors. In jedem der oberen, mittleren und unteren Prozessoren erzeugen die a- und b-Register ein Eingangssignal für die zugehörige LBC und Logik, und die LBC und die Logik erzeugen ein Ausgangssignal, das zu den zugehörigen c- und d-Registern geführt wird. Jede LBC erhält ein zusätzliches Eingangssignal vom zugehörigen k-Register, das seinerseits über den k-Bus 86 ein Eingangssignal vom k-Puffer 84 erhält.
  • Das b-Register im oberen, mittleren und unteren Prozessor erhält ein Eingangssignal vom zugehörigen c-Register und vom k-Bus 86. Das a-Register im oberen Prozessor 78 erhält ein Eingangssignal vom d-Register des mittleren Prozessors 76, und gleichermaßen erhält das a-Register im mittleren Prozessor 76 ein Eingangssignal vom d-Register des unteren Prozessors 74. Das a-Register im unteren Prozessor 74 erhält andererseits ein Eingangssignal vom zugehörigen c-Register und über den Grenzpufferbus 90 vom Grenzpuffer 88, und das a- und b-Register im unteren Prozessor erhält ein weiteres Eingangssignal vom k-Bus 86. Das Ausgangssignal des d-Registers des oberen, mittleren und unteren Prozessors wird schließlich auf den Grenzpufferbus 90 gegeben.
  • Die Arbeitsweise der in der Fig. 7 gezeigten Hardware wird im einzelnen anhand einer symbolischen Sprache beschrieben, um die Operationen effektiv darzustellen.
  • Definitionen
  • - B: unterer Prozessor
  • - M: mittlerer Prozessor
  • - T: oberer Prozessor
  • - a(.)
  • - b(.) Register des Prozessors (.)
  • - c(.) z. B.: a(M): a-Register des mittleren
  • - d(.) Prozessors
  • - k(.)
  • - bbi: i-te Stelle des Grenzpuffers
  • - ki: i-te Stelle des k-Puffers
  • - ai: i-te Stelle des a-Puffers
  • - C[Prozessor 1, Prozessor 2, Prozessor 3; p, L]:
  • Gleichzeitiger Betrieb des Prozessors 1 . . . Prozessors 3 (ein, zwei oder drei Prozessoren; wenigstens ein Prozessor muß aktiv sein) im Abschnitt p auf der Ebene L.
  • z. B.: C[B, M; 2, 5]: Gleichzeitiger Betrieb des unteren und mittleren Prozessors im 2. Abschnitt, Ebene 5.
  • C[B; 2, 4]: Betrieb nur des unteren Prozessors im 2. Abschnitt, Ebene 4 (eine Art von degeneriertem gleichzeitigem Betrieb)
  • - Stelle 1 → Stelle 2: Datentransfer von der Stelle 1 zur Stelle 2; die Stellen 1 und 2 können Prozessorregister oder Pufferstellen sein.
  • Transferbeispiele:
  • c(B) → a&sub1;&sub0;: Der Inhalt des c-Registers des unteren Prozessors wird zur 10. Stelle des a-Puffers übertragen.
  • d(T) → bb&sub1;: Der Inhalt des d-Registers des oberen Prozessors wird zur ersten Stelle des Grenzpuffers übertragen.
  • - Stelle 1 → (Stelle 2 . . . Stelle m): Der Inhalt der Stelle 1 wird gleichzeitig (über einen Bus) zu den Stellen 2 . . . m übertragen.
  • z. B.: k&sub1;&sub0; → (k(B), k(M), k(T)): Das k-Register des unteren, mittleren, oberen Prozessors wird über den k-Bus mit dem Inhalt der 10. Stelle des k-Puffers initialisiert. - Transfer 1 Die Übertragungen 1 . . . m können in jeder Transfer m Reihenfolge, auch gleichzeitig, erfolgen. - Transfer 1 Die Übertragungen 1 . . . m müssen streng Transfer m sequentiell nacheinander erfolgen.
  • In derselben Phase kann eine Kombination der letzten beiden Fälle auftreten.
  • Zum Beispiel:
  • Transfer 1 Transfer 2 Transfer 3
  • Transfer 4
  • Transfer 5 Transfer 6
  • Die Übertragungen 1, 2 und 3 können in jeder Reihenfolge erfolgen. Alle drei Übertragungen müssen jedoch dem Transfer 4 vorangehen. Nach dem vierten Transfer können die Übertragungen 5 und 6 in jeder Reihenfolge erfolgen.
  • Im folgenden ist die Arbeitsweise der Hardware der Fig. 7 auf der Basis des Flußdiagramms der Fig. 6 für ein System der Ordnung 14 beschrieben. Die Verallgemeinerung für jede beliebige Ordnung ergibt sich für den Fachmann aus der hier vorliegenden Beschreibung. Abschnitt 1 Phase Abschnitt 2 Phase Phase Abschnitt 3 Phase
  • Die Fortsetzung dieser Prozedur ist für den Fachmann aus der vorstehenden Beschreibung offensichtlich.
  • Erzeugung der direkten Finite- Impuls-Response-Filterkoeffizienten
  • Das beschriebe seitengespeiste Supergitter kann mit einer "Superleiter"-Struktur ähnlich der in der EP-A-282 799 beschriebenen verwendet werden, um direkte LS-FIR-Filterkoeffizienten ci,j zu berechnen.
  • Die Berechnung der direkten LS-FIR-Filterkoeffizienten erfolgt über die folgende Rekursion des "Levinson-Typs":
  • Die Gleichung (8) kann in die Form einer verschachtelten Schleife gebracht werden:
  • für i = 1 bis (m+1)
  • für j = 1 bis (i-1)
  • ci,j = ci,j-1 + kcjaj-i,j-1 (9)
  • Ende
  • Ende
  • Es ist eine bemerkenswerte Ähnlichkeit zu der Rekursion
  • ersichtlich, die zusammen mit den Rekursionen
  • die Basis der Supergitter-Superleiterstruktur bildet. Unter Verwendung von hochgestellten statt tiefgestellten Indizes und von m anstelle von j kann die Gleichung (9) wie folgt geschrieben werden:
  • was der Gleichung (10) entspricht. Auf der Basis dieser Beziehung kann die in der Fig. 8 in dicken Linien gezeigte Signalverarbeitungsstruktur oder "Superleiter" definiert und über dem Supergitter plaziert werden, wobei die Gesamtstruktur als "seitengespeiste Supergitter-Superleiter" bezeichnet wird.
  • In der Fig. 8 dienen die weißen Dreiecke, die Teil des Supergitters sind, wie zuvor der Multiplikation der Gitterprädiktorkoeffizienten ki mit den Eingangsgrößen ai,j. Die schwarzen Dreiecke, die Teil der Superleiter sind, dienen zur Multiplikation der Eingangsgrößen ai,j mit den Gitterfilterkoeffizienten kic, die mit der Supergitter-Superleiterstruktur erzeugt werden, die in der Fig. 4 der EP-A-282 799 dargestellt ist. Der Struktur werden die Gitterprädiktorkoeffizienten k&sub1;-k&sub7; und die Gitterfilterkoeffizienten k&sub1;c-k&sub8;c zugeführt, und es werden wie gezeigt die direkten Filterkoeffizienten c1,8-c8,8 erzeugt.
  • Die Supergitter-Superleiterstruktur der Fig. 8 ist für den symmetrischen Fall gezeigt, es ist jedoch ersichtlich, daß der Supergitterabschnitt der Struktur nicht reduziert ist, sondern ziemlich von der gleichen Größe ist wie das Supergitter der Fig. 2 für den nichtsymmetrischen Fall. Die seitengespeiste Supergitter-Superleiterstruktur der Fig. 8 ist daher hoch redundant, da jedes ai,j zweimal berechnet wird. Es ist jedoch auch ersichtlich, daß der Superleiterabschnitt, der die Größen ci,j erzeugt und der das gesamte Supergitter abdeckt, nicht redundant ist. Um die Anzahl der Operationen auf ein Minimum zu reduzieren, muß das Supergitter auf die halbe Gitterstruktur reduziert werden, auf eine Weise ähnlich wie bei der Fig. 3 oben, und die Superleiter muß auf die Halbgitterstruktur "gefaltet" werden.
  • Die Fig. 9 zeigt die sich ergebende nicht-redundante seitengespeiste Supergitter-Superleiterstruktur. Es wird wieder die gleiche Symbolik benutzt, bei der die weißen Dreiecke dazu dienen, die Eingangswerte mit dem Gitterprädiktorkoeffizient ki zu multiplizieren und die schwarzen Dreiecke dazu, die Eingangswerte mit den Gitterfilterkoeffizienten kic. Kreise zeigen wieder die Additionsoperation an. Das heißt, daß der Gitterprädiktorkoeffizient k&sub1;, der zum Zwecke der Übereinstimmung mit den Zwischenwerten auch als a1,1 bezeichnet wird, im Multiplikator 92 mit dem Gitterprädiktorkoeffizienten k&sub2; multipliziert wird, und das Ergebnis wird im Addierer 94 zum Gitterprädiktorkoeffizienten k&sub1; addiert, um den Zwischenwert a1,2 zu erzeugen. Der Gitterprädiktorkoeffizient k&sub1; wird im Multiplikator 96 auch mit dem Gitterfilterkoeffizienten k&sub2;c multipliziert, und das Ergebnis wird im Addierer 98 zum Gitterfilterkoeffizienten k&sub1;c addiert, um den Zwischenwert c1,2 zu erzeugen. Diese Zwischenwerte werden zu einer weiteren Stufe der Supergitter-Superleiter geführt, zusammen mit dem Gitterprädiktorkoeffizient k&sub2; und dem Gitterfilterkoeffizient k&sub2;c, die der Seite des Supergitters als Variable a2,2 und c2,2 zugeführt werden, und die Verarbeitung wird wie gezeigt fortgesetzt. Im Falle der Supergitter-Superleiter der Fig. 8 werden die direkten Filterkoeffizienten c1,8-c8,8 erzeugt, wobei der Koeffizient c8,8 natürlich direkt aus dem Gitterfilterkoeffizienten k&sub8;c abgeleitet wird. Am ganz linken Ende der Struktur haben nur die Ergebnisse der Superleiter, das heißt die linearen Filterkoeffizienten c1,8-c8,8 eine Bedeutung, da k&sub8; nicht zur Verfügung steht.
  • Die Fig. 10 zeigt eine Basiszelle der Struktur der Fig. 9. Die Basiszelle erhält Eingangssignale a, b, c, d, ki und kic zugeführt und erzeugt Ausgangssignale e, f, g und h wie folgt:
  • e = c + kica
  • f = d + kia
  • g = a + kid
  • h = b + kicd
  • Die Basiszelle der Fig. 10 besteht aus der Gitter-Basiszelle der Fig. 4A, um aus den Eingangssignalen a, d und ki die Ausgangssignale f und g zu erzeugen, und einen in dicken Linien gezeigten Superleiterabschnitt, um aus den Eingangssignalen a, b, c, d und kic die Ausgangssignale e und h zu erzeugen.
  • Die Fig. 11 zeigt eine Ausführung der Supergitter-Superleiterstruktur der Fig. 9 mittels der Basiszelle der Fig. 10, wobei drei solcher Basiszellen 100, 102 und 104 verwendet werden. Wie bei dem seitengespeisten Supergitter der Fig. 5 verarbeiten die Basiszellen 100, 102 und 104 der seitengespeisten Supergitter- Superleiter die Eingangsvariablen wie gezeigt parallel entlang eines ersten Abschnittes, und dann verarbeiten sie die Eingangssignale rekursiv durch einen zweiten Abschnitt und später einen dritten Abschnitt, um dadurch eine abschnittsweise parallele Ausführung der seitengespeisten Supergitter-Superleiter zu bewirken, die die linearen LS-FIR-Filterkoeffizienten c1,8-c8,8 ergibt. Es ist ersichtlich, daß sich die Basiszellen längs der Unterseite der seitengespeisten Supergitter-Superleiter über die in der Fig. 9 gezeigte Struktur hinaus erstrecken, wie in der Fig. 11 gezeigt jedoch vorgesehen sind, um eine homogene Hardware-Ausführung zu ergeben. Die Eingangssignale für die Basiszellen sind die gleichen wie bei der Fig. 9, mit Ausnahme der Variablen für die untere Erweiterung, die in Klammern gezeigt sind. Da nur die Ausgangssignale von Bedeutung sind, die dem Superleiterabschnitt der Struktur an den Basiszellen ganz links entsprechen, werden die Basiszellen ganz links dazu benutzt, um eine homogene Hardwarestruktur zu erhalten, und die Ausgangssignale, die dem Supergitterabschnitt dieser Zellen entsprechen (gestrichelt gezeigt), können ignoriert werden.
  • Es ist auch ersichtlich, daß die seitengespeiste Supergitter-Superleiterstruktur der Fig. 11 vollständig parallel oder vollständig sequentiell ausgeführt werden kann. Die genaue Hardware-Ausführung der seitengespeisten Supergitter-Superleiter der Fig. 11, die analog zu der der Fig. 7 ist, ist dem Fachmann aus der vorstehenden Beschreibung ersichtlich.

Claims (6)

1. Signalprozessor, der mehrere Gitter-Vorgabekoeffizienten ki mit i =[0 - P] erhält und daraus eine im wesentlichen entsprechende Zahl von direkten Vorgabekoeffizienten aij erzeugt, mit
einer ersten Mehrzahl von realen Prozessoren (54-66), deren Zahl kleiner oder gleich P ist,
wobei jedem Prozessor drei Eingaben a, b und k und zwei Ausgaben c und d mit c = b + ka und d = a + kb aufweist und die k Eingabe zu jedem Prozessor einen von den Gitter-Vorgabekoeffizienten ki während einer besonderen Zeitspanne erhält; und
einer Speicher- und Zugriffsanordnung (84, 88) zum selektiven Speichern der Werte von c, d und ki und zum selektiven Anlegen und wiederholten Rückkoppeln der Werte in aufeinanderfolgenden Schritten auf die a, b und k Eingaben der ersten Mehrzahl von realen Prozessoren, um dadurch der ersten Mehrzahl von realen Prozessoren ein Emulieren einer zweiten Mehrzahl von realen Prozessoren zu ermöglichen, die eine Vielfach-Stufen-Supergitteranordnung mit einer wachsenden Zahl von Prozessoren von Stufe zur Stufe bilden,
wobei jeder Prozessor auf der oberen Grenze der Supergitteranordnung als seine b Eingabe einen von den Gitterkoeffizienten ki und als seine a Eingabe die d Ausgabe von einem Prozessor aus der vorhergehenden Stufe erhält,
jeder Prozessor auf der letzten Stufe der Supergitteranordnung an seinen c und d Ausgaben ein Paar von direkten Vorgabekoeffizienten erzeugt,
jeder Prozessor auf der unteren Grenze der Supergitteranordnung als seine a und b Eingaben die c Ausgabe von einem Prozessor aus der vorhergehenden Stufe erhält,
jeder verbleibende Prozessor als seine a Eingabe die d Ausgabe von einem ersten aus einem vorhergehenden Paar von angrenzenden Prozessoren und als seine b Eingabe die c Ausgabe von dem zweiten aus dem vorhergehenden Paar von angrenzenden Prozessoren erhält und
alle Prozessoren auf einer Stufe an ihren k Eingaben derselben Wert von ki erhalten.
2. Signalprozessor, der mehrere Gitter-Vorgabekoeffizienten ki mit i =[0 - P] erhält und daraus eine im wesentlichen entsprechenden Zahl von direkten Vorgabekoeffizienten aij erzeugt, mit
mehreren realen Prozessoren (68-72, 74-78), deren Anzahl kleiner oder gleich P ist,
wobei jeder Prozessor drei Eingaben a, b und k und zwei Ausgaben c und d mit c = b + ka und d = a + kb aufweist und die k Eingabe zu jedem Prozessor einen von den Gitter-Vorgabekoeffizienten ki während eines besonderen Zeitspanne erhält, und
einer Speicher- und Zugriffsanordnung (84, 88) zum selektiven Speichern der Werte von c, d und ki und zum selektiven Anlegen und wiederholten Rückkoppeln in aufeinanderfolgenden Schritten der Werte auf die a, b und k Eingaben der realen Prozessor, um dadurch den realen Prozessoren ein Emulieren mehrerer virtueller Prozessoren zu ermöglichen, die eine Vielfach-Stufen-Supergitteranordnung mit einer wachsenden Zahl von virtuellen Prozessoren von Stufe zur Stufe bilden,
wobei jeder virtuelle Prozessor auf der oberen Grenze der Supergitteranordnung als seine b Eingabe einen von den mehreren Gitter-Vorgabekoeffizienten ki und als seine a Eingabe die d Ausgabe von einem virtuellen Prozessor aus der vorhergehenden Stufe erhält,
jeder virtuelle Prozessor auf der letzten Stufe des Supergitteranordnung als seine c und d Ausgaben ein Paar von direkten Vorgabekoeffizienten erzeugt,
jeder virtuelle Prozessor auf der unteren Grenze der Supergitteranordnung als seine a und b Eingaben die c Ausgabe von einem virtuellen Prozessor aus einer vorhergehenden Stufe erhält,
jeder verbleibende virtuelle Prozessor als seine a Eingabe die d Ausgabe von einem ersten aus einem vorhergehenden Paar von angrenzenden virtuellen Prozessoren und als seine b Eingabe die c Ausgabe von dem zweiten aus dem vorhergehenden Paar von angrenzenden virtuellen Prozessoren erhält
und alle virtuellen Prozessoren auf einer Stufe an ihren k Eingaben denselben Wert von ki erhalten.
3. Signalprozessor gemäß Anspruch 1 oder 2, wobei jeder reale Prozessor einen einzelnen zwei-kreisigen Prozessor zum Erzeugen der Ausgaben c und d in zwei getrennten Zeitspannen enthält.
4. Signalprozessor gemäß Anspruch 1 oder 2, wobei jeder reale Prozessor zwei ein-kreisige Verarbeitungselemente zum im wesentlichen gleichzeitigen Erzeugen der Ausgabe c und d enthält.
5. Signalprozessor gemäß einem der Ansprüche 1 bis 4, wobei jeder Wert von ki einem normalen Gitter-Vorgabekoeffizienten entspricht.
6. Signalprozessor, der mehrere Gitter-Vorgabe- und Filterkoeffizienten ki und kic erhält und daraus eine im wesentlichen entsprechende Zahl von direkten Filterkoeffizienten cij erzeugt, mit
mehreren realen Prozessoren (100, 102, 104; Fig. 11), deren Anzahl kleiner oder gleich P ist,
wobei jeder Prozessor sechs Eingaben a, b, c, d, ki und kic und vier Ausgaben e, f, g und h aufweist, derart daß
e = c + kica
f = d + kia
g = a + kid
h = b + kicd
ist und die ki und kic Eingaben zu jedem Prozessor jeweils die Gitter-Vorgabe- und Filterkoeffizienten ki und kic erhalten; und
einer Speicher- und Zugriffsanordnung zum selektiven Speichern der Werte von i, f, g, h, ki und kic und zum selektiven Anlegen und wiederholten Rückkoppeln der Werte in aufeinanderfolgenden Schritten auf die a, b, c, d, ki und kic Eingaben der realen Prozessoren, um dadurch den realen Prozessoren ein Emulieren mehrerer virtueller Prozessoren (102', 104', 104'') zu ermöglichen, die eine Vielfach-Stufen-Supergitteranordnung mit einer wachsenden Anzahl von virtuellen Prozessoren von Stufe zur Stufe bilden,
jeder virtuelle Prozessor auf der oberen Grenze der Supergitteranordnung als seine c und d Eingaben ausgewählte Werte von Gitter-Vorgabe- und Filterkoeffizienten ki und kic und als seine a und b Eingaben die g und h Ausgaben von einem virtuellen Prozessor aus der vorhergehenden Stufe erhält, jeder virtuelle Prozessor auf der letzten Stufe der Supergitteranordnung als seine e und h Ausgaben ein Paar von direkten Filterkoeffizienten cij erzeugt,
jeder virtuelle Prozessor auf der oberen Grenze der Supergitteranordnung als seine a und b Eingaben sowie seine c und d Eingaben die e und f Ausgaben von einem virtuellen Prozessoren aus der vorhergehenden Stufe erhält,
jeder verbleibende virtuelle Prozessor als seine a und b Eingaben die g und h Ausgaben von einem ersten virtuellen Prozessor aus der vorhergehenden Stufe und als seine c und d Eingaben die e und f Ausgaben von einem zweiten virtuellen Prozessor der vorhergehenden Stufe, der an den ersten virtuellen Prozessor angrenzt, erhält, und
alle virtuelle Prozessoren auf einer Stufe als ihre ki und kic Eingaben jeweils denselben Wert von ki und kic erhalten.
DE3851807T 1987-08-12 1988-07-07 Seitengespeistes Supergitter zur Erzeugung von linearen Prädiktor- und Filterkoeffizienten. Expired - Fee Related DE3851807T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US8492987A 1987-08-12 1987-08-12

Publications (2)

Publication Number Publication Date
DE3851807D1 DE3851807D1 (de) 1994-11-17
DE3851807T2 true DE3851807T2 (de) 1995-03-09

Family

ID=22188103

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3851807T Expired - Fee Related DE3851807T2 (de) 1987-08-12 1988-07-07 Seitengespeistes Supergitter zur Erzeugung von linearen Prädiktor- und Filterkoeffizienten.

Country Status (11)

Country Link
EP (1) EP0303051B1 (de)
JP (1) JPH01126010A (de)
KR (1) KR890004242A (de)
AT (1) ATE112872T1 (de)
CA (1) CA1292578C (de)
DE (1) DE3851807T2 (de)
DK (1) DK450588A (de)
ES (1) ES2060626T3 (de)
FI (1) FI883732A (de)
IL (1) IL87013A (de)
NO (1) NO176295C (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1045315A3 (de) 1999-04-13 2011-03-02 Canon Kabushiki Kaisha Datenverarbeitungsverfahren und -Vorrichtung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1264857A (en) * 1986-03-07 1990-01-23 George Carayannis Optimal parametric signal processor
JPH0831090A (ja) * 1994-07-15 1996-02-02 Nippon Columbia Co Ltd ボーカルチエンジ装置

Also Published As

Publication number Publication date
EP0303051A3 (en) 1989-10-04
DK450588A (da) 1989-02-13
CA1292578C (en) 1991-11-26
IL87013A0 (en) 1988-12-30
EP0303051B1 (de) 1994-10-12
ES2060626T3 (es) 1994-12-01
NO176295C (no) 1995-03-08
FI883732A0 (fi) 1988-08-11
FI883732A (fi) 1989-02-13
IL87013A (en) 1992-06-21
JPH01126010A (ja) 1989-05-18
ATE112872T1 (de) 1994-10-15
DK450588D0 (da) 1988-08-11
NO883560L (no) 1989-02-13
NO176295B (no) 1994-11-28
NO883560D0 (no) 1988-08-11
DE3851807D1 (de) 1994-11-17
EP0303051A2 (de) 1989-02-15
KR890004242A (ko) 1989-04-20

Similar Documents

Publication Publication Date Title
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE3510660C2 (de)
DE3856079T2 (de) Verfahren für einen Blockdiagramm-Simulator
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE3874427T2 (de) Linearer praediktionsvocoder mit code-anregung.
DE3420576C2 (de) Anordnung zum Reprojizieren von Bildern aus mehreren eindimensionalen Projektionen in der Computer-Tomographie
DE3688600T2 (de) Musikinstrument mit digitalem Filter mit programmierten variablen Koeffizienten.
DE112018004693T5 (de) Verbessern der effizienz eines neuronalen netzes
DE3209450A1 (de) Digitalfilterbank
DE4414172A1 (de) Gleit-Komma-Arithmetikeinheit zur Division und Quadratwurzelberechnung, die eine modifizierte Newton-Raphson Technik verwendet
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE3018508C2 (de) Sprachanalysiervorrichtung
DE69921608T2 (de) Verfahren und vorrichtung zum zoomen von digitalen bilddateien
DE68926154T2 (de) Pipelineprozessor zur Durchführung des LMS Algorithmus
WO2004013839A1 (de) Vorrichtung und verfahren zum erzeugen einer komplexen spektraldarstellung eines zeitdiskreten signals
DE2949582A1 (de) Verfahren und anordnung zur bestimmung der tonhoehe in menschlicher sprache
EP0974105B1 (de) Verfahren zur mehrdimensionalen, diskreten wavelet-transformation und transformationseinheit zur durchführung des verfahrens
DE2729912A1 (de) Digitale signalverarbeitungsanordnung
DE69027874T2 (de) Lernmaschine mit Mehreingangs- Einausgangsschaltungen, die in einer hierarchischen Struktur verbunden sind
DE3447634C2 (de)
DE3851807T2 (de) Seitengespeistes Supergitter zur Erzeugung von linearen Prädiktor- und Filterkoeffizienten.
DE2039228B2 (de) Schaltungsanordnung in einer Datenverarbeitungsanlage zum Verschieben einer binär kodierten Oktalzahl um eine Anzahl von Dezimalstellen nach rechts
DE102019104571A1 (de) Künstliches neuronales netz
DE69204064T2 (de) Filter zur erweiterung und erosionsumwandlung von bildern.
DE3037276C2 (de) Tonsynthesizer

Legal Events

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