DE69827915T2 - Verarbeitungsverfahren und -vorrichtung - Google Patents

Verarbeitungsverfahren und -vorrichtung Download PDF

Info

Publication number
DE69827915T2
DE69827915T2 DE69827915T DE69827915T DE69827915T2 DE 69827915 T2 DE69827915 T2 DE 69827915T2 DE 69827915 T DE69827915 T DE 69827915T DE 69827915 T DE69827915 T DE 69827915T DE 69827915 T2 DE69827915 T2 DE 69827915T2
Authority
DE
Germany
Prior art keywords
path
processing unit
metrics
metric
branch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69827915T
Other languages
English (en)
Other versions
DE69827915D1 (de
Inventor
Ryutaro Yokohama-shi YAMANAKA
Hidetoshi Yokohama-shi SUZUKI
Hideyuki Kyoto-shi KABUO
Minoru Suita-shi OKAMOTO
Kevin Mark STONE
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69827915D1 publication Critical patent/DE69827915D1/de
Application granted granted Critical
Publication of DE69827915T2 publication Critical patent/DE69827915T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Verarbeitungseinheit, die in einem mobilen Kommunikationsgerät integriert ist, um eine ACS-Operation (Addieren, Vergleichen und Auswählen), insbesondere einer Viterbi-Dekodierung, durchzuführen.
  • Stand der Technik
  • In der Datenkommunikation in einem Mobilfunk-Kommunikationsnetz wird die Ausführung einer Fehlerkorrekturverarbeitung benötigt, da häufig Bitfehler auftreten. Bei den Fehlerkorrekturverfahren gibt es ein Verfahren, bei dem ein aus einem Eingabebit erzeugter Faltungscode durch Viterbi-Dekodierung auf einer Empfängerseite dekodiert wird. Bei der Fehlerkorrekturverarbeitung wird ein digitaler Signalprozessor verwendet (nachfolgend "DSP" genannt).
  • Die Viterbi-Dekodierung wiederholt die einfache Verarbeitung, wie zum Beispiel Addition, Vergleich und Auswahl, und führt eine Rückverfolgungsoperation für Enddaten durch, wobei sie eine Maximum-Likelihood-Dekodierung des Faltungscodes realisiert. Im Folgenden wird die Viterbi-Dekodierungs-Verarbeitung kurz beschrieben. Der Faltungscode wird durch Modus-2-Addition von Eingabebits und einer feststehenden Anzahl von dazu vorrangigen Bits erzeugt. Danach wird eine Vielzahl von Kodierungsdaten erzeugt, die einem Bit der Eingabebits entsprechen. Eine Anzahl von Eingabe-Informationsbits, die Einfluss auf die Kodierungsdaten haben, wird hierin als Zwangsbedingungslänge (K) bezeichnet. Die Anzahl der Eingabe-Informationsbits ist gleich der Anzahl von Stufen von Schieberegistern, die in der Modus-2-Addition verwendet werden.
  • Die Kodierungsdaten werden durch die Eingabebits und einen Zustand der vorhergehenden Eingabebits (K – 1) bestimmt. Wenn ein neues Informationsbit eingegeben wird, geht der Zustand des Eingabebits in einen neuen Zustand über. Der Zustand, in den die Kodierungsdaten übergehen, wird dadurch bestimmt, ob das neue Eingabebit "0" oder "1" ist. Da die jeweiligen Bits (K – 1) "1" oder "0" sind, wird eine Anzahl von Zuständen, in denen Kodierungsdaten übergehen, 2(k–1).
  • Bei der Viterbi-Kodierung wird eine empfangene Kodierungsdatensequenz beobachtet, und der wahrscheinlichste Zustand wird von allen ermittelbaren Zustandsübergängen geschätzt. Aus diesem Grund wird jedes Mal, wenn Daten (eine empfangene Datensequenz), die einem Bit von Informationsbits entsprechen, kodiert werden, ein Signalabstand (Metrik) der jeweiligen Pfade zu jedem Zustand an diesem Punkt berechnet. Danach werden die Operationen für das Verlassen eines Pfades mit einer kleineren Metrik unter den Pfaden, die den gleichen Zustand als Überlebender erreichen, sequentiell wiederholt.
  • Wie in einem Zustandsübergangsdiagramm von 1 gezeigt wird, erstrecken sich in einem Faltungskodierer mit einer Zwangsbedingungslänge K zwei Pfade, die beide einen Zustandsübergang von dem Zustand S[n] und S[n + 2(K–2)] an einem vorhergehenden Punkt aufweisen, an einem bestimmten Punkt in einen Zustand S[2n] (n = positive ganze Zahl). In einem Fall von K = 3 zum Beispiel ist ein Übergang von jedem der S[1] (Zustand S01) und S[3] (Zustand S11) nach S[2] (Zustand S10) (Zustand, in dem die vorhergehenden zwei Bits in der Ordnung von "1" und "0" eingegeben werden) zu einem Zeitpunkt von n = 1 möglich. Zum Zeitpunkt von n = 2 ist weiterhin ein Übergang von jedem S[2] (Zustand S10) und S[4] (Zustand S00) nach S[4] (Zustand S00) (der durch die zwei niederwertigen Bits angezeigte Zustand) möglich.
  • Eine Pfadmetrik "a" ist eine Summe eines Signalabstandes (Zweigmetrik) "x" zwischen einem Ausgangssymbol des Pfades, der in den Zustand S[2n] eingibt, und der empfangenen Datensequenz und einer Pfadmetrik "A". Die Pfadmetrik "A" ist die Summe von Pfadmetriken des überlebenden Pfades bis zu dem Zustand S[n] an einem vorhergehenden Zustand. Analog dazu ist eine Pfadmetrik "b" eine Summe eines Signalabstandes (Zweigmetrik) "y" zwischen einem Ausgangssymbol des Pfades, der in den Zustand S[2n] eingibt, und der empfangenen Datensequenz und einer Pfadmetrik "B". Die Pfad metrik "B" ist die Summe der Zweigmetriken des überlebenden Pfades bis zu dem Zustand S[n + 2(K–2)] an einem vorhergehenden Punkt. Bei der Viterbi-Dekodierung werden die Pfadmetriken "a" und "b", die in den Zustand S[2n] eingeben, miteinander verglichen, und der kleinere Pfad wird als überlebender Pfad ausgewählt. Bei der Viterbi-Dekodierung wird bei jeder Verarbeitung der Addition, um die Pfadmetrik zu erhalten, ein Vergleich zwischen den Pfadmetriken und der Pfadauswahl in Bezug auf Zustände 2(K–2) an einem jeden Punkt durchgeführt. Darüber hinaus wird bei der Pfadauswahl eine Entwicklung, die zeigt, welcher Pfad ausgewählt worden ist, als ein Pfadauswahlsignal PS[i] [I = 0 bis 2(K–2) – 1] übriggelassen.
  • Wenn zu diesem Zeitpunkt ein Index (zum Beispiel n) eines vorhergehenden Zustandes des ausgewählten Pfades kleiner ist als ein Index (n + 2(K–2)) eines vorhergehenden Zustandes des nicht ausgewählten anderen Pfades, wird PS[i] = 0 eingerichtet. Wenn der Index (n) größer ist als der Index (n + 2(K–2)), wird PS[i] = 1 eingerichtet.
  • In dem Fall aus 1 gilt: da n < (n + 2(K–2)) eingerichtet wird, wird der Zustand S[n + 2(K–2)) an dem Zeitpunkt a > b ausgewählt und PS[S2n] = 1 wird eingerichtet, und der Zustand S[n] wird zu dem Zeitpunkt a ≤ b ausgewählt, und PS[2n] = 0 wird eingerichtet.
  • Danach werden bei der Viterbi-Dekodierung Daten dekodiert, während sie auf der Grundlage des Pfadauswahlsignals zu dem schließlich überlebenden Pfad zurückverfolgt werden.
  • Im Folgenden wird die herkömmliche Verarbeitungseinheit für Viterbi-Dekodierung TMS320C54x erläutert, die eine allgemeine Verarbeitungseinheit ist (hergestellt von TEXAS INSTRUMENTS, nachfolgend "C54x" genannt) und die hier als ein Beispiel angeführt wird. In einem GSM-Mobilfunksystem wird die unten angeführte Gleichung (1) als Faltungscode verwendet. G1(D) = 1 + D3 + D4 G2(D) = 1 + D + D3 + D4 (1)
  • Der oben genannte Faltungscode wird durch ein Trellisdiagramm einer in 2 gezeigten Butterfly-Struktur ausgedrückt. Das Trellisdiagramm zeigt einen Zustand, in dem der Faltungscode von einem bestimmten Zustand in einen anderen Zustand übergeht. Nehmen wir an, dass die Zwangsbedingungslänge K gleich 5 ist. Zustände von Butterfly-Strukturen 2(K–2) = 16 oder 8 sind für jeden Symbolabschnitt vorhanden. Danach werden zwei Zweige in jeden Zustand eingegeben, und eine neue Pfadmetrik wird durch die ACS-Operationen ermittelt.
  • Die Zweigmetrik kann als die folgende Gleichung (2) definiert werden. M = SD(2*i)*B(J, O) + SD(2*i + 1)*B(j, 1) (2)
  • Wobei SD (2*i) ein erstes Symbol einer Symbolmetrik bezeichnet, die eine weiche Entscheidungseingabe zeigt, und wobei SD (2*i + 1) ein zweites Symbol der Symbolmetrik bezeichnet. B(J, 0) und B(j, 1) entsprechen Codes, die wie in 3 gezeigt durch einen Faltungskodierer erzeugt werden.
  • Bei der C54x wird ein Rechenwerk (nachfolgend "ALU" genannt) auf einen dualen 16-Bit-Modus gesetzt, wobei die Butterfly-Struktur mit großer Geschwindigkeit verarbeitet wird. Die Ermittlung einer neuen Pfadmetrik (j) kann erreicht werden, indem zwei Pfadmetriken (2*J und 2*J + 1) berechnet und die Zweigmetriken (M und –M) parallel auf der Grundlage eines DSADT-Befehles berechnet werden und indem ein Vergleich auf der Grundlage eines CMPS-Befehles durchgeführt wird. Die Ermittlung einer neuen Pfadmetrik (j + 8) kann erreicht werden, indem zwei Pfadmetriken und die Zweigmetriken (M und –M) parallel auf der Grundlage der DSADT-Befehle berechnet werden. Die Berechnungsergebnisse werden in höherwertigen Bits bzw. in niederwertigen Bits eines Akkumulators mit doppelter Genauigkeit gespeichert.
  • Der CMPS-Befehl vergleicht die höherwertigen Bits und die niederwertigen Bits des Akkumulators und speichert einen größeren Wert in einem Speicher. Weiterhin wird jedes Mal bei Durchführung des Vergleiches der ausgewählte Wert in ein 16-Bit-Übergangsregister (TRN) geschrieben. Der in das TRN geschriebene Inhalt wird jedes Mal in dem Speicher gespeichert, wenn eine jede Symbolverarbeitung beendet wird. Die in dem Speicher zu speichernden Daten werden zur Suche nach einem geeigneten Pfad in der Rückverfolgungsverarbeitung verwendet. 4 zeigt ein Makroprogramm für eine Butterfly-Operation der Viterbi-Dekodierung.
  • Die Werte der Zweigmetriken werden in dem T-Register gespeichert, bevor das Makroprogramm aufgerufen wird. 5 zeigt ein Beispiel einer Speicherabbildung der Pfadmetriken.
  • Acht Butterfly-Operationen werden in einem Symbolabschnitt ausgeführt, und 16 neue Zustände werden erhalten. Diese Verarbeitungsserie wird über mehrere Abschnitte wiederholt berechnet. Nach Beendigung der Verarbeitung wird die Rückverfolgung ausgeführt, um aus 16 Pfaden einen geeigneten Pfad herauszufinden. Dabei kann eine Dekodierbitsequenz erhalten werden.
  • Der Mechanismus der ACS-Operationen der C54x, die ein allgemeiner digitaler Signalprozessor (DSP) ist, kann somit erläutert werden. Dann werden in der C54x die Aktualisierungen der beiden Pfadmetriken mit vier Maschinenzyklen aus dem Beispiel des Makroprogramms aus 4 durchgeführt.
  • In Zukunft wird eine steigende Nachfrage nach Nichtsprachkommunikation erwartet, die eine hohe Übertragungsqualität bei niedrigerer Bitfehlerrate als die Sprachkommunikation erfordert. Als Vorrichtung zum Erreichen der niedrigen Bit fehlerrate gibt es eine Vorrichtung zum Erhöhen der Zwangsbedingungslänge K der Viterbi-Dekodierung.
  • Wenn die Zwangsbedingungslänge jedoch um einen Wert entsprechend einem Bit erhöht wird, verdoppelt sich eine Anzahl von Pfadmetriken (Anzahl von Zuständen). Aus diesem Grund verdoppelt sich eine Anzahl von Operationen in der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP). Normalerweise ist die Menge von Informationen in der Nichtsprachkommunikation größer als die Menge von Informationen in der Sprachkommunikation. Wenn die Informationsmenge zunimmt, nimmt auch die Anzahl von Operationen in der Viterbi-Dekodierung, einschließlich der ACS-Operationen, zu. Eine Zunahme der Anzahl von Operationen unter Verwendung des DSP erschwert die Aufrechterhaltung einer Batterie für eine tragbare Endeinrichtung über einen langen Zeitraum.
  • Um die tragbare Endeinrichtung zu verkleinern, das Gewicht zu verringern und die Kosten zu senken, wurde in den vergangenen Jahren auch ein durch eine besondere Hochintegration (LSI) verarbeiteter Bereich zur Implementierung auf einer Chipform vorgesehen.
  • Eine Erhöhung der Anzahl der Operationen unter Verwendung des digitalen Signalprozessors (DSP) übersteigt jedoch die Verarbeitungsfähigkeit des vorhandenen DSP, wodurch es unmöglich wird, auf einer Chipform unter Verwendung von DSP implementiert zu werden.
  • Wenn darüber hinaus die Funktion des DSP stark verbessert wird, ergibt sich eine Erhöhung der Kosten des DSP selbst. Infolgedessen kann die Kostensenkung der tragbaren Endeinrichtung nicht realisiert werden.
  • Offenlegung der Erfindung
  • Eine erste Aufgabe der vorliegenden Erfindung besteht darin, eine Verarbeitungseinheit für effektive Verarbeitung einer ACS-Operation der Viterbi-Dekodierung unter Verwendung eines digitalen Signalprozessors (DSP) mit einer geringen Investition in die Software bereitzustellen.
  • Die genannte Aufgabe kann gelöst werden, indem zwei Paare von vergleichenden Abschnitten, ein Addierabschnitt und ein Speicherabschnitt in der Verarbeitungseinheit angeordnet werden und indem die ACS-Operation parallel ausgeführt wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Trellisdiagramm und zeigt einen Pfad eines Zustandsüberganges eines Faltungskodierers bei der Viterbi-Dekodierung.
  • 2 ist eine schematische Darstellung und zeigt eine Butterfly-Struktur des Trellisdiagramms.
  • 3 ist eine schematische Darstellung und zeigt ein Beispiel von Codes, die durch den Faltungskodierer erzeugt werden.
  • 4 ist eine Programmansicht und zeigt ein Beispiel einer Viterbi-Operation für Kanalkodierung.
  • 5 ist eine schematische Ansicht und zeigt eine Zeigegerätesteuerung und ein Beispiel eines Pfadmetrik-Speichers.
  • 6 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des ersten Ausführungsbeispieles der vorliegenden Erfindung.
  • 7 ist ein Blockschaltbild und zeigt ein Beispiel des Faltungskodierers mit einer Coderate von 1/2.
  • 8 ist eine schematische Ansicht und zeigt die Butterfly-Struktur, wobei eine Zwangsbedingungslänge K = 4 ist.
  • 9 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des zweiten Ausführungsbeispieles der vorliegenden Erfindung.
  • 10 ist eine Zeitansicht und erläutert eine Pipeline-Operation der Verarbeitungseinheit des zweiten Ausführungsbeispieles der vorliegenden Erfindung.
  • 11 ist eine schematische Ansicht und zeigt ein Beispiel einer Speicherzugangs-Operation des RAM des zweiten Ausführungsbeispieles der vorliegenden Erfindung.
  • 12 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des dritten Ausführungsbeispieles der vorliegenden Erfindung.
  • 13 ist eine schematische Darstellung und zeigt ein Beispiel einer Speicherzugangs-Operation eines Dual-Port-RAM des dritten Ausführungsbeispieles der vorliegenden Erfindung.
  • 14 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des vierten Ausführungsbeispieles der vorliegenden Erfindung.
  • 15 ist eine Zeitansicht und erläutert eine Pipeline-Operation der Verarbeitungseinheit des vierten Ausführungsbeispieles der vorliegenden Erfindung.
  • 16 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des fünften Ausführungsbeispieles der vorliegenden Erfindung.
  • 17 ist eine Ansicht und zeigt ACS-Operations-Ergebnisse der Verarbeitungseinheit des sechsten Ausführungsbeispieles der vorliegenden Erfindung.
  • 18 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des sechsten Ausführungsbeispieles der vorliegenden Erfindung.
  • 19 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des siebenten Ausführungsbeispieles der vorliegenden Erfindung.
  • 20 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des achten Ausführungsbeispieles der vorliegenden Erfindung.
  • 21 ist eine Eingangs-/Ausgangs-Ansicht eines 4 : 2-Verdichters des achten Ausführungsbeispieles der vorliegenden Erfindung.
  • 2 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des neunten Ausführungsbeispieles der vorliegenden Erfindung.
  • 23 ist eine Ansicht und zeigt eine tragbare Steuerung eines doppelt genauen Rechenwerkes (AU).
  • 24 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des zehnten Ausführungsbeispieles der vorliegenden Erfindung.
  • 25 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des elften Ausführungsbeispieles der vorliegenden Erfindung.
  • 26 ist ein Blockschaltbild und zeigt die Struktur einer Mobilstations-Vorrichtung des zwölften Ausführungsbeispieles der vorliegenden Erfidung.
  • 27 ist ein Blockschaltbild und zeigt die Struktur einer Basisstations-Vorrichtung des dreizehnten Ausführungsbeispieles der vorliegenden Erfindung.
  • 28 ist ein Blockschaltbild und zeigt die Struktur einer Basisstations-Vorrichtung des vierzehnten Ausführungsbeispieles der vorliegenden Erfidung; und
  • 29 ist ein Blockschaltbild und zeigt die Struktur der Basisstations-Vorrichtung des fünfzehnten Ausführungsbeispieles der vorliegenden Erfindung.
  • Beste Ausführung der Erfindung
  • Nunmehr werden Ausführungsbeispiele der vorliegenden Erfindung unter Bezugnahme auf die anhängenden Zeichnungen beschrieben werden.
  • Erstes Ausführungsbeispiel
  • 6 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des ersten Ausführungsbeispieles der vorliegenden Erfindung. In 7 speichert ein Pfadmetrik-Speicherabschnitt 1 Pfadmetriken, und eine Datenlieferung und eine Übertragung eines Operationsergebnisses werden über einen Bus 2 ausgeführt. Ein Zweigmetrik-Speicherabschnitt 3 speichert Zweigmetriken, und eine Datenlieferung wird über einen Bus 4 ausgeführt.
  • Die Vergleichsabschnitte 5 und 9 vergleichen die Dateneingabe von dem Pfadmetrik-Speicherabschnitt 3 über die Busse 2 bzw. 4.
  • Die Addierabschnitte 6 und 10 addieren Daten, die aus dem Pfadmetrik-Speicherabschnitt 1 bzw. dem Zweigmetrik-Speicherabschnitt 3 über die Busse 2 und 4 gelesen werden.
  • Ein Vergleichsergebnis-Speicherabschnitt 7 speichert ein Vergleichsergebnis des Vergleichsabschnittes 5, und ein Vergleichsergebnis-Speicherabschnitt 11 speichert ein Vergleichsergebnis des Vergleichsabschnittes 9. Danach übertragen die Vergleichsergebnis-Speicherabschnitte 7 und 11 die Vergleichsergebnisse in den Pfadmetrik-Speicherabschnitt 1 über den Bus 2.
  • Ein Auswahlabschnitt 8 gibt ein Addierergebnis des Addierabschnittes 6 ein und ermittelt einen Ausgang auf der Grundlage des Vergleichsergebnisses des Vergleichsabschnittes 5. Ein Auswahlabschnitt 12 gibt ein Addierergebnis des Addierabschnittes 10 ein und ermittelt einen Ausgang auf der Grundlage des Vergleichsergebnisses des Vergleichsabschnittes 9. Danach übertragen die Auswahlabschnitte 8 und 12 die auf der Grundlage der Vergleichsergebnisse ermittelten Ausgänge an den Pfadmetrik-Speicherabschnitt 1 über einen Bus 13. Als nächstes wird die ACS-Operation der Verarbeitungseinheit des ersten Ausführungsbeispieles unter Bezugnahme auf die Zeichnungen erläutert werden. In der untenstehenden Erläuterung wird von der Annahme ausgegangen, dass die zu dekodierenden Daten Daten sind, die von einem Faltungskodierer aus 7 kodiert wurden, wobei eine Zwangsbedingungslänge K = 4 und eine Coderate 1/2 ist. Weiterhin ist die Datenart der Pfadmetriken und die der Zweigmetriken Daten mit einfacher Genauigkeit. Wenn danach der besseren Verständlichkeit wegen Daten mit doppelter Genauigkeit auf (X, Y) gesetzt werden, wird eine Position hoher Ordnung der Daten mit doppelter Genauigkeit auf X gesetzt und eine Position niedriger Ordnung derselben wird auf Y gesetzt.
  • Vier Zweigmetriken werden auf BM0, BM1, BM2 bzw. BM3 gesetzt. Wenn ein Zustandsübergang unter Verwendung dieser Zweigmetriken veranschaulicht wird, ist die Butterfly-Struktur wie in 8 gezeigt.
  • Hier ist auf die Knoten N0 und N1 eines alten Zustandes zu achten. Die Übergangsziele der Knoten MN0 und N1 sind die Knoten N'0 bzw. N'4.
  • Danach ist eine Zweigmetrik, die zu dem Zeitpunkt des Überganges von dem Knoten N0 zu dem knoten N'0 erhalten wird, BM0, und eine Zweigmetrik, die zu dem Zeitpunkt des Überganges von dem Knoten N1 zu dem Knoten N'0 erhalten wird, ist BM1. Weiterhin ist eine Zweigmetrik, die zu dem Zeitpunkt des Überganges von dem Knoten N0 zu dem Knoten N'4 erhalten wird, BM1, und eine Zweigmetrik, die zu dem Zeitpunkt des Überganges von dem Knoten N1 zu dem Knoten N'4 erhalten wird, ist BM0.
  • Somit werden die Pfadmetrik PM0 des Knotens N0 und die Pfadmetrik PM1 des Knotens N1 durch die Zweigmetriken BM0 bzw. BM1 ersetzt, und diese Metriken werden addiert. Dabei erhält man die Pfadmetrik PM'0 des Knotens N'0 und die Pfadmetrik PM'4 des Knotens N'4.
  • Danach kann diese Beziehung auf die anderen Paare des Knotens (ein Paar von Knoten N2 und N3, ein Paar von Knoten N4 und N5, ein Paar von Knoten N6 und N7) angewendet werden.
  • Der Erfinder der vorliegenden Erfidung hat diese Beziehung beachtet und herausgefunden, dass zwei Pfadmetriken gleichzeitig aktualisiert werden können, indem die ACS-Operation parallel verarbeitet wird, und dass die Verarbeitungszeit reduziert werden kann. Dies führt zu der vorliegenden Erfindung.
  • Die ACS-Operation des Knotens N'0 bis N'3 in der ersten Hälfte wird durch den Vergleichsabschnitt 5, den Addierabschnitt 6, den Vergleichsergebnis- Speicherabschnitt 7 und den Auswahlabschnitt 8 ausgeführt. Parallel zu dieser Operation wird die ACS-Operation des Knotens N'4 bis N'8 in der zweiten Hälfte durch den Vergleichsabschnitt 9, den Addierabschnitt 10, den Vergleichsergebnis-Speicherabschnitt 11 und den Auswahlabschnitt 12 ausgeführt. Im Folgenden wird die ACS-Operation insbesondere von den Knoten N0 und N1 zu den knoten N'0 und N'4 erläutert werden.
  • Zuerst werden zwei Pfadmetriken (PM1, PM0) von dem Pfadmetrik-Speicherabschnitt 1 an den Bus 2 ausgegeben. Andererseits werden zwei Zweigmetriken (BM1, BM0) von dem Zweigmetrik-Speicherabschnitt 3 an den Bus 4 ausgegeben.
  • Der Vergleichsabschnitt 5 gibt zwei Pfadmetriken (OM1, PM0) von dem Bus 2 und zwei Zweigmetriken (BM1, BM0) von dem Bus 4 ein, um PM1 + BM1 – PM0 – BM0 zu berechnen.
  • Der Addierabschnitt 6 gibt zwei Pfadmetriken (PM1, PM0) von dem Bus 2 und zwei Zweigmetriken (BM1, BM0) von dem Bus 4 ein, um PM1 + BM1 und PM0 + BM0 zu berechnen. Danach werden die Berechnungsergebnisse (als PM1 + BM1, PM0 + BM0) an den Auswahlabschnitt 8 ausgegeben.
  • Der Auswahlabschnitt 8 gibt das höchstwertige Bit (nachfolgend "MSB" genannt), welches das Codebit des Vergleichsergebnisses des Vergleichsabschnittes 5 – PM1 + BM1 – PM0 – BM0 – ist, ein. Danach wählt der Auswahlabschnitt 8 aus, ob das höherwertige PM1 + BM1 oder das niederwertige PM0 + BM0 von dem Wert des werthöchsten Bit (MSB) an den Bus 13 ausgegeben wird.
  • Mit anderen Worten, wenn die unten gezeigte Gleichung (3) aufgestellt wird, ist das höchstwertige Bit 0, und der Auswahlabschnitt gibt das niederwertige PM0 + BM0 an den Bus 13 als PM'0 aus. Wenn umgekehrt die Gleichung (3) nicht auf gestellt wird, ist das höchstwertige Bit 1 und der Auswahlabschnitt 8 gibt das höherwertige PM1 + BM1 als PM'0 aus. PM1 + BM1 ≥ PM0 + BM0 (3)
  • Das höchstwertige Bit, das das Vergleichsergebnis des Vergleichsabschnittes 5 ist, wird gleichzeitig in dem Vergleichsergebnis-Speicherabschnitt 7 gespeichert. Der Vergleichsabschnitt 9 gibt zwei Pfadmetriken (PM1, PM0) von dem Bus 2 und zwei Zweigmetriken (MB1, BM0) von dem Bus 4 ein, um PM1 + BM0 – PM0 – BM1 zu berechnen.
  • Der Addierabschnitt 10 gibt zwei Pfadmetriken (PM1, PM0) von dem Bus 2 und zwei Zweigmetriken (BM1, BM0) von dem Bus 4 ein, um PM1 + BM0 und PM0 + BM1 zu berechnen. Danach werden die Berechnungsergebnisse (als PM1 + BM0, PM0 + BM1) an den Auswahlabschnitt 12 ausgegeben.
  • Der Auswahlabschnitt 12 gibt das höchstwertige Bit des Vergleichsergebnisses des Vergleichsabschnittes 9 PM1 + BM1 – PM0 – BM1 ein. Danach wählt der Auswahlabschnitt 12 aus, ob das höherwertige PM1 + BM0 an den Bus 13 oder das niederwertige PM0 + BM1 davon an diesen von dem Wert des höchstwertigen Bits ausgegeben wird.
  • Mit anderen Worten, wenn die unten gezeigte Gleichung (4) aufgestellt wird, ist das höchstwertige Bit 0 und der Auswahlabschnitt 12 gibt das niederwertige PM0 + BM1 an den Bus 13 als PM'4 aus. Wenn umgekehrt die Gleichung (4) nicht aufgestellt wird, ist das höchstwertige Bit 1, und der Auswahlabschnitt 12 gibt das höherwertige PM1 + BM0 als PM'4 aus. PM1 + BM0 ≥ PM0 + BM1 (4)
  • Das höchstwertige Bit, das das Vergleichsergebnis des Vergleichsabschnittes 9 ist, wird gleichzeitig in dem Vergleichsergebnis-Speicherabschnitt 11 gespeichert.
  • Die oben genannte Verarbeitung unterliegt den anderen Knotenpaaren in gleicher Weise. Im Ergebnis dessen kann die ACS-Operation der Viterbi-Kodierung unter Verwendung des digitalen Signalprozessors (DSP) parallel ausgeführt werden, und die Operationsverarbeitung kann mit hoher Geschwindigkeit bei relativ wenig Verarbeitung durchgeführt werden.
  • Das vorstehende Ausführungsbeispiel erläuterte den Fall der Zwangsbedingungslänge K = 4 und der Coderate 1/2. Jedoch auch wenn die Zwangsbedingungslänge und die Coderate andere Werte annehmen, wird die oben genannte Beziehung aufgestellt. Daher wird die diesem entsprechende Änderung in geeigneter Weise bereitgestellt, so dass die gleichen Vorteile erzielt werden können.
  • Zweites Ausführungsbeispiel
  • 9 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des zweiten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit von 9 bezeichnen gleiche Verweiszffern gemeinsame Abschnitte mit der Verarbeitungseinheit von 6, und die Erläuterung wird dementsprechend weggelassen.
  • In der Verarbeitungseinheit von 9 wird der Speicherabschnitt zum Speichern der Pfadmetriken durch einen RAM 14 mit vier Bänken ausgebildet. Die Verarbeitungseinheit aus 9 ist geeignet für die Operationsverarbeitung einer in 10 gezeigten Pipeline-Struktur.
  • Um zum Beispiel die ACS-Operation in einer Operationsausführungsstufe des n + 1-ten Zyklus in einem Befehl 1 auszuführen, müssen die Adressen der in einer Speicherzugangsstufe des n. Zyklus zu lesenden Pfadmetriken im voraus an den RAM 14 bereitgestellt werden.
  • Es wird davon ausgegangen, dass der RAM 14 ein mit doppelter Genauigkeit lesbarer RAM ist, der eine gerade Adresse und eine ungerade Adresse fortlaufend lesen kann. Wenn sodann die beiden Bedingungen (a) und (b) erfüllt sind, können zwei in der Operation verwendete Pfadmetriken gelesen werden, indem nur die gerade Adresse bezeichnet wird.
    • (a) Die Pfadmetriken eines Zustandes werden an fortlaufenden Adressen in der Reihenfolge der geraden Adressen und der ungeraden Adressen gespeichert.
    • (b) Die Pfadmetriken eines Zustandes werden in eine erste und eine zweite Hälfte geteilt, und jede wird in einer anderen Bank gespeichert.
  • Zum Beispiel werden die Pfadmetriken (PM0, PM1, PM2, PM3 in 8) der ersten Hälfte des alten Zustandes in der Bank 0 des RAM 14 gespeichert. Danach werden die Pfadmetriken (PM4, PM5, PM6, PM7 in 8) der zweiten Hälfte des alten Zustandes in der Bank 1 gespeichert. In diesem Fall werden zwei Pfadmetriken erzeugt, indem die ACS-Operation in einem Zyklus ausgeführt wird, und diese Metriken werden über den Bus 13 in den Bänken 2 bzw. 3 gespeichert. Zu diesem Zeitpunkt werden die Daten mit doppelter Genauigkeit von dem Bus 13 übertragen, die Pfadmetrik des Knotens N'3 wird in der Bank 2 von dem Knoten N'0 gespeichert, und die Pfadmetrik des Knotens N'7 wird in der Bank 3 von dem Knoten N' gespeichert.
  • 11 ist eine schematische Darstellung und zeigt ein Beispiel einer Speicherzugangsoperation des RAM 14 entsprechend 8.
  • Wenn die ACS-Operation eines Zustandes beendet wird, werden in einem nächstfolgenden Zustand die Pfadmetriken des alten Zustandes von den Bänken 2 und 3 gelesen, und die Pfadmetriken eines neuen Zustandes werden in den Bänken 0 und 1 gespeichert.
  • Somit werden jedes Mal, wenn die ACS-Operation eines Zustandes beendet wird, das Paar Bänke zum Lesen der Pfadmetriken unter Verwendung des RAM 14 mit vier Bänken als Speicherabschnitt zum Speichern der Pfadmetriken umgeschaltet. Dabei kann die ACS-Operation der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP) parallel ausgeführt werden. In der vorstehenden Erläuterung wurden die Bänke 0 und 1 bzw. die Bänke 2 und 3 jeweils gepaart. Jedoch auch wenn die anderen Kombinationen verwendet werden, kann die ähnliche Operation ausgeführt werden, indem lediglich die bei der Bereitstellung der Metriken in der Speicherzugangsstufe zu verwendende Adresse und die bei der Speicherung der Metriken zu verwendende Adresse geändert werden. Darüber hinaus wurde in dem zweiten Ausführungsbeispiel der RAM 14 durch vier Bänke ausgebildet. Die ähnliche Operation kann jedoch auch ausgeführt werden, wenn die Anzahl der Bänke größer als vier ist.
  • Drittes Ausführungsbeispiel
  • 12 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des dritten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 12 werden gemeinsame Abschnitte mit der Verarbeitungseinheit aus 6 mit den gleichen Verweisziffern bezeichnet, und eine Erläuterung wird dementsprechend weggelassen.
  • In der Verarbeitungseinheit aus 12 wird der Speicherabschnitt 3 zum Speichern der Pfadmetriken durch einen Dual-RAM 15 mit drei Bänken ausgebildet. Die Verarbeitungseinheit aus 12 ist geeignet für die Operationsverarbeitung der in 10 gezeigten Pipeline-Struktur.
  • Da der Speicherabschnitt zum Speichern der Pfadmetriken der Dual-Port-RAM 15 in der Verarbeitungseinheit aus 12 ist, kann die Bezeichnung von Lesen und Schreiben in die gleiche Bank mit einem Befehl ausgeführt werden. Um zum Beispiel die ACS-Operation in einer Operationsausführungsstufe des n + 1-ten Zyklus in einem Befehl 1 auszuführen, werden eine Adresse zum Lesen der Pfadmetrik in einer Speicherzugangsstufe des n-ten Zyklus und eine Adresse zum Schreiben der Pfadmetrik an den Dual-Port-RAM 15 bereitgestellt. Dabei können bei dem n + 1. Zyklus eine gerade Adresse und eine ungerade Adresse fortlaufend aus dem Dual-Port-RAM 15 ausgelesen werden, so dass die ACS-Operation ausgeführt wird. Darüber hinaus kann eine Pfadmetrik in die gleiche Bank geschrieben werden.
  • In der Verarbeitungseinheit des dritten Ausführungsbeispieles gilt: wenn die folgenden Bedingungen (a) und (b) erfüllt sind, können zwei bei der Operation verwendete Pfadmetriken gelesen werden, indem lediglich die gerade Adresse bezeichnet wird.
    • (a) Die Pfadmetriken eines Zustandes werden an fortlaufenden Adressen in der Reihenfolge der geraden Adresse und der ungeraden Adresse gespeichert.
    • (b) Die Pfadmetriken eines Zustandes werden in eine erste und eine zweite Hälfte geteilt, und jede wird in einer anderen Bank gespeichert.
  • Zum Beispiel werden die Pfadmetriken (PM0, PM1, PM2, PM3 in 8) der ersten Hälfte des alten Zustandes in der Bank 0 des Dual-Port-RAM 15 gespeichert, und die Pfadmetriken (PM4, PM5, PM6, PM7 in 8) der zweiten Hälfte des alten Zustandes werden in der Bank 1 gespeichert. In diesem Fall werden zwei Pfadmetriken erzeugt, indem die ACS-Operation in einem Zyklus ausgeführt wird, und diese Metriken werden über den Bus 13 in den Bänken 0 bzw. 2 gespeichert. Zu diesem Zeitpunkt überträgt der Bus 13 Daten mit doppelter Genauigkeit, die Pfadmetrik des Knotens N'3 wird in der Bank 0 von dem Knoten N'0 gespeichert, und die Pfadmetrik des Knotens N'7 wird in der Bank 2 von dem Knoten N'4 gespeichert.
  • 13 ist eine schematische Darstellung und zeigt ein Beispiel einer Speicherzugangsoperation des RAM 15 entsprechend 8.
  • In der Verarbeitungseinheit von 12 gilt: wenn die ACS-Operation eines Zustandes abgeschlossen wird, werden nur die Bänke 1 und 2 umgeschaltet. Danach kann die ACS-Operation der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP) parallel ausgeführt werden, ohne dass die Bank 0 umgeschaltet wird.
  • In dem dritten Ausführungsbeispiel wird der Dual-Port-RAM 15 durch drei Bänke ausgebildet. Die ähnliche Operation kann jedoch auch dann ausgeführt werden, wenn die Anzahl der Bänke größer als drei ist.
  • Viertes Ausführungsbeispiel
  • 14 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des vierten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 14 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Verarbeitungseinheit aus 6, und die Erläuterung wird dementsprechend weggelassen.
  • Die Verarbeitungseinheit aus 14 umfasst die Eingaberegister 16 und 17 zum Eingeben von Daten von dem Bus 2 und zum Ausgeben von Daten an die Vergleichsabschnitte 5, 9 und die Addierabschnitte 6, 10.
  • Die Verarbeitungseinheit aus 14 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Zum Beispiel wird zum Ausführen der ACS-Operation an einer Operationsausführungsstufe des n + 2-ten Zyklus in einem Befehl 1 eine Adresse zum Lesen der Pfadmetrik an einer Speicherzugangsstufe des n-ten Zyklus im voraus an den RAM 14 bereitgestellt. Danach wird der Datenausgang von dem RAM 14 über den Bus 2 an einer Datenübertragungsstufe des n + 1-ten Zyklus mit den Eingaberegistern 16 und 17 verklinkt. Der in 15 gezeigte Kommunikationskanal ist so strukturiert, dass eine Datenübertragungsstufe zwischen einer Speicherzugangsstufe und einer Operationsausführungsstufe des in 10 gezeigten Kommunikationskanals eingefügt wird. Mit anderen Worten wird der Datenausgang von dem RAM 14 an den Eingaberegistern an der Vorderseite der jeweiligen Operationsvorrichtungen (Vergleichsabschnitte 5, 9 und Addierabschnitte 6, 10) an einem Anfangspunkt der Operationsausführungsstufe ermittelt. Im Ergebnis dessen kann die für die Datenübertragung von dem RAM 14 benötigte Zeit ausgelassen werden.
  • Daher kann gemäß dem vorliegenden Ausführungsbeispiel die ACS-Operation der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP) parallel und mit relativ hoher Geschwindigkeit ausgeführt werden. Es ist zu beachten, dass die ähnliche Operation auch dann ausgeführt werden kann, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Fünftes Ausführungsbeispiel
  • 16 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des fünften Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 16 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Verarbeitungseinheit aus 14, und eine Erläuterung wird dementsprechend ausgelassen.
  • In der Verarbeitungseinheit aus 16 wird im Vergleich zu der Verarbeitungseinheit aus 14 eine Austauschschaltung 18 hinzugefügt. Die Austauschschaltung 18 gibt den Dateneingang von dem Zweigmetrik-Speicherabschnitt 3 direkt aus bzw. tauscht die höherwertige Position und die niederwertige Position aus, so dass diese ausgegeben wird.
  • Die Verarbeitungseinheit aus 16 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Nehmen wir zum Beispiel an, dass Daten als Daten mit doppelter Genauigkeit in einer Form von {BM1, BM0} von dem Zweigmetrikspeicher 3 eingegeben werden. In diesem Fall muss die Austauschschaltung 18 in Abhängigkeit davon schalten, ob die Werte von zwei Zweigmetriken direkt als {BM1, BM0} ausgegeben werden oder ob die höherwertige Position und die niederwertige Position getauscht werden, so dass sie durch einen Befehl als {BM;0, BM1} ausgegeben werden.
  • Im Folgenden wird eine Operation der Austauschschaltung 18 unter Verwendung des Faltungskodierers aus 7 und der Pfadmetrik-Übergangszustand der Butterfly-Struktur aus 8 erläutert, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 ist.
  • Wie in 17 gezeigt wird werden die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 des alten Zustandes zu den Knoten N'0 und N'4 ausgeführt wird, und die ACS-Operation, die zum Zeitpunkt des Überganges von den Knoten N6 und N7 des alten Zustandes zu den Knoten N'3 und N'7 ausgeführt wird, miteinander verglichen. Im Ergebnis dessen werden bei beiden ACS-Operationen die gemeinsamen Zweigmetriken BM0 und BM1 verwendet, und die Beziehung, bei der BM0 und BM1 getauscht werden, wird aufgestellt.
  • Die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 zu dem Knoten N'0 ausgeführt wird, und die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N6 und N7 zu dem Knoten N'3 ausgeführt wird, werden durch den Vergleichsabschnitt 5 und den Addierabschnitt 6 ausgeführt. Andererseits werden die ACS-Operation, die zu dem Zeitpunkt des Überganges von den knoten N3 und N1 zu dem Knoten N'4 ausgeführt wird, und die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N6 und N7 zu dem Knoten N'7 ausgeführt wird, durch den Vergleichsabschnitt 9 und den Addierabschnitt 10 ausgeführt.
  • Aus diesem Grund gilt: wenn die Zweigmetriken in beiden Formen {BM0, BM1} und {BM1, BM0} in dem Zweigmetrik-Speicherabschnitt 3 gespeichert werden, resultiert der Zweigmetrik-Speicherabschnitt 3 in einer redundanten Hardwarequelle.
  • Die Austauschschaltung 18 wird verwendet, um diese Redundanz zu lösen. Zum Beispiel werden die Zweigmetriken in dem Zweigmetrik-Speicherabschnitt 3 in nur einer Form von {BM0, BM1} gespeichert. Danach werden die Metriken in der Form von {BM0, BM1} in die Austauschschaltung 18 eingegeben. Die Austauschschaltung 18 tauscht die Metriken in der Form von {BM0, BM1} bzw. die Metriken in der Form von {BM1, BM0}, so dass diese durch einen Befehl ausgegeben werden. Dabei kann die Redundanz des Zweigmetrik-Speicherabschnittes 3 ausgelassen werden.
  • Das oben genannte Ausführungsbeispiel wurde unter Verwendung der Knoten N0, N1, N6, N7 des alten Zustandes erläutert, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 waren. Die oben genannte Beziehung kann jedoch auch unter Verwendung der anderen Kombinationen der Zwangsbedingungslänge K und der Coderate aufgestellt werden. Daher kann die ähnliche Operation ausgeführt werden. Darüber hinaus kann die ähnliche Operation auch dann ausgeführt werden, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Sechstes Ausführungsbeispiel
  • 18 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des sechsten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 18 werden die gleichen Verweisziffern für gemeinsame Abschnitte mit der Verarbeitungseinheit aus 16 verwendet, und eine Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich zu der Verarbeitungseinheit aus 16 umfasst in der Verarbeitungseinheit aus 18 der Vergleichsabschnitt 5 die Addierer 19, 20 und einen Komparator 21, und der Addierabschnitt 6 umfasst die Addierer 22 und 23. Weiterhin umfasst der Vergleichsabschnitt 9 die Addierer 24, 25 und einen Komparator 26, und der Addierabschnitt 10 umfasst die Addierer 27 und 28.
  • In 18 geben die Addierer 19 und 20 Daten von dem Bus 4 und dem Eingaberegister 16 ein und addieren diese Eingabedaten. Der Komparator 21 gibt die Addierergebnisse von den Addierern 19 und 20 ein und vergleicht die Addierergebnisse und gibt ein Vergleichsergebnis an den Vergleichsergebnis-Speicherabschnitt 7 und den Auswahlabschnitt 8 aus. Die Addierer 22 und 23 geben Daten von dem Bus 4 und dem Eingaberegister 16 ein und addieren diese Eingabedaten und geben die Additionsergebnisse an den Auswahlabschnitt 8 aus.
  • Die Addierer 24 und 25 geben Daten von dem Bus 4 und dem Eingaberegister 17 ein und addieren diese Eingabedaten. Der Komparator 26 gibt die Additionsergebnisse von den Addierern 24 und 25 ein und vergleicht die Additionsergebnisse und gibt ein Vergleichsergebnis an den Vergleichsergebnis-Speicherabschnitt 11 und den Auswahlabschnitt 12 aus. Die Addierer 27 und 28 geben Daten von dem Bus 4 und dem Eingaberegister 17 ein und addieren diese Eingabedaten und geben Additionsergebnisse an den Auswahlabschnitt 12 aus. Die Verarbeitungseinheit aus 18 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Als nächstes wird die ACS-Operation des sechsten Ausführungsbeispieles erläutert werden. Diese Erläuterung wird unter Verwendung des Faltungskodierers aus 7 und der Butterfly-Struktur aus 8 gegeben, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 und das ACS-Operationsergebnis aus 17 sind.
  • Wie in 18 gezeigt wird, werden zwei Metriken als {A, B} von den Ausgaberegistern 16 und 17 ausgegeben, und zwei Zweigmetriken werden als {C, D} von der Austauschschaltung 18 ausgegeben. Zu diesem Zeitpunkt gibt der Addierer 19 die Pfadmetrik {A} und die Zweigmetrik {C} ein und gibt ein Additionsergebnis {A + C} aus. Der Addierer 20 gibt die Pfadmetrik {B} und die Zweigmetrik {D} ein und gibt das Additionsergebnis {B + D} aus. Der Komparator 21 gibt das Additionsergebnis {A + C} des Addierers 19 und das Additionsergebnis {B + D} des Addierers 20 ein, vergleicht {A + C – (B + D)} und gibt das höchstwertige Bit des Vergleichsergebnisses aus. Der Addierer 22 gibt die Pfadmetrik {A} und die Zweigmetrik {C} ein und gibt das Additionsergebnis {A + C} aus. Der Addierer 23 gibt die Pfadmetrik {B} und die Zweigmetrik {D} ein und gibt das Additionsergebnis {B + D} aus.
  • Andererseits gibt der Addierer 24 die Pfadmetrik {A} und die Zweigmetrik {D} ein und gibt das Additionsergebnis {A + D} aus. Der Addierer 25 gibt die Pfadmetrik {B} und die Zweigmetrik {C} ein und gibt das Additionsergebnis {B + C} aus. Der Komparator 26 gibt das Additionsergebnis {A + D} des Addierers 24 und das Additionsergebnis {B + C} des Addierers 25 ein, vergleicht {A + D – (B + C)} und gibt das höchstwertige Bit des Vergleichsergebnisses aus. Der Addierer 27 gibt die Pfadmetrik {A} und die Zweigmetrik {D} ein und gibt das Additionsergebnis {A + D} aus. Der Addierer 28 gibt die Pfadmetrik {B} und die Zweigmetrik {C} ein und gibt das Additionsergebnis {B + C} aus.
  • Wenn durch die oben genannte Struktur und Operation zwei Pfadmetriken der Eingaberegister 16 und 17 auf {A, B} = {PM1, PM0} gesetzt werden und wenn die Ausgänge der Austauschschaltung 18 auf {C, D} = {BM1, BM0} gesetzt werden, kann die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 des alten Zustandes zu den Knoten N'0 und N'4 ausgeführt wird, realisiert werden.
  • Wenn weiterhin zwei Pfadmetriken der Eingaberegister 16 und 17 auf {A, B} = {PM1, PM0} gesetzt werden und wenn die Ausgänge der Austauschschaltung 18 auf {C, D} = {BM0, BM1} gesetzt werden, kann die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 des alten Zustandes zu den Knoten N'0 und N'4 ausgeführt wird, realisiert werden.
  • Daher kann gemäß dem sechsten Ausführungsbeispiel die Aktualisierung der beiden Pfadmetriken in einem Maschinenzyklus durch Pipeline-Operation unter Verwendung von DSP realisiert werden. Das vorstehende Ausführungsbeispiel wurde unter Verwendung der Knoten N0, N1, N6, N7 des alten Zustandes erläutert, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 waren. Jedoch kann die oben genannte Beziehung auch unter Verwendung der Knoten N2, N3, N4, N5 eingerichtet werden. Weiterhin kann die genannte Beziehung unter Verwendung anderer Kombinationen der Zwangsbedingungslänge K und der Coderate eingerichtet werden. Daher kann die ähnliche Operation ausgeführt werden. Darüber hinaus kann die ähnliche Operation auch dann ausgeführt werden, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Siebentes Ausführungsbeispiel
  • 19 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des siebenten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 19 werden die gleichen Verweisziffern für gemeinsame Abschnitte mit der Verarbeitungseinheit aus 18 verwendet, und eine Erläuterung wird dementsprechend ausgelassen.
  • Im Vergleich zu der Verarbeitungseinheit aus 18 wird in der Verarbeitungseinheit aus 19 ein Rechenwerk (nachfolgend "ALU" genannt) 29 anstelle des Komparators 21 verwendet. Danach umfasst die Verarbeitungseinheit aus 19 die Eingaberegister 30, 31 und die Busse 32, 33, 37, 38 und die Wählschalter 34 und 35.
  • In 19 gibt das Eingaberegister 30 Daten von dem RAM 14 über den Bus 37 ein. Das Register 31 gibt Daten von dem RAM 14 über den Bus 38 ein. Die Busse 32 und 33 geben Daten von einer Registerdatei 36 ein. Der Wählschalter 34 wählt einen Ausgang der Eingabedaten von dem Bus 32, dem Addierer 19 und dem Eingaberegister 30 aus. Der Wählschalter 35 wählt einen Ausgang der Eingabedaten von dem Bus 33, dem Addierer 20 und dem Eingaberegister 31 aus. Das Rechenwerk 29 gibt Daten von den Wählschaltern 34 und 35 ein und führt eine arithmetische Logikoperation aus und gibt ein Ergebnis der arithmetischen Logikoperation an den Bus 13 aus. Weiterhin gibt das Rechenwerk 29 das höchstwertige Bit des Ergebnisses der arithmetischen Logikoperation an den Vergleichsergebnis-Speicherabschnitt 7 und an den Auswahlabschnitt 8 aus. Die Verarbeitungseinheit aus 19 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • In dem Fall, in dem das Rechenwerk 29 die ACS-Operation durchführt, wählt der Wählschalter 34 einen Ausgang des Addierers 19 aus und gibt den ausgewählten Ausgang in das Rechenwerk 29 ein. Der Wählschalter 35 wählt einen Aus gang des Addierers 20 aus und gibt den ausgewählten Ausgang in das Rechenwerk 29 ein. Danach subtrahiert das Rechenwerk 29 die beiden Daten und gibt das höchstwertige Bit des Subtraktionsergebnisses in den Vergleichsergebnis-Speicherabschnitt 7 und den Auswahlabschnitt 8 ein.
  • In dem Fall, in dem das Rechenwerk 29 die arithmetische Logikoperation zwischen dem Register-Register durchführt, wählen die Wählschalter 34 und 35 die Busse 32 bzw. 33 aus. Danach werden Daten, die von der Registerdatei 36 an die Busse 32 und 33 ausgegeben werden, in das Rechenwerk 29 eingegeben. In dem Fall, in dem das Rechenwerk 29 die arithmetische Logikoperation zwischen dem Register-Speicher durchführt, wählen die Wählschalter 34 und 35 den Bus 32 bzw. das Eingaberegister 31 aus. Danach werden Daten, die von der Registerdatei 26 an den Bus 32 ausgegeben werden, und Daten, die von dem RAM 14 über den Bus 38 in das Eingaberegister 31 eingegeben werden, in das Rechenwerk 29 eingegeben.
  • Umgekehrt wählen in dem Fall, in dem das Rechenwerk 29 die arithmetische Logikoperation zwischen dem Speicher-Register durchführt, die Wählschalter 34 und 35 das Eingaberegister 30 bzw. den Bus 33 aus. Danach werden Daten, die von dem RAM 14 über den Bus 37 an das Register 30 ausgegeben werden, und Daten, die von der Registerdatei 36 an den Bus 33 ausgegeben werden, in das Rechenwerk 29 eingegeben.
  • Weiterhin wählen in dem Fall, in dem das Rechenwerk 29 die arithmetische Logikoperation zwischen dem Speicher-Speicher durchführt, die Wählschalter 34 und 35 die Eingaberegister 30 bzw. 31 aus. Danach werden Daten, die von dem RAM 14 über die Busse 37 und 38 in die Eingaberegister 30 und 31 eingegeben werden, in das Rechenwerk 29 eingegeben.
  • Somit wird gemäß dem siebenten Ausführungsbeispiel zur Implementierung der Verarbeitungseinheit in einer Hochintegrationsform (LSI-Form) einer der Kompa ratoren zum Ausführen der ACS-Operationen als Rechenwerk verwendet. Dabei kann eine Chipfläche verringert werden, und die Herstellungskosten können gesenkt werden. Es ist zu beachten, dass die ähnliche Operation auch dann ausgeführt werden kann, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Achtes Ausführungsbeispiel
  • 20 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des achten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 20 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Verarbeitungseinheit aus 19, und die Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich zu der Verarbeitungseinheit aus 19 werden in der Verarbeitungseinheit aus 20 zwei Addierer 19 und 20 durch einen 4 : 2-Verdichter 39 ausgebildet, und zwei Addierer 24 und 25 werden durch einen 4 : 2-Verdichter 40 ausgebildet. In den 4 : 2-Verdichtern 39 und 40 werden in 21 gezeigte Einzelblöcke, die einer Anzahl von Bits mit einfacher Genauigkeit entsprechen, in Reihe geschaltet. Die 4 : 2-Verdichter 39 und 40 führen eine Additionsverarbeitung mit höherer Geschwindigkeit als die allgemeinen Volladdierer aus.
  • In 20 gibt der 4 : 2-Verdichter 39 Daten von dem Bus 4 und dem Eingaberegister 16 ein und er gibt ein Operationsergebnis an die Wählschalter 34 und 35 aus. Der 4 : 2-Verdichter 40 gibt Daten von dem Bus 4 und dem Eingaberegister 17 ein und er gibt ein Operationsergebnis an den Komparator 26 aus.
  • Die Verarbeitungseinheit aus 20 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Als nächstes wird die ACS-Operation des achten Ausführungsbeispieles erläutert werden. Diese Erläuterung wird unter Verwendung des Faltungskodierers aus 7 und der Butterfly-Struktur aus 8 gegeben, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 und das ACS-Operationsergebnis aus 17 sind.
  • Zuerst werden zwei Metriken als {A, B} aus den Eingaberegistern 16 und 17 ausgegeben, und zwei Zweigmetriken werden als {C, D} von der Austauschschaltung 18 ausgegeben.
  • Danach gibt der 4 : 2-Verdichter 39 die Pfadmetrik {A} und die Zweigmetrik {C} und eine Umkehr {B} für die Pfadmetrik {B} und eine Umkehr {D} für die Zweigmetrik D ein, und er gibt {A + C} und {B + D} aus. Zwei Ausgänge {A + C} und {B + D} des 4 : 2-Verdichters 39 werden über die Wählschalter 34 und 35 in das Rechenwerk 29 eingegeben, um addiert werden zu können. In diesem Fall, um zwei Komplemente {B} und {D} zu realisieren, wird "1" an den 4 : 2-Verdichter 39 und den niedrigstwertigen Übertragungseingang des Rechenwerkes 29 eingegeben. Im Ergebnis dessen erhält man {A + C – (B + D)} und das höchstwertige Bit wird von dem Rechenwerk 29 ausgegeben.
  • Weiterhin gibt der Addierer 22 die Pfadmetrik {A} und die Zweigmetrik {C} ein und er gibt das Additionsergebnis {A + C} aus. Analog dazu gibt der Addierer 23 die Pfadmetrik {B} und die Zweigmetrik {D} ein und er gibt das Additionsergebnis {B + D} aus.
  • Andererseits gibt der 4 : 2-Verdichter 40 die Pfadmetrik {A} und die Zweigmetrik {D}, eine Umkehr {B} für die Pfadmetrik {B} und eine Umkehr {C} für die Zweigmetrik C ein und er gibt {A + C} und {B + D} aus. Zwei Ausgänge {A + C} und {B + D} des 4 : 2-Verdichters 40 werden in den Komparator 26 eingegeben, um addiert zu werden. In diesem Fall, um zwei Komplemente {B} und {C} zu realisieren, wird "1" in den 4 : 2-Verdichter 40 und den niedrigstwertigen Übertra gungseingang des Komparators 26 eingegeben. Im Ergebnis dessen erhält man {A + D – (B + C)}, und das höchstwertige Bit wird von dem Komparator 26 ausgegeben.
  • Weiterhin gibt der Addierer 27 die Pfadmetrik {A} und die Zweigmetrik {D} ein und er gibt das Additionsergebnis {A + D} aus. Analog dazu gibt der Addierer 28 die Pfadmetrik {B} und die Zweigmetrik {C} ein und er gibt das Additionsergebnis {B + C} aus.
  • Wenn mit der oben genannten Struktur und Operation zwei Pfadmetriken {A, B} der Eingaberegister 16 und 17 auf {PM1, PM9} gesetzt werden und wenn die Ausgänge {C, D} der Austauschschaltung 18 auf {BM1, BM0} gesetzt werden, kann die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 des alten Zustandes aus 17 zu den Knoten N'0 und N'4 ausgeführt wird, realisiert werden.
  • Wenn weiterhin zwei Pfadmetriken {A, B} der Eingaberegister 16 und 17 auf {PM1, PM0} gesetzt werden und wenn die Ausgänge {C, D} der Austauschschaltung 18 auf {BM0, BM1} gesetzt werden, kann die ACS-Operation, die zu dem Zeitpunkt des Überganges von den Knoten N0 und N1 des alten Zustandes aus 17 zu den Knoten N'0 und N'4 ausgeführt wird, realisiert werden. Daher kann die Aktualisierung der beiden Pfadmetriken in einem Maschinenzyklus durch die Pipeline-Operation unter Verwendung des digitalen Signalprozessors (DSP) realisiert werden.
  • Somit kann gemäß dem achten Ausführungsbeispiel die Verwendung des 4 : 2-Verdichters als der Vergleichsabschnitt zum Ausführen der ACS-Operation die Berechnung bei höherer Geschwindigkeit durchführen als in dem Fall der Verwendung von zwei Addierern. Das oben genannte Ausführungsbeispiel wurde unter Verwendung der Knoten N0, N1, N6, N7 des alten Zustandes erläutert, wobei die Zwangsbedingungslänge K = 4 und die Coderate 1/2 war. Die oben ge nannte Beziehung kann jedoch auch unter Verwendung der Knoten N2, N3, N4, N5 aufgestellt werden. Weiterhin kann die oben genannte Beziehung unter Verwendung anderer Kombinationen der Zwangsbedingungslänge K und der Coderate eingerichtet werden. Daher kann die ähnliche Operation ausgeführt werden. Darüber hinaus kann die ähnliche Operation auch dann ausgeführt werden, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Neuntes Ausführungsbeispiel
  • 22 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des siebenten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 22 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Verarbeitungseinheit aus 20, und die Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich zu der Verarbeitungseinheit aus 20 werden in der Verarbeitungseinheit aus 22 die Addierer 41 und 42 mit doppelter Genauigkeit als Addierabschnitte verwendet, und wenigstens einer der Addierer verwendet ein Rechenwerk 41 mit doppelter Genauigkeit.
  • In 22 gibt das Rechenwerk 41 mit doppelter Genauigkeit Daten von dem Eingaberegister 16 und dem Bus 4 in einer Form mit doppelter Genauigkeit ein und führt eine arithmetische Operation mit doppelter Genauigkeit aus. Der Addierer 42 mit doppelter Genauigkeit gibt Daten von dem Eingaberegister 17 und dem Bus 4 in einer Form mit doppelter Genauigkeit ein und führt eine Addieroperation mit doppelter Genauigkeit aus. Das Rechenwerk 41 mit doppelter Genauigkeit gibt ein Operationsergebnis an den Auswahlabschnitt 8 und den Bus 13 aus, und der Ausgang des Addierers 42 mit doppelter Genauigkeit wird an den Auswahlabschnitt 12 ausgegeben.
  • Die Verarbeitungseinheit aus 22 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Zum Ausführen der ACS-Operation in dem neunten Ausführungsbeispiel gibt das Rechenwerk 41 mit doppelter Genauigkeit zwei Pfadmetriken als {A, B} in einer Form mit doppelter Genauigkeit von dem Eingaberegister 16 ein. Danach gibt das Rechenwerk 41 mit doppelter Genauigkeit zwei Zweigmetriken als {C, D} in einer Form mit doppelter Genauigkeit von der Austauschschaltung 18 über den Bus 4 ein und führt eine Addition mit doppelter Genauigkeit aus. Zu diesem Zeitpunkt steuert das Rechenwerk 41 mit doppelter Genauigkeit wie in 23 gezeigt die Übertragung von der Bitposition des höchstwertigen Bits mit einfacher Genauigkeit in einer nächsten Stufe zwangsgesteuert auf Null und führt zwei Additionen der Pfadmetriken und der Zweigmetriken {A + C, B + D} gleichzeitig aus. Andererseits gibt der Addierer 42 mit doppelter Genauigkeit zwei Pfadmetriken als {A, B} in einer Form mit doppelter Genauigkeit von dem Eingaberegister 17 ein. Danach gibt der Addierer 42 mit doppelter Genauigkeit zwei Zeigmetriken als {D, C} in einer Form mit doppelter Genauigkeit von der Austauschschaltung 18 über den Bus 4 ein. Danach steuert der Addierer 42 mit doppelter Genauigkeit die Übertragung von der Bitposition des höchstwertigen Bits mit einfacher Genauigkeit in einer nächsten Stufe zwangsgesteuert auf Null und führt zwei Additionen der Pfadmetriken und der Zweigmetriken {A + C, B + D} gleichzeitig aus. Somit wird gemäß dem neunten Ausführungsbeispiel das Rechenwerk 41 mit doppelter Genauigkeit als Addierabschnitt zum Ausführen der ACS-Operation verwendet. Zu dem Zeitpunkt der ACS-Operation steuert das Rechenwerk 41 mit doppelter Genauigkeit die Übertragung von der Bitposition des höchstwertigen Bits mit einfacher Genauigkeit in einer nächsten Stufe zwangsgesteuert auf Null. Zu dem Zeitpunkt der arithmetischen Operation mit Ausnahme der ACS-Operation wird die Steuerung zur Ausbreitung der Übertragung hinzugefügt. Dabei kann zum Beispiel das Rechenwerk 41 mit doppelter Genauigkeit als Akkumulationsaddierer zu dem Zeitpunkt der Produkt- und Additionsoperationen verwendet werden. Daher können in dem Fall der Implementierung der Verarbei tungseinheit in einer Hochintegrationsform (LSI-Form) die Chipfläche weiter verringert und die Herstellungskosten gesenkt werden. Es ist zu beachten, dass die ähnliche Operation auch dann ausgeführt werden kann, wenn der Dual-Port-RAM als der Speicherabschnitt zum Speichern der Pfadmetriken verwendet wird.
  • Zehntes Ausführungsbeispiel
  • 24 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des zehnten Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 24 werden gleiche Verweisziffern zur Bezeichnung gemeinsamer Abschnitte mit der Verarbeitungseinheit aus 22 verwendet, und die Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich zu der Verarbeitungseinheit aus 22 werden in der Verarbeitungseinheit aus 20 Schieberegister 43 und 44 als Vergleichsergebnis-Speicherabschnitt verwendet.
  • In 24 gibt das Schieberegister 43 das höchstwertige Bit des Betriebsergebnisses des Rechenwerkes 29 ein, so dass es an den Bus 2 ausgegeben wird. Das Schieberegister 44 gibt das höchstwertige Bit des Operationsergebnisses des Komparators 26 ein, so dass es an den Bus 2 ausgegeben wird. Die Verarbeitungseinheit aus 24 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Zum Ausführen der ACS-Operation in dem zehnten Ausführungsbeispiel wird das höchstwertige Bit des Vergleichsergebnisses des Rechenwerkes 29 in dem Schieberegister 43 zu einem beliebigen Zeitpunkt verschoben. Das höchstwertige Bit des Vergleichsergebnisses des Komparators 26 wird zu einem beliebigen Zeitpunkt in dem Schieberegister 44 verschoben. Dabei kann ein Pfadauswahlsignal in dem RAM 14 gespeichert werden. In diesem Fall zeigt das Pfadauswahlsignal, welcher Pfad der beiden Pfade ausgewählt worden ist und nach Be endigung der ACS-Operation zur Ausführung der Rückverfolgung verwendet wird.
  • Zum Beispiel kann das Pfadauswahlsignal in einem Fall, indem die Bitbreite des Schieberegisters 43 und die des Schieberegisters 44 Datenbreiten mit einfacher Genauigkeit sind, gespeichert werden, wenn die ACS-Operation entsprechend einer Anzahl von Bits mit einfacher Genauigkeit ausgeführt wird.
  • Somit werden gemäß dem zehnten Ausführungsbeispiel die Schieberegister als Speichervorrichtung zum Ausführen der ACS-Operationen und zum Speichern des Vergleichsergebnisses verwendet. Dabei können die Schieberegister zum Beispiel als Operationsbefehl für Verwendung eines Schieberegisters eines Divisionssystems verwendet werden. Daher können in dem Fall der Implementierung der Verarbeitungseinheit in einer Hochintegrationsform (LSI-Form) die Chipfläche weiter verringert und die Herstellungskosten gesenkt werden. Es wird darauf verwiesen, dass die ähnliche Operation auch dann ausgeführt werden kann, wenn der Dual-Port-RAM als Speicherabschnitt zum Speichern des Pfadmetriken verwendet wird.
  • Elftes Ausführungsbeispiel
  • 25 ist ein Blockschaltbild und zeigt die Struktur der Verarbeitungseinheit des elften Ausführungsbeispieles der vorliegenden Erfindung. In der Verarbeitungseinheit aus 25 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Verarbeitungseinheit aus 24, und die Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich mit der Verarbeitungseinheit aus 24 tauscht das Eingaberegister 17 in der Verarbeitungseinheit aus 25 die Pfadmetrikdaten, so dass diese von dem Bus 2 eingegeben werden. Danach gibt der 4 : 2-Verdichter 40 die Zweigmetrikdaten direkt ohne Austauschen der Zweigmetrikdaten ein, und ein Negationswert des Vergleichsergebnisses des Komparators 26 wird in dem Schieberegister 44 verschoben.
  • Die Verarbeitungseinheit aus 23 ist geeignet für die Operationsverarbeitung der in 15 gezeigten Pipeline-Struktur.
  • Zum Ausführen der ACS-Operation bei diesem Ausführungsbeispiel werden zwei Pfadmetriken {A, B} direkt in das Eingaberegister 16 als {A, } eingegeben und in einem ausgetauschten Zustand als {B, A} in das Schieberegister 17 eingegeben. Danach werden zwei Zweigmetriken von der Austauschschaltung 18 als {C} und {D} in den 4 : 2-Verdichter 40 eingegeben und zwei Pfadmetriken werden von dem Eingaberegister 17 als {B} und {A} und {A + B} und {B + C} an den 4 : 2-Verdichter 40 ausgegeben.
  • Danach gibt der Komparator 26 zwei Ausgänge {A + B} und {B + C} aus, um {A + D – B – C} zu berechnen.
  • Andererseits gibt der Addierer 42 mit doppelter Genauigkeit zwei Zweigmetriken als {C, D} von der Austauschschaltung 18 ein, und er gibt zwei Pfadmetriken als {B, A} von dem Eingaberegister ein. Danach werden {B + C} und {A + D} gleichzeitig parallel berechnet und in der Form {B + C, A + D} an den Auswahlabschnitt 12 ausgegeben.
  • Danach wird das höchstwertige Bit des Vergleichsergebnisses von dem Komparator 26 an den Auswahlabschnitt 12 ausgegeben, und das höchstwertige Bit des Negationswertes des Vergleichsergebnisses wird an das Schieberegister 44 ausgegeben.
  • Somit tauscht gemäß dem elften Ausführungsbeispiel eines der Eingaberegister zum Speichern der Pfadmetriken die einzugebenden Daten. Im Ergebnis dessen und da die Notwendigkeit der Austauschoperation an dem Eingang des 4 : 2-Verdichters 40 und des Addierers 42 mit doppelter Genauigkeit in der Operationsausführungsstufe (EX) eliminiert werden kann, kann die ACS-Operation mit größerer Geschwindigkeit ausgeführt werden. Es ist zu beachten, dass die ähnliche Operation auch dann ausgeführt werden kann, wenn der Dual-Port-RAM als das Mittel zum Speichern der Pfadmetriken verwendet wird.
  • Zwölftes Ausführungsbeispiel
  • 26 ist ein Blockschaltbild und zeigt die Struktur einer Mobilstationsvorrichtung in dem zwölften Ausführungsbeispiel. Eine in 26 gezeigte Mobilstationsvorrichtung umfasst einen Antennenabschnitt 46 für Empfangen und Senden, einen Funkabschnitt 47 mit einem Empfangsabschnitt 48 und einem Sendeabschnitt 49, einen Basisband-Verarbeitungsabschnitt 50 zum Ausführen der Signalmodulation und -demodulation und einer Signalkodierung und -dekodierung, einen Lautsprecher 58 zum Ausgeben von Ton, ein Mikrofon 59 zum Eingeben von Ton, einen Daten-Eingabe-/Ausgabe-Abschnitt 60 zum Eingeben/Ausgeben an/von einer äußeren Vorrichtung zu empfangenden und zu sendenden Daten, einen Anzeigeabschnitt 61 zum Anzeigen eines Betriebszustandes, einen Bedienabschnitt 62, wie zum Beispiel eine Zehn-Tasten-Tastatur, und einen Steuerungsabschnitt 63 zum Steuern der jeweiligen Teile.
  • Der Basisband-Verarbeitungsabschnitt 50 umfasst einen Demodulationsabschnitt 51 zum Demodulieren eines empfangenen Signals, einen Modulationsabschnitt 52 zum Modulieren eines gesendeten Signals und einen digitalen Signalprozessor (DSP) 53 aus einem Chip.
  • Der digitale Signalprozessor (DSP) 53 umfasst einen Viterbi-Dekodierungs-Abschnitt 55, der durch eine beliebige der Verarbeitungseinheiten des ersten bis elften Ausführungsbeispieles ausgebildet wird, einen Faltungskodierer-Abschnitt 56 für Faltungskodierung des gesendeten Signals, einen Sprachcoder-Abschnitt 57 zum Kodieren und Dekodieren von Sprache und einen Zeitsteuerungs-Abschnitt 54 zum Zeitsteuern des Sendens des empfangenen Signals an den Viterbi-Dekodierungs-Abschnitt 55 von dem Demodulationsabschnitt 51 und zum Zeitsteuern des Sendens des gesendeten Signals an den Demodulationsabschnitt 52 von dem Faltungskodierer-Abschnitt 56. Diese Vorrichtungen werden jeweils durch Software ausgebildet.
  • Der Steuerungsabschnitt 63 zeigt einen Signaleingang von dem Bedienabschnitt 62 an den Anzeigeabschnitt 61 an, empfängt den Signaleingang von dem Bedienabschnitt 62. Danach gibt der Steuerungsabschnitt 63 ein Steuersignal zum Durchführen einer Anrufoperation an den Antennenabschnitt 46, den Funkabschnitt 47 und den Basisband-Verarbeitungsabschnitt 50 entsprechend einer Kommunikationssequenz aus.
  • Wenn Sprache von der Mobilstationsvorrichtung 45 übertragen wird, wird der Sprachsignaleingang von dem Mikrofon 59 durch einen A/D-Wandler (nicht gezeigt) A/D-gewandelt. Danach wird das gewandelte Signal durch den Sprachcoder-Abschnitt 57 kodiert, um in den Faltungskodierer-Abschnitt 56 eingegeben zu werden. Wenn Daten übertragen werden, wird der Dateneingang von dem äußeren Abschnitt durch den Daten-Eingabe-/Ausgabe-Abschnitt 60 in den Faltungskodierer-Abschnitt 56 eingegeben. Die Dateneingabe in den Faltungskodierer-Abschnitt 56 wird faltungscodiert, und der Zeitsteuerungsabschnitt 54 sortiert die Daten und passt die Sendeausgabesteuerung so an, dass Daten an den Modulationsabschnitt 52 ausgegeben werden. Die Dateneingabe in den Modulationsabschnitt 52 wird digital moduliert, A/D-gewandelt und an den Sendeabschnitt 49 des Funkabschnittes 47 ausgegeben. Die Dateneingabe in den Sendeabschnitt 49 wird in Funksignale umgewandelt und als Funkwellen an den Antennenabschnitt 46 ausgegeben.
  • Andererseits, um die von der Mobilstationsvorrichtung 45 empfangenen Daten auszugeben, werden die von dem Antennenabschnitt 46 empfangenen Funkwellen von dem Empfangsabschnitt 47 des Funkabschnittes 47 empfangen, A/D-gewandelt und an den Demodulationsabschnitt 51 des Basisband-Verarbeitungsabschnittes 50 ausgegeben. Von dem Demodulationsabschnitt 51 demodulierte Daten werden von dem Zeitsteuerungsabschnitt 54 sortiert und danach von dem Viterbi-Dekodierungs-Abschnitt 55 dekodiert.
  • In dem Fall von Sprachkommunikation werden dekodierte Daten von dem Sprachcoder-Abschnitt 57 sprachdekodiert und D/A-gewandelt und danach als Sprache an den Lautsprecher 58 ausgegeben. Im Fall von Datenkommunikation werden von dem Viterbi-Dekodierungs-Abschnitt 55 dekodierte Daten durch den Daten-Eingabe-/Ausgabe-Abschnitt 60 an den äußeren Abschnitt ausgegeben.
  • In der Mobilstationsvorrichtung 45 des zwölften Ausführungsbeispieles werden die jeweiligen Teile des Viterbi-Dekodierungs-Abschnittes 55, des Faltungskodierungs-Abschnittes 56, des Sprachcoder-Abschnittes 57 und des Zeitsteuerungsabschnittes 54 durch Software aus Ein-Chip-DSP ausgebildet. Somit kann die Mobilstationsvorrichtung 56 mit einer kleinen Anzahl von Teilen montiert werden. Da weiterhin der Viterbi-Dekodierungs-Abschnitt 55 durch eine beliebige der Verarbeitungseinheiten des ersten bis elften Ausführungsbeispieles ausgebildet wird, kann die Aktualisierung der beiden Pfadmetriken mit einem Maschinenzyklus in der Pipeline-Verarbeitung unter Verwendung des digitalen Signalprozessors (DSP) 53 realisiert werden. Dabei kann die schnelle ACS-Operation der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP) 53 mit einer relativ kleinen Menge von Verarbeitung realisiert werden.
  • In diesem Ausführungsbeispiel werden der Demodulationsabschnitt 51 und der Modulationsabschnitt 52 als von dem digitalen Signalprozessor (DSP) 53 abgeleitet gezeigt. Diese Vorrichtungen können jedoch durch Software von DSP 53 ausgebildet werden. Weiterhin kann der digitale Signalprozessor (DSP) des sechsten Ausführungsbeispieles als DSP 53 verwendet werden, und der Faltungskodierungs-Abschnitt 56, der Sprachcoder-Abschnitt 57 und der Zeitsteuerungsabschnitt 54 können jeweils durch andere Teile ausgebildet werden.
  • Dreizehntes Ausführungsbeispiel
  • 27 ist ein Blockschaltbild und zeigt die Struktur einer Mobilstationsvorrichtung in dem dreizehnten Ausführungsbeispiel. In einer Mobilstationsvorrichtung 45A aus 27 bezeichnen gleiche Verweisziffern jeweils gemeinsame Abschnitte mit der Mobilstationsvorrichtung 45 aus 26, und eine Erläuterung wird dementsprechend weggelassen.
  • Im Vergleich zu der Mobilstationsvorrichtung 45 aus 26 wird in der Mobilstationsvorrichtung 45A aus 27 ein Spreizungsabschnitt 65 in einem Modulationsabschnitt 52A bereitgestellt, und ein Entspreizungsabschnitt 64 wird in einem Demodulationsabschnitt 51A bereitgestellt, so dass ein Basisbandsignal-Verarbeitungsabschnitt 50A eines CDMA-Kommunikationssystems ausgebildet wird. In dem Fall des CDMA-Kommunikationssystems ist in manchen Fällen ein RAKE-Empfangsabschnitt, in dem eine Vielzahl von aus einem Verzögerungsprofil ausgewählten Fingern aneinander angepasst werden, in dem Zeitsteuerungsabschnitt 54 beinhaltet.
  • Somit wird in der Mobilstationsvorrichtung 45A in dem dreizehnten Ausführungsbeispiel der Entspreizungsabschnitt 64 in dem Demodulationsabschnitt 51A bereitgestellt, und der Spreizungsabschnitt 65 wird in dem Modulationsabschnitt 52A bereitgestellt. Dabei kann die Mobilstationsvorrichtung 45A des dreizehnten Ausführungsbeispieles auf das CDMA-Kommunikationssystem angewendet werden.
  • Vierzehntes Ausführungsbeispiel
  • 28 ist ein Blockschaltbild und zeigt die Struktur einer Basisstationsvorrichtung in dem vierzehnten Ausführungsbeispiel.
  • In 28 umfasst eine Basisstationsvorrichtung 68 des vierzehnten Ausführungsbeispieles einen Antennenabschnitt 46 mit einer Antenne 66 für Empfangen und einer Antenne 67 für Senden, den Funkabschnitt 47 mit dem Empfangsabschnitt 48 und dem Sendeabschnitt 49, einen Basisbandsignal-Verarbeitungsabschnitt 69 zum Ausführen einer Signalmodulation und Signaldemodulation sowie einer Signalkodierung und Signaldekodierung, den Daten-Eingabe-/Ausgabe-Abschnitt 60 zum Eingeben/Ausgeben von durch ein Kabelnetz zu empfangenden und zu sendenden Daten, und den Steuerungsabschnitt 63 zum Steuern der jeweiligen Teile.
  • Der Basisbandsignal-Verarbeitungsabschnitt 69 umfasst den Demodulationsabschnitt 51 zum Demodulieren des empfangenen Signals, den Modulationsabschnitt 52 zum Modulieren des gesendeten Signals und den Ein-Chip-DSP 53A. Der DSP 53A umfasst den Viterbi-Dekodierunys-Abschnitt 55, der durch eine beliebige der Verarbeitungseinheiten des ersten bis elften Ausführungsbeispieles ausgebildet wird, den Faltungskodierungs-Abschnitt 56 zum Faltungskodieren des gesendeten Signals und den Zeitsteuerungsabschnitt 54 zum Zeitsteuern des Sendens des empfangenen Signals an den Viterbi-Dekodierungs-Abschnitt 55 von dem Demodulationsabschnitt 51 und des Sendens des gesendeten Signals an dem Modulationsabschnitt 52 von dem Faltungskodierungs-Abschnitt 56. Diese Vorrichtungen werden jeweils durch Software ausgebildet.
  • Wenn Daten von dem Kabelnetz an der Basisstationsvorrichtung 68 empfangen werden, werden Daten durch den Daten-Eingabe-/Ausgabe-Abschnitt 60 an den Faltungskodierungs-Abschnitt 56 eingegeben. Danach werden in den Faltungskodierungs-Abschnitt 56 eingegebene Daten faltungskodiert, und der Zeitsteuerungsabschnitt 54 sortiert die Eingabedaten und passt die Sendeausgangszeitsteuerung so an, dass Daten an den Modulationsabschnitt 52 ausgegeben werden. In den Modulationsabschnitt 52 eingegebene Daten werden digital moduliert, A/D-gewandelt und durch den Sendeabschnitt 49 in Funksignale umgewandelt. Danach werden die Funksignale von dem Antennenabschnitt 46 als Funkwellen gesendet.
  • Wenn Daten andererseits von dem Funknetz an der Basisstationsvorrichtung 68 empfangen werden, werden von dem Antennenabschnitt 46 empfangene Funkwellen durch den Empfangsabschnitt 48 A/D-gewandelt und von dem Demodulationsabschnitt 51 des Basisband-Verarbeitungsabschnittes 69 demoduliert. Demodulierte Daten werden von dem Zeitsteuerungsabschnitt 54 sortiert und von dem Viterbi-Dekodierungs-Abschnitt 55 dekodiert und danach über den Daten-Eingabe-/Ausgabe-Abschnitt 60 an das Kabelnetz ausgegeben.
  • In der Basisstationsvorrichtung 68 des vierzehnten Ausführungsbeispieles werden die jeweiligen Teile des Viterbi-Dekodierungs-Abschnittes 55, des Faltungskodierungs-Abschnittes 56 und des Zeitsteuerungsabschnittes 54 durch Software aus Ein-Chip-DSP 53A ausgebildet. Somit kann die Basisstationsvorrichtung 68 mit einer kleinen Anzahl von Teilen montiert werden. Da der Viterbi-Dekodierungs-Abschnitt 55 weiterhin aus einer beliebigen der Verarbeitungseinheiten des ersten bis elften Ausführungsbeispieles ausgebildet wird, kann die Aktualisierung der beiden Pfadmetriken mit einem Maschinenzyklus in der Pipeline-Verarbeitung unter Verwendung des DSP 53A realisiert werden. Dabei kann die schnelle ACS-Operation der Viterbi-Dekodierung unter Verwendung des DSP 53A mit einer relativ geringen Menge an Verarbeitung realisiert werden.
  • In diesem Ausführungsbeispiel werden der Demodulationsabschnitt 51 und der Modulationsabschnitt 52 als von dem DSP 53A abgeleitet gezeigt. Diese Vorrichtungen können jedoch durch Software von DSP 53A ausgebildet werden. Weiterhin kann der digitale Signalprozessor (DSP) des sechsten Ausführungsbeispieles als DSP 53A verwendet werden, und der Faltungskodierungs-Abschnitt 56, der Sprachcoder-Kodierungs- Abschnitt 57 und der Zeitsteuerungsabschnitt 54 können jeweils durch andere Teile ausgebildet werden.
  • Fünfzehntes Ausführungsbeispiel
  • 29 ist ein Blockschaltbild und zeigt die Struktur einer Basisstationsvorrichtung in dem fünfzehnten Ausführungsbeispiel. In einer Basisstationsvorrichtung 68A aus 29 bezeichnen gleiche Verweisziffern gemeinsame Abschnitte mit der Basisstationsvorrichtung 68 aus 29, und die Erläuterung wird dementsprechend weggelassen. Im Vergleich zu der Mobilstationsvorrichtung 45 aus 26 wird in der Mobilstationsvorrichtung 45A aus 27 der Spreizungsabschnitt 65 in dem Modulationsabschnitt 52A bereitgestellt, und der Entspreizungsabschnitt 64 wird in dem Demodulationsabschnitt 51A bereitgestellt, so dass der Basisbandsignal-Verarbeitungsabschnitt 50A des CDMA-Kommunikationssystems ausgebildet wird. In dem Fall des CDMA-Kommunikationssystems ist der RAKE-Empfangsabschnitt, in dem die Vielzahl von aus dem Verzögerungsprofil ausgewählten Fingern aufeinander abgestimmt wird, in dem Zeitsteuerungsabschnitt 54 enthalten.
  • Somit wird in der Basisstationsvorrichtung 68A des fünfzehnten Ausführungsbeispieles der Spreizungsabschnitt 64 in dem Demodulationsabschnitt 51A bereitgestellt, und der Spreizungsabschnitt 65 wird in dem Modulationsabschnitt 52A bereitgestellt. Dabei kann die Basisstationsvorrichtung 68A des fünfzehnten Ausführungsbeispieles auf das CDMA-Kommunikationssystem angewendet werden.
  • Wie oben bereits erwähnt, kann die Aktualisierung der beiden Pfadmetriken mit einem Maschinenzyklus in der Pipeline-Verarbeitung unter Verwendung des digitalen Signalprozessors (DSP) realisiert werden. Dabei kann die schnelle ACS-Operation der Viterbi-Dekodierung unter Verwendung des digitalen Signalprozessors (DSP) mit einer relativ kleinen Menge an Verarbeitung realisiert werden. Dies ermöglicht eine Reduzierung der Abmessungen und des Gewichtes der tragbaren Endeinrichtung und eine längere Lebensdauer einer Batterie.

Claims (27)

  1. Verarbeitungseinheit, die umfasst: eine Pfadmetrik-Speichereinrichtung (1) zum Speichern von Pfadmetriken; eine Zweigmetrik-Speichereinrichtung (3) zum Speichern von Zweigmetriken; eine erste und eine zweite ACS-Operationseinrichtung, die eine erste und eine zweite Pfadmetrik (PM0, PM1) von der Pfadmetrik-Speichereinrichtung (1) empfangen und gleichzeitig eine erste sowie eine zweite Zweigmetrik (BM0, BM1) von der Zweigmetrik-Speichereinrichtung (3) empfangen, um zwei ACS-Operationen parallel auszuführen, wobei die erste ACS-Operationseinrichtung Werte (BM0 + PM0, BM1 + PM1) verwendet, die ermittelt werden, indem die erste Zweigmetrik (BM0) sowie die erste Pfadmetrik (PM0) addiert werden und die zweite Zweigmetrik (BM1) sowie die zweite Pfadmetrik (PM1) addiert werden, und die zweite ACS-Operationseinrichtung Werte (BM0 + PM1, BM1 + PM0) verwendet, die ermittelt werden, indem die erste Zweigmetrik (BM0) sowie die zweite Pfadmetrik (PM1) addiert werden und die zweite Zweigmetrik (BM1) sowie die erste Pfadmetrik (PM0) addiert werden; wobei jede der ACS-Operationseinrichtungen umfasst: eine Addiereinrichtung (6, 10), die die erste und die zweite Pfadmetrik (PM0, PM1) sowie die erste und die zweite Zweigmetrik (BM0, BM1) empfängt, um die jeweiligen zwei Additionen durchzuführen; eine Vergleichseinrichtung (5, 9), die einen Vergleich zwischen Werten durchführt, die den jeweiligen zwei Additionsergebnissen entsprechen; eine Auswähleinrichtung (8, 12), die Auswahl der Additionsergebnisse in der Addiereinrichtung (6, 10) auf Basis der Vergleichsergebnisse in der Vergleichseinrichtung (5, 9) durchführt und das ausgewählte Additionsergebnis als eine neue Pfadmetrik in die Pfadmetrik-Speichereinrichtung (1) schreibt; dadurch gekennzeichnet, dass: jede Vergleichseinrichtung (5, 9), um den Vergleich parallel zu der Addition in der Addiereinrichtung (6, 10) durchzuführen, die erste und die zweite Pfadmetrik (PM0, PM1) sowie die erste und die zweite Zweigmetrik (BM0, BM1) empfängt, und einen Wert (PM1 + BM1 – PM0 – BM0; PM1 + BM0 – PM0 – BM1) auf Basis der empfangenen Metriken berechnet, wobei der Wert einer Differenz zwischen den jeweiligen Additionsergebnissen und dem höchstwertigen Bit des Wertes entspricht, der das Vergleichsergebnis darstellt.
  2. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichseinrichtung (5, 9) das Vergleichsergebnis als positiv oder negativ bewertet.
  3. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Pfadmetrik-Speichereinrichtung einen RAM mit vier Bänken umfasst, die Pfadmetriken an Adressen der jeweiligen Bänke speichert und die erste sowie die zweite Pfadmetrik liest, die an fortlaufenden Adressen gespeichert sind.
  4. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Pfadmetrik-Speichereinrichtung einen Dual-Port-RAM mit drei Bänken umfasst, die Pfadmetriken an Adressen der jeweiligen Bänke speichert und die erste sowie die zweite Pfadmetrik im gleichen Zyklus wie das Lesen in den RAM schreibt.
  5. Verarbeitungseinheit nach Anspruch 1, die des Weiteren Eingaberegister umfasst, wobei zwei Pfadmetriken, die von der Pfadmetrik-Speichereinrichtung ausgegeben werden, auf einmal in die Eingaberegister eingegeben werden.
  6. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Zweigmetrik-Speichereinrichtung eine Funktion zum direkten Ausgeben der Zweigmetriken doppelt genauer Daten sowie eine Funktion zum Austauschen einer Position hoher Ordnung und einer Position niedriger Ordnung, um die Zweigmetriken auszugeben, hat.
  7. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass in jeder ACS-Operationseinrichtung die Addiereinrichtung eine erste Addiereinrichtung ist, die zwei Pfadmetriken neu erzeugt, und die Vergleichseinrichtung Additionsergebnisse der zweiten Addiereinrichtung vergleicht, wobei jede ACS-Operationseinrichtung des Weiteren die zweite Addiereinrichtung zum Durchführen von Addition der ersten Pfadmetrik und der ersten Zweigmetrik beim gleichzeitigen Durchführen von Addition der zweiten Pfadmetrik und der zweiten Zweigmetrik sowie eine Vergleichsergebnis-Speichereinrichtung zum Speichern des Ergebnisses umfasst, das in der Auswähleinrichtung ausgewählt wird.
  8. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass die erste Addiereinrichtung und die zweite Addiereinrichtung eine Funktion zum direkten Eingeben der Zweigmetriken doppelt genauer Daten sowie eine Funktion zum Austauschen einer Position hoher Ordnung und einer Position niedriger Ordnung, um die Zweigmetriken auszugeben, haben.
  9. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass die erste Addiereinrichtung und die zweite Addiereinrichtung eine Funktion zum direkten Ausgeben der Pfadmetriken doppelt genauer Daten sowie eine Funktion zum Austauschen einer Position hoher Ordnung und einer Position niedriger Ordnung, um die Pfadmetriken auszugeben, haben.
  10. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass wenigstens eine der ersten Addiereinrichtungen eine arithmetische Operationsvorrichtung ist.
  11. Prozesseinheit nach Anspruch 7, dadurch gekennzeichnet, dass wenigstens eine der zweiten Addiereinrichtungen und eine der Vergleichseinrichtungen aus einem Datenverdichter und einer arithmetischen Operationsvorrichtung besteht.
  12. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass wenigstens eine der ersten Addiereinrichtungen eine Vielzahl von Volladdierern ist und eine Weiterleitung eines Übertragsignal-Ausgangs von einem Teil der Volladdierer zu einer nächsten Stufe gesteuert wird.
  13. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass eine der Vergleichsergebnis-Speichereinrichtungen ein Schieberegister ist.
  14. Verarbeitungseinheit nach Anspruch 7, dadurch gekennzeichnet, dass eine der Vergleichsergebnis-Speichereinrichtungen einen Code eines invertierten Wertes des Vergleichsergebnisses eingibt.
  15. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass die Einheit eine Struktur hat, in der Zweigmetriken in einer Registerdatei gespeichert werden, Pfadmetriken in einem Speicher gespeichert werden, wobei die erste und die zweite Pfadmetrik jeweils von aufeinanderfolgenden Adressen in einer Bank mit einer Adresse gelesen werden, die erste und die zweite Pfadmetrik jeweils in zwei Bänke geschrieben werden, die durch eine andere Adresse angegeben werden, und die eine Adresse sowie die andere Adresse mit einem Befehl angegeben werden können.
  16. Prozessor, der Viterbi-Dekodierung durchführt, wobei der Prozessor die Verarbeitungseinheit nach einem der Ansprüche 1 bis 15 umfasst.
  17. Prozessor nach Anspruch 16, dadurch gekennzeichnet, dass der Prozessor ein digitaler Signalprozessor ist, der umfasst: eine Befehlsabrufeinrichtung zum Abrufen von Befehlen; eine Dekodiereinrichtung zum Dekodieren der durch die Befehlsabrufeinrichtung abgerufenen Befehle; und eine Ausführeinrichtung zum Ausführen der durch die Dekodiereinrichtung dekodierten Befehle.
  18. Funkkommunikations-Mobilstationsvorrichtung, die die Verarbeitungseinheit nach Anspruch 1 enthält, um eine Dekodierverarbeitung eines empfangenen Signals in der Verarbeitungseinheit auszuführen.
  19. CDMA-Mobilstationsvorrichtung, die die Verarbeitungseinheit nach Anspruch 1 enthält, um eine Modulation und Demodulation durch ein CDMA-System durchzuführen und eine Dekodier-Verarbeitung eines empfangenen Signals in der Verarbeitungseinheit auszuführen.
  20. Funkkommunikations-Basisstationsvorrichtung, die die Verarbeitungseinheit nach Anspruch 1 enthält, um eine Dekodier-Verarbeitung eines empfangenen Signals in der Verarbeitungseinheit auszuführen.
  21. CDMA-Basisstationsvorrichtung, die die Verarbeitungseinheit nach Anspruch 1 enthält, um eine Modulation und Demodulation durch ein CDMA-System durchzuführen und eine Dekodier-Verarbeitung eines empfangenen Signals in der Verarbeitungseinheit auszuführen.
  22. Funkkommunikationssystem, bei dem die in Anspruch 1 beschriebene Verarbeitungseinheit wenigstens an einer Mobilstationsvorrichtung oder einer Basisstationsvorrichtung angebracht ist.
  23. CDMA-Funkkommunikationssystem zum Durchführen einer Modulation und einer Demodulation durch ein CDMA-System, wobei die in Anspruch 1 beschriebene Verarbeitungseinheit wenigstens an einer Mobilstationsvorrichtung oder einer Basisstationsvorrichtung angebracht ist.
  24. Verarbeitungsverfahren, das die folgenden Schritte umfasst: Lesen von zwei gespeicherten Pfadmetriken (PM0, PM1) und zwei gespeicherten Zweigmetriken (BM0, BM1); und paralleles Ausführen von zwei ACS-Operationen, die die Schritte des Addierens, Vergleichens und Auswählens umfassen, unter Verwendung der gelesenen zwei Pfadmetriken und der gelesenen zwei Zweigmetriken, wobei bei der ersten ACS-Operation Werte (BM0 + PM0, BM1 + PM1) verwendet werden, die ermittelt werden, indem die erste Zweigmetrik (BM0) sowie die erste Pfadmetrik (PM0) addiert werden und die zweite Zweigmetrik (BM1) sowie die zweite Pfadmetrik (PM1) addiert werden, und bei der zweiten ACS-Operation Werte (BM0 + PM1, BM1 + PM0) verwendet werden, die ermittelt werden, indem die erste Zweigmetrik (BM0) sowie die zweite Pfadmetrik (PM1) addiert werden und die zweite Zweigmetrik (BM1) sowie die erste Pfadmetrik (PM0) addiert werden; wobei bei jeder der zwei ACS-Operationen beim Schritt des Vergleichens ein Vergleich zwischen Werten durchgeführt wird, die den jeweiligen zwei Additionsergebnissen entsprechen; und beim Schritt des Auswählens eine Auswahl des einen der Additionsergebnisse auf Basis der Vergleichsergebnisse durchgeführt wird; dadurch gekennzeichnet, dass: bei jeder der zwei ACS-Operationen die Schritte des Addierens und Vergleichens parallel durchgeführt werden, indem die erste und die zweite Pfadmetrik (PM0, PM1) und die erste sowie die zweite Zweigmetrik (BM0, BM1) empfangen werden, und ein Wert (PM1 + BM1 – PM0 – BM0; PM1 + BM0 – PM0 – BM1) auf Basis der empfangenen Metriken berechnet wird, wobei der Wert einer Differenz zwischen den jeweiligen Additionsergebnissen und dem höchstwertigen Bit des Wertes entspricht, der das Vergleichsergebnis darstellt.
  25. Verarbeitungsverfahren nach Anspruch 24, dadurch gekennzeichnet, dass bei einem der Vergleiche ein Wert, der ermittelt wird, indem eine Summe einer zweiten Pfadmetrik und einer zweiten Zweigmetrik von einer Summe einer ersten Pfadmetrik und einer ersten Zweigmetrik subtrahiert wird, als positiv oder negativ bewertet wird, während bei dem anderen der Vergleiche ein Wert, der ermittelt wird, indem eine Summe der zweiten Pfadmetrik und der ersten Zweigmetrik von einer Summe der ersten Pfadmetrik und der zweiten Zweigmetrik subtrahiert wird, als positiv oder negativ bewertet wird.
  26. Verarbeitungsverfahren nach Anspruch 24, gekennzeichnet durch das Durchführen einer ersten Stufe, auf der die Pfadmetriken aus einem Speicher gelesen werden, das Durchführen einer zweiten Stufe nach der ersten Stufe, auf der die gelesenen Pfadmetriken temporär in einem Eingaberegister gespeichert werden, um eine Zeit zu verzögern, das Durchführen einer dritten Stufe nach der zweiten Stufe, auf der die Pfadmetriken aus einer Registerdatei gelesen werden, um die ACS-Operation durchzuführen und eine neue Pfadmetrik zu schreiben, und dadurch gekennzeichnet, dass gleichzeitig zu der dritten Stufe die erste Stufe an einer nächsten Pfadmetrik durchgeführt wird.
  27. Mechanisch lesbares Aufzeichnungsmedium, auf dem ein Programm, in dem das in Anspruch 24 beschriebene Verfahren in Software realisiert ist, aufgezeichnet worden ist.
DE69827915T 1997-06-30 1998-06-29 Verarbeitungsverfahren und -vorrichtung Expired - Lifetime DE69827915T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP17387897 1997-06-30
JP17387897 1997-06-30
JP16856798 1998-06-16
JP16856798A JP3338374B2 (ja) 1997-06-30 1998-06-16 演算処理方法および装置
PCT/JP1998/002909 WO1999000905A1 (fr) 1997-06-30 1998-06-29 Processeur et procede de traitement

Publications (2)

Publication Number Publication Date
DE69827915D1 DE69827915D1 (de) 2005-01-05
DE69827915T2 true DE69827915T2 (de) 2005-04-07

Family

ID=26492229

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69827915T Expired - Lifetime DE69827915T2 (de) 1997-06-30 1998-06-29 Verarbeitungsverfahren und -vorrichtung

Country Status (6)

Country Link
US (6) US6330684B1 (de)
EP (1) EP0923197B1 (de)
JP (1) JP3338374B2 (de)
CN (3) CN101018103B (de)
DE (1) DE69827915T2 (de)
WO (1) WO1999000905A1 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6473088B1 (en) * 1998-06-16 2002-10-29 Canon Kabushiki Kaisha System for displaying multiple images and display method therefor
US6647071B2 (en) * 1998-11-06 2003-11-11 Texas Instruments Incorporated Method and apparatus for equalization and tracking of coded digital communications signals
JP3683128B2 (ja) * 1999-07-06 2005-08-17 日本電気株式会社 無線通信機および無線通信機の消費電力制御方法
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US6760385B1 (en) * 2000-05-30 2004-07-06 Adtran, Inc. Universal parallel processing decoder
JP2001352254A (ja) * 2000-06-08 2001-12-21 Sony Corp 復号装置及び復号方法
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US6904105B1 (en) * 2000-10-27 2005-06-07 Intel Corporation Method and implemention of a traceback-free parallel viterbi decoder
JP3984790B2 (ja) * 2001-01-15 2007-10-03 日本電気株式会社 ビタビ復号処理装置
US6848074B2 (en) * 2001-06-21 2005-01-25 Arc International Method and apparatus for implementing a single cycle operation in a data processing system
US7020830B2 (en) * 2001-12-24 2006-03-28 Agere Systems Inc. High speed add-compare-select operations for use in viterbi decoders
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
US7359464B2 (en) * 2003-12-31 2008-04-15 Intel Corporation Trellis decoder and method of decoding
US20050157823A1 (en) * 2004-01-20 2005-07-21 Raghavan Sudhakar Technique for improving viterbi decoder performance
JP4230953B2 (ja) * 2004-03-31 2009-02-25 株式会社ケンウッド ベースバンド信号生成装置、ベースバンド信号生成方法及びプログラム
CN1906857B (zh) * 2004-05-14 2011-09-28 松下电器产业株式会社 Acs电路
EP1762005A2 (de) * 2004-06-23 2007-03-14 Koninklijke Philips Electronics N.V. Adressierungsstrategie zur berechnung der viterbi-metrik
US7231586B2 (en) * 2004-07-21 2007-06-12 Freescale Semiconductor, Inc. Multi-rate viterbi decoder
TWI255622B (en) * 2004-10-21 2006-05-21 Mediatek Inc Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
US7607072B2 (en) * 2005-01-28 2009-10-20 Agere Systems Inc. Method and apparatus for-soft-output viterbi detection using a multiple-step trellis
EP1746756B1 (de) * 2005-07-21 2013-01-16 STMicroelectronics Srl Verfahren und System zur Signaldekodierung, entsprechender Empfänger und Rechnerprogrammprodukt
US7938819B2 (en) 2005-09-12 2011-05-10 Bridgepoint Medical, Inc. Endovascular devices and methods
KR100729619B1 (ko) * 2005-11-07 2007-06-19 삼성전자주식회사 고속 데이터 전송을 위한 비터비 디코딩 방법 및 장치
JPWO2007074583A1 (ja) * 2005-12-27 2009-06-04 パナソニック株式会社 再構成可能な演算器を持つプロセッサ
JP4607958B2 (ja) * 2006-01-20 2011-01-05 パナソニック株式会社 プロセッサおよびプログラム変換装置
US20070239182A1 (en) * 2006-04-03 2007-10-11 Boston Scientific Scimed, Inc. Thrombus removal device
JP4303256B2 (ja) * 2006-04-04 2009-07-29 パナソニック株式会社 デジタル信号受信装置およびデジタル信号受信方法
US20080005842A1 (en) * 2006-07-07 2008-01-10 Ferno-Washington, Inc. Locking mechanism for a roll-in cot
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device
US8140949B2 (en) * 2007-11-13 2012-03-20 Alpha Imaging Technology Corp. ACS unit of a Viterbi decoder and method for calculating a bit error rate before a Viterbi decoder
CA2621147C (en) * 2008-02-15 2013-10-08 Connotech Experts-Conseils Inc. Method of bootstrapping an authenticated data session configuration
KR101410697B1 (ko) 2008-03-20 2014-07-02 삼성전자주식회사 수신기 및 상기 수신기의 동작 제어 방법
US8943392B2 (en) * 2012-11-06 2015-01-27 Texas Instruments Incorporated Viterbi butterfly operations
US20150170067A1 (en) * 2013-12-17 2015-06-18 International Business Machines Corporation Determining analysis recommendations based on data analysis context
WO2015129519A1 (ja) * 2014-02-25 2015-09-03 東レ株式会社 海島複合繊維、複合極細繊維および繊維製品
DE102015107509A1 (de) * 2014-10-14 2016-04-14 Infineon Technologies Ag Chip und Verfahren zum Betreiben einer Verarbeitungsschaltung
JP7007115B2 (ja) * 2017-06-01 2022-01-24 Necプラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6081925A (ja) * 1983-10-12 1985-05-10 Nec Corp 誤り訂正装置
JPS60173930A (ja) * 1984-02-20 1985-09-07 Fujitsu Ltd パイプライン処理ビタビ復号器
JPS63215227A (ja) * 1987-03-04 1988-09-07 Toshiba Corp ビタビ復号回路
JPS6468853A (en) 1987-09-10 1989-03-14 Fujitsu Ltd Memory control system
JPH01102541A (ja) * 1987-10-16 1989-04-20 Toshiba Corp 放射線画像装置
JPH03128552A (ja) * 1989-07-31 1991-05-31 Nec Corp データ伝送システムのための変復調装置
US5027374A (en) * 1990-03-26 1991-06-25 Motorola, Inc. Bit serial Viterbi decoder add/compare/select array
US5375129A (en) * 1990-07-19 1994-12-20 Technophone Limited Maximum likelihood sequence detector
US5220570A (en) * 1990-11-30 1993-06-15 The Board Of Trustees Of The Leland Stanford Junior University Programmable viterbi signal processor
US5502735A (en) * 1991-07-16 1996-03-26 Nokia Mobile Phones (U.K.) Limited Maximum likelihood sequence detector
JP2702831B2 (ja) * 1991-08-28 1998-01-26 松下電送株式会社 ヴィタビ復号法
US5327440A (en) * 1991-10-15 1994-07-05 International Business Machines Corporation Viterbi trellis coding methods and apparatus for a direct access storage device
US5280489A (en) * 1992-04-15 1994-01-18 International Business Machines Corporation Time-varying Viterbi detector for control of error event length
JPH05335972A (ja) * 1992-05-27 1993-12-17 Nec Corp ビタビ復号器
US5715470A (en) * 1992-09-29 1998-02-03 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for carrying out viterbi decoding at a high speed
JPH0722969A (ja) 1993-06-16 1995-01-24 Matsushita Electric Ind Co Ltd 演算装置
JPH06164423A (ja) 1992-11-20 1994-06-10 Murata Mach Ltd ビタビ復号器
DE69424908T2 (de) * 1993-09-20 2000-11-09 Canon Kk Signalverarbeitungsapparat
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US5414738A (en) * 1993-11-09 1995-05-09 Motorola, Inc. Maximum likelihood paths comparison decoder
US5550870A (en) * 1994-03-02 1996-08-27 Lucent Technologies Inc. Viterbi processor
JP3241210B2 (ja) * 1994-06-23 2001-12-25 沖電気工業株式会社 ビタビ復号方法及びビタビ復号回路
FR2724273B1 (fr) * 1994-09-05 1997-01-03 Sgs Thomson Microelectronics Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi
JP3304631B2 (ja) 1994-09-14 2002-07-22 ソニー株式会社 ビタビ復号方法及びビタビ復号装置
JPH0946240A (ja) 1995-07-27 1997-02-14 Mitsubishi Electric Corp ビタビ復号機能を有するデータ処理装置
KR0144505B1 (ko) * 1995-09-18 1998-08-17 구자홍 영상표시기기의 화면 자동 조정장치 및 방법
US5742621A (en) * 1995-11-02 1998-04-21 Motorola Inc. Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor
US5633897A (en) * 1995-11-16 1997-05-27 Atmel Corporation Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
JP2798123B2 (ja) 1995-11-17 1998-09-17 日本電気株式会社 ビタビ復号装置
JPH09232973A (ja) * 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
KR100195745B1 (ko) * 1996-08-23 1999-06-15 전주범 비터비 복호화기의 가산 비교 선택 장치
JPH10107651A (ja) 1996-09-27 1998-04-24 Nec Corp ビタビ復号装置
EP0851591B1 (de) 1996-12-24 2001-09-12 Matsushita Electric Industrial Co., Ltd. Datenprozessor und Verfahren zur Datenverarbeitung
JPH10209882A (ja) 1997-01-24 1998-08-07 Japan Radio Co Ltd ビタビ復号方法
JP3242059B2 (ja) 1997-06-04 2001-12-25 沖電気工業株式会社 ビタビ復号器
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6257756B1 (en) * 1997-07-16 2001-07-10 Motorola, Inc. Apparatus and method for implementing viterbi butterflies
JPH11112361A (ja) 1997-10-01 1999-04-23 Matsushita Electric Ind Co Ltd データ復号装置及びデータ復号方法
US5987490A (en) * 1997-11-14 1999-11-16 Lucent Technologies Inc. Mac processor with efficient Viterbi ACS operation and automatic traceback store
US5912908A (en) * 1997-11-21 1999-06-15 Lucent Technologies Inc. Method of efficient branch metric computation for a Viterbi convolutional decoder
US6195782B1 (en) * 1998-05-28 2001-02-27 Advanced Micro Devices, Inc. MLSE implementation using a general purpose DSP and shared hardware for a GSM application
JP3403382B2 (ja) * 1999-10-29 2003-05-06 松下電器産業株式会社 トレリス復号装置及びその方法
US20080077451A1 (en) * 2006-09-22 2008-03-27 Hartford Fire Insurance Company System for synergistic data processing

Also Published As

Publication number Publication date
US6330684B1 (en) 2001-12-11
JPH1174801A (ja) 1999-03-16
US20050163233A1 (en) 2005-07-28
US20030066022A1 (en) 2003-04-03
WO1999000905A1 (fr) 1999-01-07
US20080072129A1 (en) 2008-03-20
CN101018103A (zh) 2007-08-15
US6477661B2 (en) 2002-11-05
EP0923197B1 (de) 2004-12-01
CN100512075C (zh) 2009-07-08
DE69827915D1 (de) 2005-01-05
US7325184B2 (en) 2008-01-29
JP3338374B2 (ja) 2002-10-28
CN1118140C (zh) 2003-08-13
CN101018103B (zh) 2013-02-27
US20040177313A1 (en) 2004-09-09
US7139968B2 (en) 2006-11-21
CN1231083A (zh) 1999-10-06
US20020016946A1 (en) 2002-02-07
CN1516381A (zh) 2004-07-28
EP0923197A1 (de) 1999-06-16
US6735714B2 (en) 2004-05-11
EP0923197A4 (de) 2000-10-04

Similar Documents

Publication Publication Date Title
DE69827915T2 (de) Verarbeitungsverfahren und -vorrichtung
EP1049001B1 (de) Arithmetisches Gerät
DE60028906T2 (de) Viterbi Dekoder
EP0152947B1 (de) Viterbi-Dekoder mit Pipeline-Verarbeitungsfunktion
JPS62233933A (ja) ヴイタビ復号法
KR940010435B1 (ko) 비터비 복호기의 경로기억장치
DE60125686T2 (de) Falterprozessor zur Telekommunikation
CA2152238A1 (en) Viterbi decoding method and circuit with accelerated backtracing and efficient path metric calculation
DE19504864C2 (de) Rechenwerk zum Ausführen einer Division
JP3274668B2 (ja) 演算処理装置及び演算処理方法
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
US6751773B2 (en) Coding apparatus capable of high speed operation
US6792570B2 (en) Viterbi decoder with high speed processing function
DE10010238C2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
EP1393514B1 (de) Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk
CN106452461A (zh) 一种通过矢量处理器实现viterbi解码的方法
EP1417768B1 (de) Hochleistungsturbo- und Viterbikanaldecodierung in digitalen Signalprozessoren
EP0677928A1 (de) Verfahren und Gerät zur Implementierung des Viterbi-Algorithmus unter Verwendung eines Metrikspeichers mit verringerter Bandbreite (längerer Zykluszugriffszeit)
CN111404558B (zh) 一种Polar码译码的方法、译码器及计算机存储介质
DE60117705T2 (de) Viterbi-Decodierungsprozessor
EP0735695A2 (de) Viterbi-Dekodiereinrichtung mit Prozessor und mit Addier- Vergleichs- und Auswahlschaltung
DE19847245C2 (de) Kombinierte Addierer- und Logik-Einheit
CN112242851B (zh) 一种ldpc码的分层译码中迭代数据处理方法及译码器系统
DE10300268B4 (de) Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern
JPS6162235A (ja) ビタビ復号法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP