DE69825328T2 - Mehrkanaliger viterbi-dekoder - Google Patents

Mehrkanaliger viterbi-dekoder Download PDF

Info

Publication number
DE69825328T2
DE69825328T2 DE69825328T DE69825328T DE69825328T2 DE 69825328 T2 DE69825328 T2 DE 69825328T2 DE 69825328 T DE69825328 T DE 69825328T DE 69825328 T DE69825328 T DE 69825328T DE 69825328 T2 DE69825328 T2 DE 69825328T2
Authority
DE
Germany
Prior art keywords
phase
quadrature
signals
signal
despread
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
DE69825328T
Other languages
English (en)
Other versions
DE69825328D1 (de
Inventor
Jr. John D. Kaewell
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of DE69825328D1 publication Critical patent/DE69825328D1/de
Application granted granted Critical
Publication of DE69825328T2 publication Critical patent/DE69825328T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • 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/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient 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/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70703Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation using multiple or variable rates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03592Adaptation methods
    • H04L2025/03598Algorithms
    • H04L2025/03675Blind algorithms using gradient methods

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft im Allgemeinen digitale Kommunikation. Insbesondere betrifft die Erfindung ein System, in welchem Daten mit einer variablen Rate übertragen und auf einem Kommunikationsempfänger empfangen werden, wo die Daten mit variablen Raten auf einem leistungsstarken, Mehrkanal-Mehrraten-Datendekodierer dekodiert werden.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Heutzutage wird in der fortschrittlichsten Kommunikationstechnologie Spreizspektrum-Modulation oder Codemultiplex-Vielfachzugriff (CDMA) für Punkt-zu-Mehrfachpunkt-Telekommunikation verwendet. Seit den 1950ern wurde CDMA bei Militäranwendungen verwendet, da das Erkennen und das Stören der Nachrichtenübertragung schwierig ist. Diese Eigenschaft ist auf die drahtlose Kommunikationstechnologie zurückzuführen, bei der eine viel größere modulierte Übertragungsbandbreite verwendet wird als die Informationsbandbreite des übertragenen Signals.
  • Ein vereinfachtes CDMA-Kommunikationsschema ist in 1 dargestellt. Ein einzelner Kommunikationskanal einer gegebenen Bandbreite wird mit einem Spreizcode gemischt. Das modulierte Signal mit einer relativ schmalen Bandbreite wird durch Sequenz gespreizt, um eine viel breitere übertragene Bandbreite durch Vervielfachung mit einem einzigartigen Spreizcode zu belegen. Der Spreizcode umfasst eine geräuschartige, hochratige, pseudozufällige Sequenz oder einen solchen Code, die/der zu einem Teil der übertragenen Daten wird. Die auf niedrigem Pegel geräuschartige Erscheinung des daraus resultierenden übertragenen Signals ist derart, dass es unwahrscheinlich ist, dass es andere Spektrumteilnehmer stört.
  • An dem Empfänger wird das Signal entspreizt, indem das empfangene Breitbandsignal mit einer identischen, vor Ort erzeugten, pseudozufälligen Sequenz korreliert wird, um die Daten aus einer Vielzahl an Datensignalen herauszulösen, die dieselbe Übertragungsbandbreite belegen. Das bringt das Signal auf seine originale Bandbreite wieder zurück und spreizt ebenfalls jegliche Schmalbandfunksignale, die innerhalb des belegten Spektrums vorhanden sind, so dass sie nun als Rauschen an dem Empfänger erscheinen. Durch Verwenden vieler verschiedener pseudozufälliger Codesequenzen können Mehrfachteilnehmer innerhalb desselben Übertragungsspektrums aufgenommen werden.
  • Dieselben Eigenschaften, die es ermöglicht haben, dass CDMA-Kommunikationstechnologien in militärischen Anwendungen erfolgreich sind, machen CDMA-Kommunikationssysteme, insbesondere Systeme mit Breitband-Codemultiplex-VielfachzugriffTM oder B-CDMATM, ebenfalls für die effiziente Nutzung des überfüllten kommerziellen Funkfrequenzspektrums attraktiv. Zu den zahlreichen Eigenschaften des CDMA-Systems gehört die praktisch unbegrenzte Kapazität des Systems. Da jeder Teilnehmer in einem CDMA-Kommunikationssystem über dieselbe Übertragungsbandbreite Signale überträgt und empfängt, bestehen weniger strenge Anforderungen an Kanalführung und Schutzband. Im Gegensatz zu FDMA- und TDMA-Systemen, bei denen die Kapazität durch die Anzahl der diskreten Kanäle begrenzt ist, ist die Kapazität bei CDMA-Systemen durch Interferenz begrenzt. Demzufolge ist die Anzahl der Teilnehmer, die gleichzeitig über diese gegebene Übertragungsbandbreite kommunizieren können, bedeutend höher.
  • Zusätzlich zu Sprachinformationen kann Nicht-Sprachinformation allein oder eine Kombination der beiden an den Empfänger übertragen werden. Bestimmte Kommunikationsstandards, wie zum Beispiel diensteintegrierende digitale Nachrichtennetze (ISDN), erfordern eine viel größere Datenrate als diejenige der digitalisierten Sprache. Zur Optimierung des Kommunikationssystems werden verschiedene Datenraten übertragen, um das Signal/Rausch-Verhältns (SNR) zu allen Empfängern zu erhöhen.
  • Ein Maß der Spreizspektrum-Leistungsfähigkeit ist die Systemprozessverstärkung, Gp, welche durch das Verhältnis der Kanalbitrate zu der Informationsbitrate, Rc/Ri bestimmt ist. Die Eingangs- und Ausgangssignal/Rausch-Verhältnisse stehen in folgender Beziehung:
    Figure 00030001
  • Daraus ist ersichtlich, dass je höher die Datenrate ist, umso mehr Interferenz produziert wird und das Signal/Rausch-Verhältnis in Mitleidenschaft gezogen wird. Die Verminderung von Interferenz äußert sich direkt in einem Kapazitätsanstieg.
  • Die meisten CDMA-Telekommunikationssysteme übertragen Daten mit variablen Raten, um das SNR so groß wie möglich zu halten. Um dieses zu erreichen, wird die Übertragungsdatenrate entweder innerhalb der Systempegelregelungsmeldung identifiziert, welche ein Teil des Signalkanals ist, oder ein gegebener Empfänger muss in der Lage sein, die übertragene Datenrate zu erkennen.
  • Da sich viele Teilnehmer denselben Spektralübertragungskanal teilen, kann Interferenz von einem Teilnehmer zu dem anderen geleitet werden, wenn nicht genügend Codeisolierung zwischen den Teilnehmern vorhanden ist. Darüber hinaus muss die Datenrate vor der Fehlerkorrektur-Faltungsdekodierung entweder in dem Sender oder dem Empfänger bekannt sein.
  • Die meisten Empfänger des Stands der Technik verwenden unabhängige, Einzelraten-Faltungsdekodierer, um die einmal empfangenen und entspreizten digitalen Daten ordentlich wiederherzustellen. Da die Datenrateninformationen für jeden Rahmen übertragen werden, muss der Empfänger nicht aus dem empfangenen Datenrahmen die Rate bestimmen, mit welcher die Daten kodiert wurden, wodurch die Komplexität des Empfängers verringert und die Systemgeschwindigkeit insgesamt erhöht wird. Die Verwendung von Faltungsdekodierern, die jeder übertragenen Datenrate zugeordnet werden, vermindert jedoch die gesamte Verarbeitungseffizienz und erhöht die Systemkosten.
  • In der JP-A-8-195 683 ist eine Datenempfangsvorrichtung zum Dekodieren empfangener Daten in einer kurzen Zeit und ohne Verwendung eines Datenpuffers beschrieben.
  • Es besteht daher ein Bedarf nach einem Faltungsdekodierer mit hohem Wirkungsgrad, der variable Datenraten verarbeiten kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein Verfahren zum Empfangen mehrerer Signale in einem gemeinsam genutzten Spektrum eines drahtlosen Spreizspektrums-CDMA-Kommunikationssystems nach Anspruch 1 zur Verfügung. Außerdem ist ein Empfänger zum Empfangen mehrerer empfangener Signale in einem gemeinsam genutzten Spektrum eines drahtlosen Spreizspektrums-CDMA-Kommunikationssystems nach Anspruch 9 vorgesehen. Bevorzugte Aspekte der Erfindung sind gemäß den abhängigen Ansprüchen vorgesehen.
  • Die vorliegende Erfindung betrifft ein Kommunikationssystem, in welchem die Datenrate einer gegebenen Übertragung durch einen Sender kodiert worden ist und dann dafür verwendet wird, eine Vielzahl von Faltungsdekodierern einzustellen, die sich gemeinsamen Speicher teilen. In dem System werden gemeinsame Verarbeitungsressourcen verwendet, um bis zu vier diskrete Kanäle zur Verfügung zu stellen, welche Mehrraten-Fehlerkorrektur-Faltungsdekodierung aufweisen, die zu einer verkleinerten Siliziumfläche und niedrigem Leistungsbetrieb führen. Das System ist in der Lage, Sprachkommunikation von 8 kbit/s bis zu 64 kbit/s für hohe Raten von ISDN-Kommunikation zu unterstützen. Obwohl die vorliegende Erfindung für eine Vielfalt von Kommunikationssystemen verwendet werden kann, umfassen die bevorzugten Kommunikationssysteme Mobiltelefon, PCS, drahtlose Ortsanschlüsse und CDMA-Kommunikation. Die vorliegende Erfindung kann in den Empfängern sowohl der Basisstation als auch der Standorte von Verbrauchereinheiten verwendet werden.
  • Demzufolge ist es eine Aufgabe der vorliegenden Erfindung, einen leistungsstarken Mehrraten-Faltungsdekodierer für Mehrkanalanwendungen zur Verfügung zu stellen.
  • Es ist die weitere Aufgabe der Erfindung, eine Architektur für Mehrkanal-Faltungsdekodierer mit reduzierter Komplexität und erhöhter Leistung zur Verfügung zu stellen.
  • Weitere Aspekte des Systems und des Verfahrens werden für den Fachmann nach der Lektüre der detaillierten Beschreibung der bevorzugten Ausführungsform ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 ein Blockdiagramm eines typischen CDMA-Kommunikationssystems des Stands der Technik,
  • 2 ein ausführliches Blockdiagramm eines CDMA-Kommunikationssystems,
  • 3a den ersten Bereich eines ausführlichen Blockdiagramms der bevorzugten Ausführungsform,
  • 3b den zweiten Bereich eines ausführlichen Blockdiagramms der bevorzugten Ausführungsform,
  • 4 ein allgemeines Blockdiagramm der bevorzugten Ausführungsform,
  • 5 ein Blockdiagramm der Schnittstelle zwischen einem digitalen Host-Signalprozessor und der bevorzugten Ausführungsform,
  • 6 ein Diagramm einer QPSK-Konstellation,
  • 7 ein ausführliches Blockdiagramm eines Addiere-Vergleiche-Wähle-Kanals,
  • 8a den ersten Bereich eines Ablaufdiagramms des Addiere-Vergleiche-Wähle-Sequenzers,
  • 8b den zweiten Bereich eines Ablaufdiagramms des Addiere-Vergleiche-Wähle-Sequenzers,
  • 9 ein ausführliches Blockdiagramm des Addiere-Vergleiche-Wähle-Sequenzers,
  • 10 ein Ablaufdiagramm des Rückverfolgungsprozesses,
  • 11 ein Ablaufdiagramm des Bitfehlerratenprozesses,
  • 12 ein Schaubild der Leistungsfähigkeit von Bitfehlerrate (BER) versus Signal/Rausch-Verhältnis.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung wird mit Bezugnahme auf die Zeichnungsfiguren beschrieben, in welchen gleiche Bezugszeichen durchweg gleiche Elemente bezeichnen. Der Mehrkanal-Mehrraten-Viterbi-Dekodierer, der nach der vorliegenden Erfindung hergestellt wurde, wird im Zusammenhang mit einem CDMA-Mobiltelefonsystem 17 implementiert. Derartige Dekodierer werden in drahtlosen Mehrkanal-Kommunikationsstationen für den Empfang von Kommunikationssignalen verwendet. Das System 17, wie in 2 dargestellt, umfasst einen Sender 19 und einen Empfänger 21, welche entweder in einer Basisstation oder einem Mobilteilnehmerempfänger angeordnet sein können.
  • Der Sender 19 umfasst einen Signalprozessor 23, welcher Sprach- oder Nicht-Sprachdaten 25 zu Rahmen verschiedener Datenraten kodiert, z.B. Rahmenraten von 8 kbit/s, 16 kbit/s, 32 kbit/s, oder 64 kbit/s. Der Signalprozessor 23 wählt eine Rate in Abhängigkeit von der Menge der Sprachaktivität aus, wenn es sich um Sprachdaten handelt, oder beim Ansprechen auf eine eingestellte Datenrate.
  • Zwei Schritte sind an der Erzeugung von einem übertragenen Signal in einer Mehrfachzugriffumgebung beteiligt. Zuerst werden die Eingangsdaten 25, welche als zweiphasenmoduliertes Signal betrachtet werden können, kodiert, wobei Vorwärts-Fehlerkorrektur-Kodierung (FEC) 27 verwendet wird. Da ein R = ½-Faltungscode verwendet werden aus dem einzelnen zweiphasenmodulierten Datensignal zwei zweiphasenmodulierte Signale. Einem Signal wird der Inphase-Kanal I zugeteilt. Dem anderen Signal wird der Quadraturkanal Q zugeteilt. Die zweiphasenmodulierten I- und Q-Signale werden normalerweise als Quadratur-Phasenumtastung (QPSK) bezeichnet. Bei der bevorzugten Ausführungsform sind die Abzweig-Generatorpolynome 29, 31 für eine Zwangslänge von K = 7 und eine Faltungskodierungsrate von R = ½ G1 = 1718 und G2 = 1338.
  • In dem zweiten Schritt werden die zwei zweiphasenmodulierten Daten oder Symbole 33a, 33b mit QPSK-pseudozufälligen Sequenzen Inphase (I) 35a und Quadratur (Q) 356 gespreizt. Die sich daraus ergebenden mit I 37a und Q 37b gespreizten Signale werden mit einer Trägerfrequenz 43 gemischt, mit anderen gespreizten Signalen (Kanälen), die verschiedene Spreizcodes aufweisen, kombiniert 45 und übertragen 47. Die Übertragung 47 kann eine Vielzahl von individuellen Kanälen enthalten, die verschiedene Datenraten aufweisen.
  • Der Empfänger 21 umfasst einen Demodulator 49a, 49b, welcher die übertragenen Breitbandsignale 47 auf eine Zwischenträgerfrequenz 51a, 51b heruntermischt. Die QPSK-Signale werden dann gefiltert 53 und mit dem vor Ort erzeugten QPSK-pseudozufälligen Code 35a, 35b gemischt 55a, 55b, welcher dem übertragenen Code entspricht. Nur die originalen Signalformen, welche durch denselben Code in dem Sender 19 gespreizt wurden, werden tatsächlich entspreizt. Andere werden an dem Empfänger 21 als Rauschen erscheinen. Die Daten 57a, 57b werden dann an einen Signalprozessor 59 weitergegeben, in dem die FEC-Dekodierung an den faltungskodierten Daten ausgeführt wird.
  • Die vorliegende Erfindung 61 führt die Dekodierung aus, indem ein leistungsstarker Mehrkanal-Mehrraten-Viterbi-Dekodierer 61, wie in 3a und 3b dargestellt, verwendet wird. Der Dekodierer 61 umfasst eine Schnittstelle 63 von dem digitalen Signalprozessor (DSP) zum Viterbi-Dekodierer, eine gemeinsame Euklidische Distanzberechnungsmaschine 65, eine Vielzahl von Addiere-Vergleiche-Wähle-(ACS)-Kanälen 67a, 67b, 67c, 67d, eine Zustandsmetrikspeicheranordnung 69, einen ACS-Sequenzer 71, eine Rückverfolgungsspeicheranordnung 73, einen Rückverfolgungsprozessor 75 und eine Dekodierer-zu-System-Schnittstelle 77. Das System, wie es in 3a und 3b dargestellt ist, kann diskret zusammengestellt oder als eine leistungsstarke, anwendungsspezifische integrierte Schaltung (ASIC) 79 implementiert werden.
  • Bei der bevorzugten Ausführungsform kann irgendeiner der vier Kanäle (0, 1, 2, 3) innerhalb des Dekodierers 61 eine Vielzahl von Datenraten verarbeiten: 8 kbit/s, 16 kbit/s, 32 kbit/s oder 64 kbit/s. Andere Datenraten können bei alternativen Ausführungsformen verwendet werden. Die niedrigeren Datenraten werden erreicht, indem eine Zeit-Diversity-Kombinierungsfunktion aktiviert wird, welche auf redundant empfangene Symbole wirkt. Dieses erhöht wirkungsvoll das SNR der in Zeit-Diversity empfangenen Signale. Bei denjenigen Symbolen in Rahmen, die Datenraten entsprechen, die niedriger als die höchste erwartete Datenrate sind, werden die Symboldaten wiederholt, um eine konstante Symbolrate für den Rahmen aufrechtzuerhalten.
  • Für die 64 kbit/s Datenrate wird 1 QPSK-Symbol alle 15,625 μs gesendet. Für die 32 kbit/s Datenrate wird das entsprechende QPSK-Symbol zweimal durch einen Kanal gesendet. Die Symbole werden weiterhin mit der Rate von 64 kbit/s gesendet, aber mit doppelter Redundanz, wodurch die Informationsrate praktisch auf 32 kbit/s abgesenkt wird. Für eine 16-kbit/s-Datenrate werden die entsprechenden QPSK-Symbole mit vierfacher Diversity durch den Kanal geschickt, für einen 8-kbit/s-Datenkanal mit achtfacher Diversity.
  • Mit Bezugnahme auf 3a und 3b, teilt sich der Mehrkanal-Dekodierer 61 gemeinsame Ressourcen, um die Siliziumfläche zu minimieren. Wie dargestellt, sind der Zustandsmetrikspeicher 69 und der Rückverfolgungsspeicher 73 statische Direktzugriffsspeicher (SRAMs) und werden gemeinsam für jeden Kanal verwendet. Die gemeinsame Euklidische Distanzberechnungsmaschine 65, welche die quadrierte Euklidische Distanz zwischen dem empfangenen QPSK-Symbol und den vier möglichen Konstellationspunkten in dem QPSK-Raum für alle vier Kanäle berechnet, erhöht den Wirkungsgrad zusätzlich.
  • Die Systemarchitektur, wie dargestellt, implementiert den Viterbi-Algorithmus und dekodiert die faltungskodierten Daten. Die Abzweig-Generatorpolynome, die einer Zwangslänge von K = 7 und einer Coderate von R = ½ entsprechen, sind G1 = 1718 (29) und G2 = 1338 (31). Es wird davon ausgegangen bei, dass andere Abzweig-Generatorpolynome in alternativen Ausführungsformen in Abhängigkeit von unterschiedlichen Zwangslängen und Ratencodes verwendet werden können. Beispielsweise sind bei einer Zwangslänge von K = 9 und einer Coderate von R = ½ die Abzweig-Generatorpolynome G1 = 7538 und 5618. Die Verwendung von Abzweig-Generatorpolynomen ist in der Telekommunikationstechnik wohlbekannt und wird im FEC-Kodierer 27 verwendet.
  • In 4 ist eine globale Systemarchitektur dargestellt. Ein Host-Mikrocontroller 81 programmiert ein Zeitablauf- und Steuermodul (TCM) 83, das auf der ASIC 79 angeordnet ist, über Datenleitungen 85, Adressenleitungen 87 und Schreibimpuls 89 des Mikrocontrollers. Der Mikrocontroller 81 bestimmt aus dem übertragenen Rahmen den Zeit-Diversity-Faktor für einen gegebenen Kanal. Die Diversity-Kombinierung wird durch selektives Belegen und Freigeben der Diversity-Kombinierungssignale 91a, 91b, 91c, 91d jeweils für die Kanäle 0 bis 3 gesteuert. Ein Datenausgang 93 verlässt einen Host-DSP 95 und befördert die I- und Q-Signale für alle vier Kanäle zu der Viterbi-Dekodierer-Schnittstelle 63. Die Freigabesignal-97 und Adressenleitungen 99 des Host-DSP 95 sind ebenfalls mit der Viterbi-Dekodierer-Schnittstelle 63 gekoppelt. Der Host-Mikrocontroller 81 steuert jedes Diversity-Kombinierungssignal 91a, 91b, 91c, 91d. Der Host-DSP 95 steuert die individuellen Kanaldaten 93 zu der Dekodierer-Schnittstelle 63.
  • Das TCM 83 akzeptiert ein extern abgeleitetes Hochfrequenz-Referenzsignal 103 für den gesamten Systemzeitablauf. Das TCM 83 verwendet das Referenzsignal 103 und leitet einen Hochfrequenzspeicherabzug 105 und Signale des Viterbi- Taktgebers 107 ab. Das TCM 83 produziert ebenfalls eine globale Dekodiererrücksetzung 109.
  • Die Datenrate von einem bestimmten Kanal wird durch den Mikrocontroller 81 abgesenkt, indem das entsprechende Diversity-Kombinierungssignal 91a, 91b, 91c, 91d freigegeben wird. Für eine 32-kbit/s-Datenrate werden zwei benachbarte Symbole kombiniert; für eine 16-kbit/s-Datenrate werden vier Symbole kombiniert; und für eine 8-kbit/s-Datenrate werden acht Symbole kombiniert.
  • Bei der bevorzugten Ausführungsform wird Zeit-Diversity verwendet, um die Mehrratendaten zu verarbeiten. Bei einer 64-kbit/s-Datenrate wird jedes einzelne übertragene Bit verwendet. Jedoch wird bei der niedrigsten Datenrate, 8 kbit/s, jedes Bit mit einem Faktor acht vervielfacht. Wenn mit der niedrigsten Datenrate verarbeitet wird, werden die redundanten Symbole einfach zusammenaddiert. Wie schon beim Stand der Technik diskutiert, wird jedes Mal, wenn ein Symbol durch einen entsprechenden Kanal gesendet wird, eine gewisse Verstärkungs- und Rauschgröße empfangen. Demzufolge, wenn dasselbe Signal zweimal durch den Kanal gesendet wird, hat sich das SNR praktisch verdoppelt. Der Grund dafür ist, dass die redundanten Symbole kohärent addiert werden, wohingegen zufällig eingeführtes Rauschen nicht kohärent addiert wird. Von der höchsten Datenrate, 64 kbit/s, zu der niedrigsten, 8 kbit/s, wird die Signalverstärkung praktisch mit einem Faktor Acht vervielfacht.
  • Wenn die Datenbitrate abgesenkt wird und Zeit-Diversity verwendet wird, kann die Signalübertragungsleistung entsprechend abgesenkt werden, weil die Verstärkung zurückgewonnen wird, wenn die verschiedenartigen Symbole zusammengestellt werden. Die Verwendung von Diversity-kombinierung führt zu niedrigeren Datenraten, ohne dass die unter niedrigeren SWRs nachteiligen Auswirkungen leiden.
  • Für den maximalen Datendurchsatz von 64 kbit/s muss die Diversity-Kombinierungsfunktion abgeschaltet sein. Dies wird implementiert, indem das Diversity-Kombinierungssignal 91a, 91b, 91c, 91d für diesen bestimmten Kanal hoch gehalten wird. Wenn der Mehrkanal-Dekodierer 61 bei niedrigeren Datenraten betrieben wird, steuert das Diversity-Kombinierungssignal 91a, 91b, 91c, 91d, welche benachbarten Symbole kombiniert werden, wenn der Dekodierer eingeschaltet und wenn die Schnittstelle 63 für einen neuen Satz von Symbolen freigegeben ist.
  • Die Dekodierer-Schnittstelle 63 akzeptiert, wie in 5 dargestellt, 8-Bit-Zweierkomplement-I- und Q-Abtastwerte über den Datenbus 93 vom Host-DSP 95. Die Daten vom Host-DSP 95 werden über den Datenbus 93 in einen Adressendekodierer 111 eingegeben. Der Datenbus 93 ist ein paralleler Eingangsbus, jedoch kommen die Daten sequentiell zwischen allen vier Kanälen an. Die Daten werden dann in die individuellen, Inphase- und Quadratur-Komponenten für jeden Kanal getrennt und zu jedem Sättigungs-Integrator und der Speicherabzugsschaltung 113I, 113Q, 115I, 115Q, 117I, 117Q, 119I, 119Q über die Leitungen 121I, 121Q, 123I, 123Q, 125I, 125Q, 127I, 127Q, jeweils für die Kanäle 0 bis 3, ausgegeben. Die Schnittstelle 63 umfasst 8-Bit-Akkumulatoren, die Sättigungslogik aufweisen. Der maximale positive Sättigungswert ist 0 × 7f16 und der maximale negative Sättigungswert ist 0 × 8016.
  • Innerhalb der Viterbi-Dekodierer-Schnittstelle 63 wird die Zeit-Diversity-Kombinierung ausgeführt, indem binäre Zweierkomplement-Operationen verwendet werden. Alle der redundanten I- und Q-Abtastwerte werden addiert, wenn sie bei den niedrigeren Datenraten sind. Auf ähnliche Weise werden Sättigungsaddierglieder verwendet, um einen Zeichenwechsel auszuschalten, wenn ein Überlauf besteht. Anstatt dass die Diversity-Kombinierungsfunktion in einem separaten DSP-IC gespeichert ist, wurde dieses Kundenmerkmal in die ASIC eingebunden. Nachdem die Diversity-kombinierungsfunktion durchgeführt wurde, werden die Ergebnisse auf den Leitungen 129I, 129Q, 131I, 131Q, 133I, 133Q, 135I, 135Q, jeweils für die Kanäle 0 bis 3 ausgegeben. Die Sättigungs-Integrator-Speicherabzugsschaltungen steuern ebenfalls, dass die Euklidische Distanzberechnungsmaschine 65 die 137a, 137b, 137c und 137d jeweils für die Kanäle 0 bis 3 aktiviert.
  • Wieder unter Bezugnahme auf 3a und 3b sind alle internen Prozessoren des Mehrkanal-Dekodierers 61 auf den Viterbi-Taktgeber 107 synchronisiert. Der Host-DSP 95 ist durch seinen eigenen asynchronen (nicht dargestellten) Taktgeber getaktet. Der DSP-Taktgeber und das Speicherabzugssignal 105 werden auf den Viterbi-Taktgeber 107 zurücksynchronisiert. Der Dekodierer 61 erfordert, dass der Viterbi-Taktgeber 107 geringfügig schneller sein muss als das Speicherabzugssignal 105.
  • Alle Kanäle sind von der Dekodierer-Schnittstelle 63 zu der Euklidischen Distanzberechnungsmaschine 65 auf individuellen I- und Q- und Freigabe-Leitungen gekoppelt, wie in 4 dargestellt. Mit Bezugnahme auf 3a berechnet die Euklidische Distanzberechnungsmaschine 65 die vier quadratischen Euklidischen Distanzen zwischen jedem empfangenen I- und Q-Symbol und den vier möglichen QPSK-Konstellationspunkten. Eine gemeinsame Maschine berechnet die Distanzen für jeden Kanal nur, wenn sie von ihrem entsprechenden Kanal aktiviert wird.
  • Wie in 6 dargestellt, vergleicht die Euklidische Distanzberechnungsmaschine 65 alle pro Kanal empfangenen Symbole p, indem sie sie auf einer QPSK-Konstellation x00, x01, x10, x11 abbildet. Es ist notwendig, auf Grund von Verfälschung während der Übertragung 47 durch Rauschen und Verzerrung, jeden empfangenen Punkt p zu untersuchen, ob Mehrwege- oder Funkfrequenz. Die Geometriemaschine 65 berechnet aus dem empfangenen Symbol p die vier Distanzen d00, d01, d10, d11 und wählt die kürzeste Distanz d00.
  • Der verwendete Freigabemechanismus basiert auf der übertragenen Datenrate für einen bestimmten Kanal. Eine Verstärkung des gesamten Verarbeitungswirkungsgrads wird erreicht, da die Berechnungen in der Euklidischen Distanzberechnungsmaschine 65 nur durchgeführt werden, wenn ein neues I- und Q-Symbol zu ihr freigegeben und die Geometriemaschine 65 ordentlich freigegeben worden ist. Der Wirkungsgrad wird gesteigert, da keine unnötigen Berechnungen gemacht werden, wenn niedrigere Datenraten verarbeitet werden.
  • Wieder unter Bezugnahme auf 3a und 3b werden, nachdem die Euklidischen Distanzen berechnet worden sind, diskrete 12-Bit-Ausgänge 139a, 139b, 139c, 139d für jeden Kanal zusammen mit den zugeordneten Freigabesignalen 141a, 141b, 141c, 141d seriell an die vier diskreten ACS-Schaltungen 67a, 67b, 67c, 67d gekoppelt, wo die Euklidischen Distanzen auf einem Gitter abgebildet werden, das auf dem Kodierer beruht. Die Verwendung eines Gittermusters zum Dekodieren FEC-faltungskodierter Daten ist denjenigen, die mit der Technik vertraut sind, wohlbekannt.
  • Bei der vorliegenden Erfindung wird jedes Symbol normalisiert und die kürzeste Gitterdistanz berechnet, wobei Sättigungslogik verwendet wird. Vorausgehende Zustandsmetriken werden zu jedem neuen empfangenen, übertragenen Symbol addiert. Jeder individuelle Datenpunkt pro Kanal entwickelt und aktualisiert das Gitter. Die Zustandsmetrikdaten werden aus dem Zustandsmetrikspeicher 69 gelesen. Die ACS-Schaltungen 67a, 67b, 67c, 67d implementieren den Viterbi-Algorithmus. Der Maximum-Likelihood-Dekodierer verlässt sich auf das Gitter, welches eine unendliche Nachbildung eines Zustandsdiagramms ist. Irgendein Codewort eines Faltungscodes entspricht den Symbolen entlang eines Pfades auf dem Gitter. Bei jedem Zustand und auf jeder Stufe des Gitters ist eine ACS-Operation involviert. Um einen Dekodierer, der auf dem Viterbi-Algorithmus basiert, zu implementieren, ist Speicher für zwei verschiedene Datensätze erforderlich. Der erste Speicher ist für den Pfadzustand oder den Metrikspeicher 69, der für jede nachfolgende Stufe des Gitters aktualisiert wird. Der zweite Datensatz besteht aus den Auswahlen an jedem Knoten oder in jedem Zustand in dem Gitter, Pfadspeicher 73 genannt.
  • Beim Stand der Technik würde jeder entsprechende Dekodierer oder jede ACS-Schaltung individuelle Speicher für die zwei Datensätze erfordern. Bei der vorliegenden Erfindung sind sowohl die Anordnungen des Metrikspeichers 69 als auch des Pfadspeichers 73 in einem gemeinsamen Speicher für jeden Kanal auf neuartige Weise zusammengelegt, um die Größe der Siliziumfläche wesentlich zu reduzieren. Auch werden weiterhin gemeinsame Adressierung und Datentransfer kombiniert, wodurch der Wirkungsgrad erhöht wird. Die Zustandsmetrikdaten werden auf 143a, 143b, 143c, 143d in den Zustandsmetrikspeicher 69 geschrieben und über 145a, 145b, 145c, 145d aus diesem gelesen.
  • Es gibt zwei mögliche Gitterpfade, die jedem Zustand enden. Eine Beschneidungsoperation wird in den ACS-Schaltungen 67a, 67b, 67c, 67d durchgeführt, wo die beste Metrik in einem gegebenen Zustand endet. Die beste Metrik wird bestimmt, indem die kleinste akkumulierte Gitterdistanz gewählt wird. Der gewählte Pfad, der obere oder der untere, wird jeweils durch eine 0 oder eine 1 dargestellt. Diese Information wird in den Rückverfolgungsspeicher 73 auf den Leitungen 149a, 149b, 149c, 149d geschrieben.
  • Das Gitter wird über viele empfangene Symbole zusammengestellt. Die bevorzugte Ausführungsform erfordert 35 Symbole in diskreter Zeit und wird bei dem Empfang jedes getakteten Symbols aktualisiert. Nachdem 35 Symbole akkumuliert worden sind, findet eine Festlegung den Gitterpfad, der den kleinsten Fehler aufweist. Dieses Verfahren zum Dekodieren bestimmt, welches QPSK-Symbol gesendet wurde. Die Gitterstruktur führt Redundanzen ein und akkumuliert die zurückliegenden Ereignisse.
  • Eine ACS-Schaltung 67a für Kanal 0 wird in 7 dargestellt. Jedes neue Symbol, das einen QPSK-Konstellationspunkt repräsentiert, wird eingegeben 139a. Da jeder Knoten in dem Gitter zwei eingehende und ausgehende Pfade aufweist, werden die Werte auf der Basis des gegenwärtigen Zustandes in dem Gitter und dessen, was kodiert worden ist, gespalten und ausgewählt. Jeder Konstellationswert wird in separate 4-Eingang-Multiplexer 189u, 189l eingegeben. Der Ausgang 191u, 191l jedes Multiplexers 189u, 189l beruht auf dem gegenwärtigen Zustand in dem Gitter und dem Kodierer. Diese Entscheidung 153a wird in dem ACS-Sequenzer 71 erzeugt, welcher später in der Beschreibung erläutert wird. Die Zustandsmetrik 145a wird aus Speicher 69 gelesen und ähnlich sowohl für den oberen als auch den unteren Pfad aufgespalten und in gespiegelte bistabile 8-Bit-Kippschaltungen 193u, 193l eingegeben. Die bistabilen Kippschaltungen 193u, 193l geben in Sättigungssubtrahierer 197u, 197l aus, mit der vorhergehenden besten Metrik 201 und kombiniert mit dem neuen Symbolwert 191u, 191l mit Sättigungssubtrahierern 199u, 199l. Sowohl der obere als auch der untere Pfad eines jeden Gitterknotens wird mit einer 8-Bit-Wertevergleichsschaltung 203 verglichen. Jeder ACS-Kanal verarbeitet 64 Gitterzustände für jedes bestimmte Symbol. Jeder Pfad wird untersucht, um zu bestimmen, welche Distanz oder Trajektorie die kürzeste ist. Sowohl der obere als auch der untere Pfad 205u, 205l werden in einen 2-Eingang-Multiplexer 207 eingegeben, wo die kürzeste Distanz oder Zustandsmetrik 145a gewählt und in dem Speicher 209 gespeichert wird. Dieser Wert wird mit dem nächsten Symboleingang für Normalisation verwendet. Die vorliegende Erfindung normalisiert alle Eingänge für jede Operation nach.
  • Beim Stand der Technik wird Normalisierung typischerweise auf einer Blockbasis durchgeführt oder nachdem viele Symbole mit Information verarbeitet worden sind. Jedoch wird die Leistung durch Nachnormalisierung, nachdem jede Metrik gewählt worden ist, bedeutend erhöht. Nachnormalisierung erfordert Sättigungslogik, weil der Normalisierungsprozess zu Überlauf führen kann. Wenn keine Sättigungslogik angewendet wird, kann die Zählmenge letztendlich überlaufen, und die binäre Zählmenge kann völlig von dem gewünschten Wert abweichen. Das System kann nicht entscheiden, ob der Wert realistisch ist. Wenn Sättigungslogik angewendet wird, wird der Wert am Ende stabil bleiben.
  • Weil jeder Knoten auf dem Gitter zwei Pfade aufweist, die an ihm enden, und zwei Pfade, die von ihm ausgehen, muss der Prozess ständig beschneiden. Das Gitter repräsentiert die Metriken für zwei Pfade, wo ein Pfad durch eine Entscheidung, welche auf der kürzesten Distanz beruht, gewählt wird. Der bessere Pfad oder die beste Metrik wird in dem Zustandsmetrikspeicher 69 gespeichert und die Entscheidung, oder das Pfadbit, wird in dem Rückverfolgungsspeicher 149a, 149b, 149c, 149d gespeichert.
  • Zu Beginn eines Symbols wird jeder ACS-Kanal 67a, 67b, 67c, 67d ein Dekodiererstartsignal 141a, 141b, 141c, 141d empfangen, um den Kanal zu initialisieren. Wie vorstehend beschrieben, wird der Überlebende der Beschneidungsoperation, der in dem Speicher gespeichert wurde, mit dem ersten verglichen, wenn der zweite Überlebende kleiner ist als der erste, dann wird dieser bestimmte Wert als die beste Metrik ausgewählt. Diese Operation ist für die verbleibenden 63 Ausgaben des Gitters ähnlich.
  • Die Ereignisabhängigkeit von Symbolen, wenn sie in einen Viterbi-Dekodierer eingehen, akkumuliert Energie von den vielen Symbolen, wobei sich eine beachtliche Verstärkung ergibt. Die Verstärkung der Energie beruht auf der Integration der Energie von über 35 Symbolen, was praktisch die Bandbreite einengt.
  • Das Sequenzieren der Operation von ACS 67a, 67b, 67c, 67d wird durch den ACS-Sequenzer 71 über die Leitungen 151a, 151b, 151c, 151d gesteuert. Ein einziger ACS-Sequenzer 71 wird verwendet, um die individuellen ACS-Schaltungen 67a, 67b, 67c, 67d für jeden Kanal, der dekodiert wird, zu steuern. Wenn ein bestimmter Kanal nicht aktiviert worden ist 141a, 141b, 141c, 141d, entweder wegen einer niedrigeren Datenrate oder wenn der Kanal leer ist, werden die Schreiboperationen zu den Speichern von Zustandsmetrik 69 und Pfad 73 für diesen bestimmten Kanal über die Leitungen 153a, 153b, 153c, 153d gesperrt.
  • Der ACS-Sequenzer 71 steuert die gesamte Operation der vorliegenden Erfindung. Die Funktion des ACS-Sequenzers 71 ist ähnlich derjenigen eines Automaten. Anstatt jedoch eine programmierfähige Vorrichtung zu verwenden und ausführbaren Code herunterzuladen, wie normalerweise im Stand der Technik, ist der ACS-Sequenzer 71 strikt als Hardware ausgeführt, die einen unerwarteten Wirkungsgrad erzielt.
  • Der Betrieb des ACS-Sequenzers 71 ist demjenigen einer Zählschaltung, die von einem Zähler gesteuert wird, ähnlich und steuert die vier unabhängigen ACS-Schaltungen 67a, 67b, 67c, 67d parallel mit einem gemeinsamen Speicher 69. Der ACS-Sequenzer 71 funktioniert ebenfalls als ein Bitscheibenanordnungsprozessor. Ein Ablaufdiagramm für den ACS-Sequenzer 71 ist in 8a und 8b dargestellt. Nach der Initialisierung (Schritt 401) erstellt der ACS-Sequenzer 71 eine Basiszählung, die gleich Null (Schritt 403) ist. Da ein Sequenzer im Wesentlichen eine Zählschaltung ist, ist ein Rückpfad für das Heraufzählen (Schritt 415) erforderlich. Eine Entscheidung (Schritt 405) bestimmt, abhängig vom Inkrementieren von 0 bis 127, ob der Prozess vollständig ist, die mit den 64 Lese- und 64 Schreiboperationen des Gitters auf Gleichheit geprüft werden. Der Sequenzer wird mit der Viterbi-Rate getaktet, die die Adressierung (Schritte 411, 419, 425, 429) und das Sequenzieren der Adressen und das Sequenzieren der Operationen des Lesens (Schritte 413, 421) und des Schreibens (Schritt 427, 431) steuert. Der ACS-Sequenzer 71 verarbeitet jeden ACS-Kanal 67a, 67b, 67c, 67d parallel mit einem gemeinsamen Speicher 69.
  • Die Zustandsmetrikspeicheranordnung 69 ist 64 Bits breit und in einem Ping-Segment und einem Pong-Segment angeordnet. Die ersten 32 Bits sind das Ping- und die zweiten 32 Bits des 64-Bitworts sind das Pong-Segment. Jedes 8-Bit-Segment des 32-Bitsegments repräsentiert einen anderen Kanal (0, 1, 2, 3). Wenn der ACS-Sequenzer 71 aus dem Pong-Segment liest, wird er in Sequenz in das Ping-Segment schreiben. Der Sequenzer wird aus dem Ping lesen und in das Pong schreiben und beim nächsten Symbol aus dem Pong lesen und in das Ping schreiben. Dieses Verfahren des geteilten Speicherzugriffs ist dem Fachmann bekannt.
  • Der ACS-Sequenzer 71 wickelt vier Kanäle ab, die Daten mit verschiedenen Datenraten verarbeiten können, so dass der Sequenzer 71 gerade aus dem Ping für Kanal 0 liest, aus dem Pong für Kanal 1 liest, weder Lesen noch Schreiben für Kanal 2 ausführt und aus dem Ping für Kanal 3 liest. Dieses Verfahren des Speicherzugriffs ist extrem flexibel. Dieses wird für jeden Kanal durchgeführt, der ein zugeordnetes Startsignal 141a, 141b, 141c, 141d aufweist.
  • Der ACS-Sequenzer 71 greift auf die Zustandsmetrikspeicheranordnung 69 und jede ACS-Schaltung 67a, 67b, 67c, 67d zu, indem die Basiszählung (Schritt 405) überprüft und die zwei niedrigstwertigen Bits (LSB) der Basiszählung (Schritt 407) überwacht werden. Die ersten zwei Zustände der Sequenz sind immer Operationen des Lesens (Schritt 413, 421). Die letzten zwei Zustände der Sequenz sind Operationen des Schreibens (Schritt 427, 431). Die Schreiboperationen übertragen die Ergebnisse zu dem Zustandsmetrikspeicher 69.
  • Wie in 9 dargestellt, wird die Implementierung des ACS-Sequenzers 71 mit minimaler Hardware durchgeführt. Zählschaltung 211 stellt mit den bistabilen Kippschaltungen 213a, 213b, 213c, 213d, 215a, 215b, 215c, 215d die Basiszählung zur Verfügung, wobei die Verschiebeoperationen und das Schreiben und das Lesen für die Datenkanäle mit den vier variablen Raten bereitgestellt werden. Ein 4-Eingang-Multiplexer 217 greift auf die Zustandsmetrikadressen für alle Kanäle zu.
  • Die Zustandsmetrikspeicheranordnung 69 hat ausreichend Speicher für 64 Zustandsmetriken pro Kanal. Zur Erleichterung des Lesens aus 145a, 145b, 145c, 145d der und des Schreibens in 143a, 143b, 143c, 143d die Zustandsmetrikspeicheranordnung 69 erleichtert die Ping-Pong-Organisation des Speichers beide Operationen während der individuellen ACS-Operationen, die durch den ACS-Sequenzer 71 über die Ping-Pong-Leitung 155 und den Adressenbus 157 koordiniert werden. Die gesamte Kapazität der Zustandsmetrikspeicher-SRAM-Anordnung 69 ist 4.096 Bits.
  • Die Rückverfolgungsspeicheranordnung 73 wird dafür verwendet aufzuzeichnen, welcher Pfad der Überlebende in jeden Zustand für jedes dekodierte Signal war. Da ein Gitterdiagramm in der Theorie eine unendliche Nachbildung eines Zustandsdiagramms ist, wäre eine unendliche Speichermenge notwendig, um alle Informationen für jedes übertragene Symbol aufzuzeichnen. Jedoch wird die Rückverfolgung der Ereignisse nur für 35 aufeinanderfolgende Symbole beibehalten und durch die ACS-Schaltungen 67a, 67b, 67c, 67d über die Leitungen 149a, 149b, 149c, 149d überschrieben. Der Rückverfolgungsspeicher 73 erfordert 8.960 Bits an SRAM, organisiert in einer 32-mal-280-Anordnung. Die Rückverfolgung ist 35 Symbole tief, und demzufolge hat, bevor ein dekodiertes Symbol ausgegeben wird, eine Akkumulierung von 35 Symbolen an Information stattgefunden. Das Eingangssymbol, das einen gegebenen Ausgang produziert, fand zeitmäßig 35 Symbole früher statt.
  • Der Rückverfolgungsspeicher 73 ist als ein Kreispuffer angeordnet. Jedes Mal, wenn ein neues Symbol in den Rückverfolgungsspeicher 73 geschrieben wird, werden alle vorher gespeicherten Symbole verschoben, wobei der älteste Symbolwert verworfen wird. Der erforderliche Speicher beruht auf der Regel von fünfmal die Zwangslänge, dadurch sind 35 Symbole an Speicherwert für eine K = 7-Zwangslänge erforderlich.
  • Die Rückverfolgungsoperation ist in 10 dargestellt. Der Rückverfolgungsprozessor 75 ist eine rekursive Operation ähnlich derjenigen des ACS-Prozessors 71 insofern, als eine Zählschaltung initialisiert (Schritt 501) und eingestellt (Schritt 503) wird, wobei ein Wert von 34 zugeordnet wird, wie vorstehend erläutert (fünfmal die Zwangslänge). Die lokale beste Metrik wird dann dem besten Metrikwert zugeordnet (Schritt 505). Eine Entscheidung, ob die Rückverfolgungszählung gleich 0 (Schritt 507) ist, muss getroffen werden. Wenn die Rückverfolgungszählung gleich 0 ist, ist der Prozess abgeschlossen (Schritt 531) und die Trajektorie bekannt, die am wahrscheinlichsten war, und der Dekodierer gibt ein Bit (Schritt 529) aus. Wenn die Rückverfolgungszählung nicht gleich 0 ist, wird die Operation noch einmal durchgeführt, um zu der besten Metrik zu gelangen.
  • Da vier verschiedene Datenraten verarbeitet werden können, wird der Rückverfolgungsspeicher 73 entsprechend gebraucht, z.B. wenn Kanal 0 mit 64 kbit/s läuft, wäre der Rückverfolgungsspeicher nach 35 Symbolen auf Kanal 0 für diesen bestimmten Kanal gefüllt, wenn jedoch Kanal 2 mit der halben Rate läuft, z.B. 32 kbit/s, würde Kanal 2 den Rückverfolgungsspeicher 73 nur zur Hälfte füllen.
  • Der Rückverfolgungsspeicher 73 wird der Reihe nach zugewiesen, weil ein Kanal gegenüber einem anderen Kanal sehr verzögert sein kann. Der Rückverfolgungsprozess 75 ist für jeden Kanal einmalig, weil die Daten, die an dem Sender kodiert wurden, einzigartig sind. Demzufolge wird die Rückverfolgungsoperation für jeden der vier Kanäle einzigartig sein. Darüber hinaus können die Datenraten zwischen den vier Kanälen verschieden sein.
  • Der Rückverfolgungsprozess ist seriell und der Prozessor 75 funktioniert sequentiell für Kanal 0, dann Kanal 1, dann Kanal 2 und schließlich Kanal 3, weil sie keine gemeinsamen Adressen haben. Die Speicherung der Rückverfolgungsinformationen ist adressenabhängig, was erfordert, dass jeder Prozess für jeden Kanal zeitmäßig abgetrennt wird. Wenn alle vier Kanäle mit derselben maximalen Rate übertragen werden, würde der Speicher dennoch eine Abtrennung erfordern, weil die Daten, die an dem Sender kodiert wurden, ein anderes Gitter oder eine andere Rückverfolgungstrajektorie zwischen jedem der vier Kanäle erzeugt haben. Ihre Verarbeitung mit verschiedenen Raten verkompliziert den Prozess zusätzlich.
  • Wenn mit Bezugnahme auf das Ablaufdiagramm in 10 die Rückverfolgungszählung nicht gleich 0 (Schritt 507) ist, muss der Prozess für die Trajektorie, die am wahrscheinlichsten ist, zeitmäßig zurückverfolgt werden. Der Prozessor liest die 9-Bit-Adresse, welche ein Feld, eine Byteadresse, und eine Bitadresse umfasst. Dieses wird durchgeführt, indem die Adresse um 4 Bits (Schritt 509), dann um 1 Bit (Schritt 511) nach rechts verschoben wird und die 3 niedrigstwertigen Bits (Schritt 513) ausgeblendet werden. Die lokale beste Metrik ist eine 7-Bit-Zahl. Die 4 höchstwertigen Bits werden zu der Byteadresse, die nächsten 3 Bits werden die Bitnummer, und die 4 niedrigstwertigen Bits werden ignoriert. Das Pfadbit wird untersucht (Schritt 515), um herauszufinden, ob es eine 1 oder eine 0 ist. Wenn das Pfadbit eine 0 ist, wird der vorhergehende lokale beste Metrikwert um 1 nach rechts verschoben, wodurch er praktisch durch 2 geteilt wird. Wenn das Pfadbit gleich 0 ist, wird die lokale beste Metrik um 1 nach rechts verschoben (Schritt 517). Wenn das Pfadbit nicht gleich 0 ist, wird 64 zu der lokalen besten Metrik addiert, wodurch das Ergebnis zwischen einem Wert von einer 32 und 63 angeordnet wird. Der Prozessor 75 verfolgt laufend (Schritte 521, 523, 525, 527) alle Trajektorien und wird wiederholt, bis das kodierte Bit gefunden ist.
  • Der Prozessor findet die Trajektorie, die in allen 64 Zuständen mit der minimalen Energie endet, wobei der minimale Fehler angezeigt wird. Der Rückverfolgungsspeicher speichert die 35 Trajektorien, die allen 64 Zuständen zugeordnet sind, mit einem Bit, das anzeigt, ob die Trajektorie von oben oder von unten her kommt, weil es nur zwei Pfade in einen gegebenen Zustand gibt. Demzufolge zeigt eine 0 oder 1 den Pfad an. Der zugeordnete Bitpfad für die lokale beste Metrik wird zusammen mit der Byteadresse und der Bitadresse gespeichert. Da alle Informationen in Bytes gespeichert werden, wird eine Auflösung durchgeführt, weil es 64 Zustände mit 8 Bytes gibt, mit 8 Bits pro Byte. Weil es 8 Bits innerhalb des ersten Byte gibt, würden die 8 Bits Zustände von 0 bis 7 anzeigen. Dieses zeigt an, welche lokale beste Metrik auf diese Zustände deutet. Das nächste Byte würde für Zustände von 8 bis 15 sein und so weiter bis zu dem 63sten Zustand.
  • In dem Prozess wird immer das niedrigstwertige Bit von der 7-Bit-Zahl verworfen. Die 3 höchstwertigen Bits, wie schon vorher erläutert, deuten auf eine bestimmte Byteadresse. Die 3 Bits, die auf die 3 höchstwertigen Bits folgen, deuten auf ein bestimmtes Bit in der Byteadresse. Das ist das Pfadbit. Das Pfadbit wird dazu verwendet, die lokale beste Metrik zu modifizieren.
  • Der Rückverfolgungsprozess arbeitet 512-mal schneller als die maximale Durchsatzrate. Die Steuerung des Adressenbusses wird zwischen dem ACS-Sequenzer 71 und dem Rückverfolgungsprozessor 75 koordiniert. Während der ACS-Phase der Dekodiereroperation, steuert der ACS-Sequenzer über die Leitungen 151a, 151b, 151c, 151d den Adressenbus 159 sowohl des Zustandsmetrikspeichers als auch des Rückverfolgungsspeichers. Wenn die ACS-Operation beendet ist, wird die Steuerung des Adressenbusses des Rückverfolgungsspeichers an den Rückverfolgungsprozessor 75 übergeben.
  • Der Rückverfolgungsspeicher 73 wird in einer Vorgehensweise verwendet, die „Rückverkettung" oder Rückverfolgung genannt wird, wobei an dem letzten Knotenpunkt in dem Gitter angefangen und der Entscheidungspfad rückwärts, von der letzten Entscheidung bis zu der ersten, zurückverfolgt wird. In diesem Prozess wird das dekodierte Symbol, das als ein Ausgang 161a, 161b, 161c, 161d freigegeben werden soll, bestimmt. Der Rückverfolgungsprozess für die vier Kanäle kann nicht parallel innerhalb eines gemeinsamen SRAM-Blocks 69, 75 durchgeführt werden, weil erwartet wird, dass die Adressierungscharakteristiken des Rückverfolgungsprozesses für die separaten Datenkanäle unabhängig sind. Es ist notwendig, den Rückverfolgungsprozess für jeden individuellen Kanal zu sequenzieren. Wenn ein Kanal nicht für ein bestimmtes Symbolintervall freigegeben worden ist, wird der Rückverfolgungsprozess für diesen Kanal übersprungen. Der Prozess erfordert ein Minimum von 35 Taktzyklen, um den Rückverfolgungsprozess für einen gegebenen Kanal durchzuführen.
  • Die vorliegende Erfindung weist ebenfalls ein Merkmal für die Leistungsfähigkeitsdiagnose auf, mit dem die Bitfehlerrate berechnet wird. Die Euklidische Distanzmaschine 65 gibt eine feste Entscheidung 163 in den Rückverfolgungsprozessor 75 aus. Die feste Entscheidung wird in eine 35-Symbole-FIFO-(Warteschlange) gepuffert und dann mit dem rückfaltungskodierten Symbolausgang 161a, 161b, 161c, 161d verglichen, welcher durch den Rückverfol gungsprozessor 75 freigegeben wurde. Die Bitunterschiede zwischen den zweien werden akkumuliert. Nach 256 Symbolen wird der Akkumulator in dem Rückverfolgungsprozessor 75 in einen Bitfehlerraten-Ausgangsschaltkreis 77 geleert 165, der in 7 dargestellt ist. Wenn ein neuer akkumulierter 8-Bit Bitfehlerratenwert für den Host-Mikroprozessor zum Lesen bereitsteht, wird das BER-Bereitschaftssignal 167 für diesen bestimmten Kanal aktiviert.
  • Wie in dem Ablaufdiagramm in 11 dargestellt, wird der Diagnoseprozess für Bitfehlerraten beschrieben. Für den Prozess der Bitfehlerratenberechnung ist ein Senderbereich und ein Empfängerbereich erforderlich. Daten werden in den Sender eingegeben (Schritt 601) und einer Vorwärts-Fehlerkorrektur-Kodierung, QPSK-Modulation und Quadratursignalspreizung unterzogen. Das Signal wird nicht der Übertragung unterzogen, sondern es wird direkt in den Empfängerbereich eingegeben, in dem das Signal entspreizt wird. Die Ausgabe des Entspreizungsprozesses wird den Viterbi-Dekodierer umgehen (Schritt 603) und für 35 Symbole verzögert (Schritte 607, 609, 611), um dem Viterbi-Dekodierer zu ermöglichen, die Information zu dekodieren (Schritt 605). Die Daten, die der festen Entscheidung (nicht dekodiert) unterzogen wurden, werden mit der Ausgabe des Viterbi-Dekodierers verglichen. Dieses stellt einen Hinweis auf SNR- und Prozessorleistungsfähigkeit zur Verfügung.
  • Die Leistungsfähigkeit der vorliegenden Erfindung wird in 12 dargestellt. 12 zeigt ein Schaubild einer Bitfehlerraten-Wahrscheinlichkeit versus Signal/Rausch-Verhältnis, wobei nicht faltungskodierte Daten mit kodierten Daten verglichen werden. Zwei Ausführungsformen der Erfindung werden dargestellt. In der ersten Ausführungsform wird eine Zwangslänge von K = 7 verwendet. In einer alternativen Ausführungsform wird eine Zwangslänge von K = 9 verwendet. Wie aus dem Schaubild ersichtlich ist zeigt die Leistungsfähigkeit der nicht faltungskodierten Daten, wenn das Signal/Rausch-Verhältnis bis auf 5 steigt, eine Bitfehlerraten-Wahrscheinlichkeit von 0,05%. Bei demselben Signal/Rausch-Verhältnis, zeigen faltungskodierte Daten jedoch einen dramatischen Anstieg der Leistungsfähigkeit von über einem Bitfehler in einer Million. Das Schaubild zeigt ebenfalls eine Verbesserung über die Zwangslänge von 7, wenn in einer alternativen Ausführungsform eine Zwangslänge von 9 verwendet wird.
  • Anstatt einen Vierfach-Viterbi-Dekodierer zu zusammenzustellen, der vier Eingangskanäle aufweist, die jeweils zwei Paare I- und Q-Signale haben, wird eine Distanzberechnungsmaschine verwendet, um vier Kanäle zu durchzusetzen und 16 Distanzen auszugeben. Die 16 Distanzen werden dann mit ACS-Blöcken gekoppelt. Die Ausgaben des Euklidischen Distanzberechnungsblocks werden dann anteilsmäßig auf den individuellen ACS-Block auf einer Pro-Kanal-Basis aufgeteilt.
  • Anstatt vier diskrete ACS-Blöcke für jeden individuellen Kanal aufzuweisen, könnte bei einer alternativen Ausführungsform eine drastische Reduzierung mit einem linearen Anstieg der Taktgeschwindigkeit ausgestaltet werden. Das ACS-Merkmal, welches die Gitteroperation umfasst, kann auf zwei oder sogar auf eine ACS-Schaltung reduziert werden, indem der Dateneingang zusammen mit einem Anstieg der Taktgeschwindigkeit gemultiplext wird.
  • Während spezifische Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben worden sind, könnten viele Modifikationen und Variationen von dem Fachmann ausgeführt werden.

Claims (16)

  1. Verfahren zum Empfangen mehrerer Signale in einem gemeinsam genutzten Spektrum eines drahtlosen Spreizspektrums-Codemultiplex-Vielfachzugriffs-Kommunikationssystems, wobei das System die Signale unter der Verwendung einer Quadratur-Phasenumtastungs(QPSK)-Modulation übermittelt, wobei die Signale unterschiedliche Datenraten und die gleiche Übertragungsrate haben, wobei das Verfahren die folgenden Schritte aufweist: Empfangen über das gemeinsam genutzte Spektrum übertragener Signale; Demodulieren der empfangenen Signale zum Erzeugen eines phasengleichen Zwischenfrequenzsignals und eines Quadraturphasen-Zwischenfrequenzsignals; Entspreizen des phasengleichen und des Quadraturphasen-Zwischenfrequenzsignals mit einem dem jeweiligen empfangenen Signal zugeordneten Code zum Erzeugen eines entspreizten phasengleichen und eines entspreizten Quadraturphasen-Signals für jedes empfangene Signal; Kombinieren empfangener Symbole des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals für jedes empfangene Signal, dessen Datenrate unter der Übertragungsdatenrate ist, so dass nach dem Kombinieren das entspreizte phasengleiche und das entspreizte Quadraturphasen-Signal dieses empfangenen Signals die Datenrate dieses empfangenen Signals haben; wobei das Verfahren gekennzeichnet ist durch: Verarbeiten des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals jedes empfangenen Signals nach dem Kombinieren unter der Verwendung eines gemeinsamen Speichers (69, 73) zum Wiederherstellen von Daten für jedes empfangene Signal, wobei der eine gemeinsame Speicher (69, 73) sowohl metrische als auch Pfadspeicherfelder hat.
  2. Verfahren nach Anspruch 1, bei dem das Demodulieren unter der Verwendung eines phasengleichen und eines Quadraturphasen-Trägers durchgeführt wird.
  3. Verfahren nach Anspruch 1, bei dem das Entspreizen mit dem Code, der dem jeweiligen Kanalsignal zugeordnet ist, durch ein entsprechendes Mischen des phasengleichen und des Quadraturphasen-Zwischenfrequenzsignals mit einem phasengleichen und einem Quadraturphasen-Code geschieht, der dem jeweiligen Kanalsignal zugeordnet ist.
  4. Verfahren nach Anspruch 1, bei dem das Kombinieren empfangener Symbole für jedes Kanalsignal durch Kombinieren beieinander liegender Symbole des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals geschieht.
  5. Verfahren nach Anspruch 4, bei dem die beieinander liegenden Symbole durch Addieren der beieinander liegenden Symbole kombiniert werden.
  6. Verfahren nach Anspruch 1, bei dem die übertragungsdatenrate 64 kbit/s und die unterschiedlichen Raten 64 kbit/s, 16 kbit/s und 8 kbit/s sind.
  7. Verfahren nach Anspruch 1, bei dem das Datensignal eines jeden empfangenen Signals faltungscodiert wird und die gleichzeitige Verarbeitung eines jeden Kanals das gleichzeitige Decodieren des phasengleichen und des Quadraturphasen-Signals eines jeden Kanals durch eine Viterbi-Decoder umfasst.
  8. Verfahren nach Anspruch 1, bei dem die mehreren empfangenen Signale vier empfangene Signale sind.
  9. Empfänger zum Empfangen mehrerer Signale in einem gemeinsam genutzten Spektrum eines drahtlosen Spreizspektrums-Codemultiplex-Vielfachzugriffs-Kommunikationssystems, wobei das System die Signale unter der Verwendung einer Quadratur-Phasenumtastungs(QPSK)-Modulation übermittelt, wobei die Signale unterschiedliche Datenraten und die gleiche Übertragungsrate haben, wobei der Empfänger umfasst: eine Antenne (47) zum Empfangen über das gemeinsam genutzte Spektrum übertragener Signale; einen ersten phasengleichen und Quadraturphasen-Mischer (49a, 49b) zum Demodulieren der empfangenen Signale zum Erzeugen eines phasengleichen Zwischenfrequenzsignals und eines Quadraturphasen-Zwischenfrequenzsignals; einen zweiten phasengleichen und Quadraturphasen-Mischer (55a, 55b) für jedes empfangene Signal zum Mischen eines dem empfangenen Signal zugeordneten Codes mit dem phasengleichen und dem Quadraturphasen-Zwischenfrequenzsignal zum Erzeugen eines entspreizten phasengleichen und eines entspreizten Quadraturphasen-Signals für jedes empfangene Signal, eine Schnittstelle (63) für jedes empfangene Signal, dessen Datenrate unter der Übertragungsdatenrate ist, zum Kombinieren empfangener Symbole des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals, so dass nach dem Kombinieren das entspreizte phasengleiche und das entspreizte Quadraturphasen-Signal dieses empfangenen Signals die Datenrate dieses empfangenen Signals haben; wobei der Empfänger gekennzeichnet ist durch: einen Decoder (61) zum gleichzeitigen Verarbeiten des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals jedes empfangenen Signals nach dem Kombinieren unter der Verwendung eines gemeinsamen Speichers (69, 73) zum Wiederherstellen von Daten für jedes empfangene Signal, wobei der eine gemeinsame Speicher (69, 73) sowohl metrische als auch Pfadspeicherfelder hat.
  10. Empfänger nach Anspruch 9, bei dem der erste phasengleiche Mischer (49a) das empfangene Signal mit einem phasengleichen Träger und der erste Quadraturphasenmischer (49b) das empfangene Signal mit einem Quadraturphasenträger mischt.
  11. Empfänger nach Anspruch 9, bei dem für jedes empfangene Signal der zweite phasengleiche Mischer (55a) das phasengleiche Zwischenfrequenzsignal mit einem phasengleichen Code dieses empfangenen Signals und der zweite Quadraturphasenmischer (55b) das Quadraturphasen-Zwischenfrequenzsignal mit einem Quadraturphasencode dieses empfangenen Signals mischt.
  12. Empfänger nach Anspruch 9, bei dem die Schnittstelle (63) empfangene Symbole für jedes empfangene Signal durch Kombinieren beieinander liegender Symbole des entspreizten phasengleichen und des entspreizten Quadraturphasen-Signals kombiniert.
  13. Empfänger nach Anspruch 12, bei dem die beieinander liegenden Symbole durch Addieren der beieinander liegenden Symbole kombiniert werden.
  14. Empfänger nach Anspruch 9, bei dem die Übertragungsdatenrate 64 kbit/s und die unterschiedlichen Datenraten 64 kbit/s, 32 kbit/s, 16 kbit/s und 8 kbit/s sind.
  15. Empfänger nach Anspruch 9, bei dem das Datensignal eines jeden empfangenen Signals faltungscodiert wird und der Decoder (61) ein Viterbi-Decoder ist.
  16. Empfänger nach Anspruch 9, bei dem die mehreren empfangenen Signale vier empfangene Signale sind.
DE69825328T 1997-03-12 1998-03-04 Mehrkanaliger viterbi-dekoder Expired - Lifetime DE69825328T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4047797P 1997-03-12 1997-03-12
US40477P 1997-03-12
US871008 1997-06-06
US08/871,008 US6005898A (en) 1997-03-12 1997-06-06 Multichannel viterbi decoder

Publications (2)

Publication Number Publication Date
DE69825328D1 DE69825328D1 (de) 2004-09-02
DE69825328T2 true DE69825328T2 (de) 2005-08-18

Family

ID=26717094

Family Applications (7)

Application Number Title Priority Date Filing Date
DE69838922T Expired - Lifetime DE69838922T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69835177T Expired - Lifetime DE69835177T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69825328T Expired - Lifetime DE69825328T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger viterbi-dekoder
DE0966796T Pending DE966796T1 (de) 1997-03-12 1998-03-04 Mehrkanaliger viterbi-dekoder
DE69824208T Expired - Lifetime DE69824208T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69824051T Expired - Lifetime DE69824051T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69807850T Expired - Lifetime DE69807850T2 (de) 1997-03-12 1998-03-04 Mehrkanalige kommunikationseinheit mit dekoder

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69838922T Expired - Lifetime DE69838922T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69835177T Expired - Lifetime DE69835177T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder

Family Applications After (4)

Application Number Title Priority Date Filing Date
DE0966796T Pending DE966796T1 (de) 1997-03-12 1998-03-04 Mehrkanaliger viterbi-dekoder
DE69824208T Expired - Lifetime DE69824208T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69824051T Expired - Lifetime DE69824051T2 (de) 1997-03-12 1998-03-04 Mehrkanaliger Viterbi-Dekoder
DE69807850T Expired - Lifetime DE69807850T2 (de) 1997-03-12 1998-03-04 Mehrkanalige kommunikationseinheit mit dekoder

Country Status (10)

Country Link
US (2) US6005898A (de)
EP (8) EP1439640B1 (de)
JP (1) JP3988956B2 (de)
CN (2) CN1109414C (de)
AT (7) ATE272271T1 (de)
DE (7) DE69838922T2 (de)
DK (6) DK1161019T3 (de)
ES (8) ES2300083T3 (de)
HK (7) HK1024357A1 (de)
WO (1) WO1998040971A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404828B2 (en) * 1997-03-12 2002-06-11 Interdigital Technology Corporation Multichannel decoder
US20060262832A1 (en) * 1997-03-12 2006-11-23 Interdigital Technology Corporation Convolutionally encoding and decoding multiple data streams
US6301683B1 (en) * 1997-06-09 2001-10-09 Vocal Technologies, Ltd. Trellis encoding technique for PCM modems
US6400966B1 (en) * 1997-10-07 2002-06-04 Telefonaktie Bolaget Lm Ericsson (Publ) Base station architecture for a mobile communications system
US6259687B1 (en) * 1997-10-31 2001-07-10 Interdigital Technology Corporation Communication station with multiple antennas
US6112325A (en) * 1998-01-23 2000-08-29 Dspc Technologies, Ltd. Method and device for detecting rate
JP4048510B2 (ja) * 1998-03-05 2008-02-20 富士通株式会社 Cdma移動通信システムにおける無線基地局
FI104774B (fi) * 1998-03-23 2000-03-31 Nokia Networks Oy Menetelmä ja laitteisto modulaation ilmaisemiseksi
US6269130B1 (en) * 1998-08-04 2001-07-31 Qualcomm Incorporated Cached chainback RAM for serial viterbi decoder
US6735724B1 (en) * 1999-04-08 2004-05-11 Texas Instruments Incorporated Detection error estimation and method
US8050198B2 (en) 1999-05-24 2011-11-01 Qualcomm Incorporated Method and system for scheduling data transmission in communication systems
KR100346152B1 (ko) 1999-09-17 2002-08-01 주식회사 하이닉스반도체 코드 분할 다중 접속방식의 이동통신 기지국 시스템
DE60101745T2 (de) * 2000-03-08 2004-12-23 Arm Ltd., Cherry Hinton Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben
US20020031195A1 (en) * 2000-09-08 2002-03-14 Hooman Honary Method and apparatus for constellation decoder
ATE384365T1 (de) * 2001-06-21 2008-02-15 Koninkl Philips Electronics Nv Übertragungsverfahren und einrichtung in einem funkkommunikationsnetz
JP3612563B2 (ja) * 2001-09-07 2005-01-19 独立行政法人情報通信研究機構 マルチモードブロック符号化変調復調方法
US7321618B2 (en) * 2002-04-09 2008-01-22 Texas Instruments Incorporated PCM upstream data transmission server
US7046747B2 (en) * 2002-04-16 2006-05-16 Intel Corporation Viterbi decoder and decoding method using rescaled branch metrics in add-compare-select operations
CN100399706C (zh) * 2002-08-14 2008-07-02 联发科技股份有限公司 部分响应最大可能性信道的维特比译码器
US7295622B2 (en) * 2003-05-09 2007-11-13 Texas Instruments Incorporated System and method for information decoding using batched processing of independent parameters
US7117427B2 (en) * 2003-07-09 2006-10-03 Texas Instruments Incorporated Reduced complexity decoding for trellis coded modulation
EP1511178A1 (de) * 2003-09-01 2005-03-02 Alcatel Methode um ein Datenwort zu dekodieren
US7434148B2 (en) * 2004-12-30 2008-10-07 Freescale Semiconductor, Inc. Track buffer in a parallel decoder
JP2007300400A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 送信回路、送信方法、及びそれを用いた通信機器
US8165224B2 (en) * 2007-03-22 2012-04-24 Research In Motion Limited Device and method for improved lost frame concealment
US8856630B2 (en) * 2008-06-10 2014-10-07 Telefonaktiebolaget L M Ericsson (Publ) Continuous parallel Viterbi decoder
US8477879B2 (en) * 2009-12-23 2013-07-02 Texas Instruments Incorporated System and method for bi-phase modulation decoding
RU2421900C1 (ru) * 2010-02-27 2011-06-20 Тимур Георгиевич Келин Многоканальный последовательный декодер витерби

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709377A (en) * 1985-03-13 1987-11-24 Paradyne Viterbi decoder for wireline modems
JPH0626346B2 (ja) * 1990-04-26 1994-04-06 郵政省通信総合研究所長 畳込み符号化直交fm・ビタビ受信方式
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5659569A (en) * 1990-06-25 1997-08-19 Qualcomm Incorporated Data burst randomizer
US5511073A (en) * 1990-06-25 1996-04-23 Qualcomm Incorporated Method and apparatus for the formatting of data for transmission
JP2554219B2 (ja) * 1991-11-26 1996-11-13 日本電信電話株式会社 ディジタル信号の重畳伝送方式
US5559757A (en) * 1991-12-18 1996-09-24 Catipovic; Josko A. Spatial diversity processing for underwater acoustic telemetry
SE470371B (sv) * 1992-06-23 1994-01-31 Ericsson Telefon Ab L M Sätt och anordning vid digital signalöverföring att hos en mottagare estimera överförda symboler
US5396516A (en) * 1993-02-22 1995-03-07 Qualcomm Incorporated Method and system for the dynamic modification of control paremeters in a transmitter power control system
US5566206A (en) * 1993-06-18 1996-10-15 Qualcomm Incorporated Method and apparatus for determining data rate of transmitted variable rate data in a communications receiver
MY112371A (en) * 1993-07-20 2001-05-31 Qualcomm Inc System and method for orthogonal spread spectrum sequence generation in variable data rate systems
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
CN1123179C (zh) * 1993-11-01 2003-10-01 夸尔柯姆股份有限公司 用于可变速率数字数据传输的方法和装置
US5454009A (en) * 1994-01-13 1995-09-26 Scientific-Atlanta, Inc. Method and apparatus for providing energy dispersal using frequency diversity in a satellite communications system
US5465269A (en) * 1994-02-02 1995-11-07 Motorola, Inc. Method and apparatus for encoding and decoding a supplementary signal
US5528593A (en) * 1994-09-30 1996-06-18 Qualcomm Incorporated Method and apparatus for controlling power in a variable rate communication system
JP3366128B2 (ja) * 1994-09-30 2003-01-14 富士通株式会社 ビタビ復号方式を用いた多値符号化信号の復号器
US5619524A (en) * 1994-10-04 1997-04-08 Motorola, Inc. Method and apparatus for coherent communication reception in a spread-spectrum communication system
JP2701761B2 (ja) * 1994-11-02 1998-01-21 日本電気株式会社 送信ビットレート判別方法及び装置
JP2605641B2 (ja) * 1994-11-14 1997-04-30 日本電気株式会社 可変ビットレート判別方法及び装置
US5497401A (en) * 1994-11-18 1996-03-05 Thomson Consumer Electronics, Inc. Branch metric computer for a Viterbi decoder of a punctured and pragmatic trellis code convolutional decoder suitable for use in a multi-channel receiver of satellite, terrestrial and cable transmitted FEC compressed-digital television data
JP3169522B2 (ja) * 1995-01-19 2001-05-28 沖電気工業株式会社 データ受信装置
TW347616B (en) * 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.

Also Published As

Publication number Publication date
DE69838922D1 (de) 2008-02-07
EP1895671A3 (de) 2008-04-30
EP1161017A3 (de) 2002-10-30
HK1024357A1 (en) 2000-10-27
ATE555552T1 (de) 2012-05-15
ES2300083T3 (es) 2008-06-01
HK1041385A1 (en) 2002-07-05
DE69824051D1 (de) 2004-06-24
ATE332592T1 (de) 2006-07-15
ES2386278T3 (es) 2012-08-16
JP3988956B2 (ja) 2007-10-10
HK1041387B (zh) 2004-12-10
DK2259440T3 (da) 2012-08-20
EP1895671A2 (de) 2008-03-05
CN1442957A (zh) 2003-09-17
ES2172488T1 (es) 2002-10-01
EP1161017A2 (de) 2001-12-05
ATE382208T1 (de) 2008-01-15
EP1696584A1 (de) 2006-08-30
DE69807850T2 (de) 2003-05-28
DK1161018T3 (da) 2004-11-29
DE69835177D1 (de) 2006-08-17
CN1109414C (zh) 2003-05-21
ATE224118T1 (de) 2002-09-15
DK1161019T3 (da) 2004-08-16
CN1278498C (zh) 2006-10-04
US6256339B1 (en) 2001-07-03
HK1114509A1 (en) 2008-10-31
DK1161017T3 (da) 2004-08-16
DE69824208T2 (de) 2005-06-23
ES2172487T1 (es) 2002-10-01
ES2387708T3 (es) 2012-09-28
DE69838922T2 (de) 2008-12-18
DE69825328D1 (de) 2004-09-02
DE69824208D1 (de) 2004-07-01
ES2172488T3 (es) 2004-12-01
HK1041386A1 (en) 2002-07-05
DE69824051T2 (de) 2004-10-21
DK1439640T3 (da) 2006-10-30
EP1696584B1 (de) 2007-12-26
EP1161019B1 (de) 2004-05-19
EP1161018B1 (de) 2004-07-28
ATE268074T1 (de) 2004-06-15
HK1041387A1 (en) 2002-07-05
ES2268532T3 (es) 2007-03-16
ES2146560T1 (es) 2000-08-16
ATE272271T1 (de) 2004-08-15
EP1161019A2 (de) 2001-12-05
CN1250558A (zh) 2000-04-12
US6005898A (en) 1999-12-21
EP1439640A3 (de) 2005-05-11
ATE267483T1 (de) 2004-06-15
EP2259440B1 (de) 2012-05-23
HK1041386B (zh) 2005-02-04
DE69807850D1 (de) 2002-10-17
EP1161018A3 (de) 2002-10-30
EP1161018A2 (de) 2001-12-05
DE69835177T2 (de) 2007-06-14
ES2172487T3 (es) 2004-12-16
EP0966796B1 (de) 2002-09-11
EP1161017B1 (de) 2004-05-26
ES2172486T3 (es) 2004-12-16
HK1041385B (zh) 2004-10-08
EP1895671B1 (de) 2012-04-25
EP1439640B1 (de) 2006-07-05
WO1998040971A1 (en) 1998-09-17
HK1094840A1 (en) 2007-04-13
DE966796T1 (de) 2000-10-05
HK1067253A1 (en) 2005-04-01
DK1696584T3 (da) 2008-03-17
EP2259440A1 (de) 2010-12-08
EP1161019A3 (de) 2002-10-30
ES2146560T3 (es) 2003-03-16
ES2172486T1 (es) 2002-10-01
EP0966796A1 (de) 1999-12-29
JP2001514829A (ja) 2001-09-11
EP1439640A2 (de) 2004-07-21

Similar Documents

Publication Publication Date Title
DE69825328T2 (de) Mehrkanaliger viterbi-dekoder
DE69836120T2 (de) Verfahren zur Kodierung und Modulation, sowie Einrichtung zur dessen Ausführung
DE69737667T2 (de) Teilnehmergerät für CDMA DrahtlosKommunikationssystem
DE69922707T2 (de) Sender und Empfänger mit Ratenanpassung
DE60225418T2 (de) Auswahl eines informationspakets mit verringerter soft-ausgabe
DE69838133T2 (de) Teilnehmergerät mit mehreren steuer- und informationsdaten für cdma drahtloses kommunikationssystem
DE69531234T2 (de) Signalsender, signalempfänger und verfahren zum senden/empfangen von signalen
DE60224672T2 (de) Übertragungsverfahren und einrichtung in einem funkkommunikationsnetz
DE60129111T2 (de) Kanalschätzung in einem CDMA-System mit codierten Steuersymbolen als zusätzlichen Pilotsymbolen
DE60033198T2 (de) Verfahren und vorrichtung für turbo raum-zeit trelliskodierung
US6404828B2 (en) Multichannel decoder
EP4224719A1 (de) Sender mit einer interleaver-vorrichtung
DE60216040T2 (de) Verfahren und vorrichtung zur zuordnung faltungscodierter bits zu symbolen vor deren modulation
DE602004001669T2 (de) Entschachteler eines drahtlosen empfängers mit partitioniertem speicher
DE19612715A1 (de) Dekoder und zugehöriges Verfahren
DE69734134T2 (de) Verfahren und gerät zur kanalparameterschätzung in einem digitalen funksystem
DE69922116T2 (de) Spreizspektrumdiversitysender/-empfänger
DE60219373T2 (de) Kanalschätzung und Datenentscheidung für Mehrträgerempfang
DE69733210T2 (de) Empfänger-Dekoderschaltung und dazugehörige Methode zur Dekodierung eines kanalcodierten Signals
DE602004001576T2 (de) Verfahren zum Übertragen von Daten in einem Telekommunikationssystem mit wenigstens einem Sender
DE69921578T2 (de) Sequentieller dekodierer und empfänger mit anwendung eines sequentiellen dekoders
DE60127227T2 (de) Verfahren und Vorrichtung zur Schätzung der aufeinanderfolgenden Werte digitaler Symbole insbesondere für die Entzerrung eines Datenübertragungskanals in der Mobiltelephonie
DE10057282C2 (de) Verfahren zur codierten Modulation
DE10243345B4 (de) Verfahren und Vorrichtung zum Übertragen von Daten
DE602004007897T2 (de) Datenstromwiederherstellung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition