DE10247227A1 - Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren - Google Patents

Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren Download PDF

Info

Publication number
DE10247227A1
DE10247227A1 DE2002147227 DE10247227A DE10247227A1 DE 10247227 A1 DE10247227 A1 DE 10247227A1 DE 2002147227 DE2002147227 DE 2002147227 DE 10247227 A DE10247227 A DE 10247227A DE 10247227 A1 DE10247227 A1 DE 10247227A1
Authority
DE
Germany
Prior art keywords
symbols
calculation procedure
calculation
hardware
data
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.)
Withdrawn
Application number
DE2002147227
Other languages
English (en)
Inventor
Burkhard Becker
Bin Yang
Michael Weber
Werner Hein
Norbert Metz
Johann Steger
Peter Bohnhoff
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2002147227 priority Critical patent/DE10247227A1/de
Publication of DE10247227A1 publication Critical patent/DE10247227A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03184Details concerning the metric
    • H04L25/03197Details concerning the metric methods of calculation involving metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Ein Verfahren zum Verarbeiten eines Datenstroms in einem Funkempfänger umfasst eine erste Viterbi-Rechenprozedur in Hardware und eine zweite Rechenprozedur auf Software-Basis. Ergebniswerte der zweiten Rechenprozedur sind Eingabewerte für die erste Rechenprozedur. Der Datenstrom wird in eine Mehrzahl von Verarbeitungsabschnitten (1_1, 1_2, 1_3, 1_4, r_1, r_2, r_3, r_4) unterteilt. Wiederholt und zeitlich überlappend werden die erste Rechenprozedur für einen bestimmten Verarbeitungsabschnitt (r_1) und die zweite Rechenprozedur für einen anderen Verarbeitungsabschnitt (1_2) ausgeführt.

Description

  • Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren.
  • In einem Mobilfunkempfänger werden eine Vielzahl unterschiedlicher Verarbeitungsschritte und Rechenprozeduren ausgeführt, um aus einem empfangenen Funksignal das gesendete Signal zu rekonstruieren. Im Folgenden werden nur die nach einer Analog-Digital-Umsetzung des empfangenen Signals durchzuführenden Verarbeitungsschritte betrachtet. Vor der Entzerrung der empfangenen Symbole wird eine Derotation, eine DC-Korrektur, eine Leistungsnormierung sowie eine Vorfilterung der Symbole durchgeführt. Ferner setzt die adaptive Entzerrung eine Schätzung von Kanalparametern des Übertragungskanals voraus. Bei der Viterbi-Entzerrung müssen Übergangsmetriken und Zustandsmetriken berechnet werden, die ACS-(Add Compare Select- )Operationen auf der Basis der berechneten Zustands- und Übergangsmetriken durchgeführt werden, Zustandsvektoren berechnet und zur Berechnung der Soft-Output-Werte Trace-Back Operationen durchgeführt werden. Anschließend müssen die Soft-Output-Werte entschachtelt und depunktiert werden. Daran schließt sich die Kanaldekodierung an. Da die Kanaldekodierung ebenfalls nach dem Viterbi-Algorithmus erfolgt, sind im Rahmen der Kanaldekodierung ebenfalls Zustandsmetriken und Übergangsmetriken zu berechnen sowie ACS- und Trace-Back Operationen auszuführen.
  • Prinzipiell können sämtliche der genannten Aufgaben mit einem DSP (Digital Signal Processor) ausgeführt werden. In der Praxis ist es jedoch nicht möglich, die gesamte Signalverarbeitung von einem DSP bewerkstelligen zu lassen, da DSPs mit den hierfür erforderlichen hohen Rechenkapazitäten nicht verfügbar oder viel zu teuer sind und außerdem eine zu hohe Leistungsaufnahme zeigen. Aus diesem Grund werden dem DSP Hardware-Module (z.B. in Form von Coprozessoren) zugeordnet, welche bestimmte, immer wiederkehrende Rechenprozeduren in Hardware ausführen. Diese aufgabenspezifischen Hardware-Module, die häufig auch als "dedicated hardware", "hardware supports" oder aufgabenspezifische Datenpfade ("dedicated data paths") bezeichnet werden, sind festverdrahtete Schaltungen, die die durch die Festverdrahtung vorgegebene Rechenprozedur schneller und in der Regel mit geringerer Leistungsaufnahme als bei einer Abarbeitung durch einen Prozessor erledigen.
  • Bei der Festlegung eines Empfängerkonzepts ist somit zunächst zu überlegen, welche der als solche bekannten Berechnungsprozeduren in Software (d.h. durch Abarbeitung eines Datenverarbeitungsprogramms in einem DSP) und welche der Berechnungsprozeduren in Hardware (d.h. mittels eines geeignet konzipierten aufgabenspezifischen Hardware-Moduls) ausgeführt werden sollen. Ferner sind die Datenübergabe zwischen dem DSP und den Hardware-Modulen sowie die zeitliche Steuerung der diversen Berechnungsprozeduren in Hardware und in Software festzulegen.
  • Hinsichtlich des zuletzt genannten Aspekts ist im Stand der Technik eine sequentielle Abarbeitung von Hardware- und Software-Rechenprozeduren bekannt. D.h., während der Berechnung von Ergebniswerten in einem Hardware-Modul, die von dem DSP für die Weiterverarbeitung benötigt werden, ist die Rechenprozedur für die Weiterverarbeitung der berechneten Ergebniswerte im DSP deaktiv. Erst wenn das Hardware-Modul die benötigten Ergebniswerte geliefert hat, wird die Rechenprozedur für die Weiterberechnung der Ergebniswerte im DSP gestartet. Umgekehrt verhält es sich genauso. Wenn im DSP eine Rechenprozedur ausgeführt wird, deren Ergebniswerte in einem Hardware-Modul weiterverarbeitet werden sollen, nimmt das Hardware-Modul seine Tätigkeit erst dann auf, wenn die Rechenpro zedur im DSP beendet ist und die zu prozessierenden Werte vorliegen.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, welches in einem Funkempfänger, in welchem bestimmte Rechenschritte in Software und bestimmte andere Rechenschritte in Hardware ausgeführt werden, eine Verbesserung des Zusammenwirkens zwischen Hardware und Software ermöglicht. Ferner soll eine Vorrichtung mit einem verbesserten Zusammenwirken zwischen Hardware- und Software-Rechenprozeduren geschaffen werden.
  • Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale der unabhängigen Ansprüche gelöst.
  • Nach Anspruch 1 umfasst das erfindungsgemäße Verfahren zum Verarbeiten eines Datenstroms in einem Funkempfänger zumindest eine erste Rechenprozedur, die in Hardware erfolgt und die Ausführung von Viterbi-ACS-Operationen umfasst, und zumindest eine zweite Rechenprozedur, die auf Software-Basis mittels eines Prozessors durchgeführt wird. Beide Rechenprozeduren werden wiederholt ausgeführt, und die Ergebniswerte der zweiten Rechenprozedur repräsentieren dabei Eingabewerte für die erste Rechenprozedur. Erfindungsgemäß wird der zu verarbeitende Datenstrom in eine Mehrzahl von Verarbeitungsabschnitte unterteilt. Die erste Rechenprozedur wird für einen bestimmten Verarbeitungsabschnitt ausgeführt, und zeitlich überlappend mit dem Ausführen der ersten Rechenprozedur wird die zweite Rechenprozedur für einen anderen Verarbeitungsabschnitt ausgeführt.
  • Mit anderen Worten werden beide Rechenprozeduren gleichzeitig miteinander ausgeführt. Die gleichzeitige Ausführung der beiden Rechenprozeduren bewirkt einen Gewinn an Prozesszeit, der sich in vielfältiger Weise ausnutzen lässt. Es kann auf der Software-Seite ein DSP mit einer vergleichsweise niedrigeren Rechenkapazität eingesetzt werden. Damit kann sowohl ein ver minderter Stromverbrauch als auch eine verminderte Chipfläche erreicht werden. Leistungsstarke DSPs haben in der Regel einen höheren Stromverbrauch als dedizierte Hardware. In der dedizierten Hardware wird nur die Funktionalität verwirklicht, die zur Bewältigung der angestrebten Aufgabe erfordderlich ist, ohne – wie beim DSP – auf eine möglichst allgemeine Abdeckung von Funktionen abzuzielen.
  • Eine vorteilhafte Ausgestaltung der Erfindung kennzeichnet sich dadurch, dass die zweite Rechenprozedur mit Eingabewerten, die bei einer früheren Ausführung der ersten Rechenprozedur für einen bereits prozessierten Verarbeitungsabschnitt erhalten wurden, gespeist wird und dabei Ergebniswerte berechnet, die Eingabewerte für die Ausführung der ersten Rechenprozedur für einen später zu prozessierenden Verarbeitungsabschnitt sind. In diesem Fall muss die Einteilung des Datenstroms in Verarbeitungsabschnitte und deren zeitliche Abarbeitungsreihenfolge so vorgenommen werden, dass eine gleichzeitige und verzahnte Ausführung der Rechenprozeduren möglich ist.
  • Vorzugsweise wird das erfindungsgemäße Verfahren zum Entzerren eines Signals eingesetzt, wobei die erste Rechenprozedur als Ergebniswerte die Berechnung von Soft-Output-Werten und/oder Hard-Output-Werten bei der Viterbi-Entzerrung von Symbolen auf der Basis von berechneten Kanalparametern umfasst, und die zweite Rechenprozedur die Aktualisierung von Kanalparametern als Ergebniswerte auf der Basis entzerrter Symbole (Soft-Output-Werte und/oder Hard-Output-Werte) umfasst. Die Berechnung bzw. Aktualisierung von Kanalparametern auf der Basis entzerrter Symbole ist auch als Kanal-Nachführung ("Channel Tracking") bekannt und beispielsweise in der Patentanmeldung DE 100 50 330.6 beschrieben. Channel Tracking ermöglicht es, Leistungsschwankungen des empfangenen Signals bei der Entzerrung zu berücksichtigen.
  • Beim Entzerren erfolgt die Einteilung des zu entzerrenden Signals in eine Mehrzahl von Verarbeitungsabschnitten vorzugsweise in der folgenden Weise: Sofern das innerhalb eines Zeitschlitzes übertragene Signal eine Trainingssequenz-Mitambel mit im Empfänger bekannten Symbolen umfasst, werden die Verarbeitungsabschnitte beidseitig der Trainingssequenz-Mitambel angeordnet. Mittels der ersten Rechenprozedur werden dann alternierend rechts und links der Trainingssequenz-Mitambel angeordnete Verarbeitungsabschnitte von Empfangssymbolen zeitlich aufeinanderfolgend entzerrt.
  • Durch die alternierend rechts und links der Trainingssequenz angeordneten Verarbeitungsabschnitte wird gewährleistet, dass die in der zweiten Rechenprozedur berechneten Kanalparameter nicht für die Entzerrung des aktuell (d.h. während der ersten Rechenprozedur) prozessierten Verarbeitungsabschnittes sondern erst für die Entzerrung des darauf folgenden Verarbeitungsabschnittes benötigt werden. Infolgedessen kann trotz der Tatsache, dass die Ergebniswerte beider Rechenprozeduren jeweils von der anderen Rechenprozedur als Eingabewerte benötigt werden, eine gleichzeitige Ausführung der Rechenprozeduren aufrecht erhalten werden.
  • Vor der erfindungsgemäßen Parallelprozessierung der ersten und der zweiten Rechenprozeduren gemäß den Schritten b1 und b2 sieht die Erfindung zweckmäßiger Weise eine Vorverarbeitung der Symbole sämtlicher Verarbeitungsabschnitte des Zeitschlitzes durch einen reinen Software-Verarbeitungsablauf vor. Die Vorverarbeitung kann dabei vorzugsweise die Schritte Derotieren der Symbole und/oder DC-Korrigieren der Symbole und/oder Leistungsnormieren der Symbole und/oder Durchführen einer Schätzung von Kanalparametern auf der Basis der Trainingssequenz und/oder Vorfiltern der Kanalparameter und der Symbole umfassen.
  • Das erfindungsgemäße Verfahren ist nicht nur auf die Viterbi-Entzerrung beschränkt, sondern kann in vorteilhafter Weise auch zum Viterbi-Kanaldekodieren der entzerrten Symbole eingesetzt werden. In diesem Fall kennzeichnet sich eine bevorzugte Verfahrensausgestaltung dadurch, dass die erste Rechenprozedur die Viterbi-Kanaldekodierung von entschachtelten und depunktierten Daten umfasst, und die zweite Rechenprozedur die Entschachtelung und Depunktierung von Daten (Soft-Output-Werten) umfasst.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung erläutert. In dieser zeigt:
  • 1 eine Schaltung zur Durchführung von Viterbi-Berechnungen in Form von Funktionsblöcken;
  • 2 die Architektur einer Empfängerschaltung, welche einen DSP, eine Hardware-Schaltung für die Viterbi-Entzerrung und eine Hardware-Schaltung für die Kanaldekodierung enthält;
  • 3 eine schematische Darstellung von Verarbeitungsabschnitten in der Datenstruktur eines Bursts für die Entzerrung desselben;
  • 4 ein Schaubild, das den zeitlichen Ablauf der in Hardware und in Software durchgeführten Rechenprozeduren bei der Entzerrung darstellt;
  • 5 eine schematische Darstellung von Verarbeitungsabschnitten in der Datenstruktur eines Datenblocks für die Kanaldekodierung desselben; und
  • 6 ein Schaubild, das den zeitlichen Ablauf der in Hardware und in Software durchgeführten Rechenprozeduren bei der Kanaldekodierung darstellt.
  • 1 zeigt den generellen Aufbau einer Viterbi-Berechnungseinheit bestehend aus einer Einheit zur Berechnung von Übergangsmetrikwerten BMU (Branch Metric Unit), einer Einheit zur Durchführung von ACS-Operationen, ACS, und einer Einheit zur Durchführung von Trace-Back-Operationen bezüglich der ermittelten Pfade SMU (Survivor Memory Unit). Eine Viterbi-Berechnungseinheit der gezeigten Struktur wird sowohl in Entzerrern (Datendetektoren) als auch in Kanaldekodierern eingesetzt.
  • Die generelle Funktionsweise von Viterbi-Berechnungseinheiten ist bekannt und wird hier lediglich kurz erläutert:
  • Allgemein liegt der Viterbi-Berechnung die Idee zugrunde, durch ein rekursives Verfahren einen kürzesten Weg durch ein Zustandsdiagramm (sogenanntes Trellis-Diagramm) zu ermitteln, in welchem die Zustände eines Schieberegisters über der Zeit aufgetragen sind. Im Falle der Entzerrung repräsentiert das Schieberegister das Kanalgedächtnis, während im Falle der Kanaldekodierung das Schieberegister des im Sender enthaltenen Kanalkodierers betrachtet wird. In beiden Fällen wird pro Zeitschritt eine Dateneinheit (beim Entzerrer: ein Symbol; beim Kodierer: ein Bit) in das entsprechende Schieberegister eingeschoben und dadurch der Zustand des Schieberegisters verändert. Die Werte der Dateneinheiten, die dem jeweiligen Schieberegister in jedem Zeitschritt zugeführt werden, kommen als mögliche Empfangswerte in Frage. Die Wahrscheinlichkeit für das Auftreten dieser Dateneinheiten als Empfangswerte wird mittels der Viterbi-Rekursion Zeitschritt für Zeitschritt bestimmt. Dabei berechnet die Einheit BMU für jeden möglichen Übergang im (Kanalkodierer- bzw. Entzerrer-)Trellis-Diagramm Übergangswahrscheinlichkeiten, die als Übergangsmetrikwerte bezeichnet werden. Die Berechnung dieser Übergangsmetrikwerte beruht auf der der Viterbi-Berechnungseinheit aktuell an einem Eingang 1 zur Verfügung stehenden Information, d.h. im Falle der Entzerrung auf den empfangenen Symbolen und den von einem Kanalschätzer ermittelten Kanalparametern, und im Falle der Kanaldekodierung auf den von dem Entzerrer ausgegebenen Soft-Output-Werten.
  • Die in der Einheit BMU zur Berechnung der Übergangsmetrikwerten berechneten Übergangsmetrikwerte werden über die Datenverbindung 2 der ACS-Einheit zugeführt. In der ACS-Einheit werden die Übergangsmetrikwerte den jeweiligen Zustandsmetriken der Vorgänger-Zustände hinzuaddiert (sogenannte "ADD"-Operation), und es werden die auf diese weise erhaltenen Summen verglichen (sogenannte "COMPARE"-Operation). Derjenige Übergang, dessen Summe aus Übergangsmetrikwert und Metrik des Vorgänger-Zustands minimal ist, wird ausgewählt (sogenannte "SELECT"-Operation) und bildet die Verlängerung des in den Vorgänger-Zustand mündenden Pfades in den Zielzustand. Diese drei Operationen werden als ACS-Operationen bezeichnet und von der ACS-Einheit ausgeführt.
  • Sowohl bei der Viterbi-Entzerrung als auch bei der Viterbi-Dekodierung wird der ACS-Schritt innerhalb jedes Zeitschrittes zyklisch für alle Zielzustände ausgeführt, wie dies durch die Schleife 3 in 1 angedeutet ist.
  • Nachdem für einen bestimmten Zeitschritt im Trellis-Diagramm die Metriken sämtlicher Zielzustände bestimmt sind, werden die zugehörigen Gewinner-Zustandsübergänge der Einheit SMU über die Datenverbindung 4 mitgeteilt. Die Einheit SMU führt eine Trace-Back-Operation zur Ermittlung eines um eine bestimmte Anzahl von Zeitschritten zurückliegenden Datenbits (Kanaldekodierung) bzw. Symbols (Entzerrung) durch. Der Trace-Back-Operation liegt zugrunde, dass im Trellis-Diagramm die einzelnen Pfade in zeitlicher Rückwärtsrichtung konvergieren, d.h., dass Datenbits/Datensymbole, die für einen länger zurückliegenden Übergang ermittelt wurden, für überlebende Pfade eine höhere Sicherheit aufweisen (ob ein Pfad überlebt oder nicht, stellt sich eben erst nach Abarbeitung einer bestimmten Anzahl weiterer Zeitschritte heraus).
  • Im Falle der Kanaldekodierung gibt die Einheit SMU über die Datenverbindung 5 dekodierte Datenbits aus. Im Falle der Entzerrung werden über die Datenverbindung 5 Soft-Output-Werte und Hard-Output-Werte bereitgestellt.
  • Die anhand 1 erläuterten Rechenschritte werden teilweise in Hardware (von einem Hardware-Modul) und teilweise in Software (von einem Prozessor) ausgeführt. Dies macht Schnittstellen zwischen der Hardware und dem Prozessor erforderlich.
  • 2 zeigt die Architektur einer Empfängerschaltung mit einem Entzerrer und einem Kanaldekodierer, welche einen digitalen Signalprozessor DSP und eine mit dem DSP über eine Schnittstelle in Verbindung stehendes Hardware-Modul für die Entzerrung und die Kanaldekodierung einsetzt. Der DSP ist über ein oder mehrere Konfigurationsregister CONFIG mit zwei Viterbi-Rechenschaltungen RW1 und RW2 verbunden. Die erste Hardware-Schaltung RW1 dient der Entzerrung des empfangenen Datensignals, die zweite Hardware-Schaltung RW2 führt eine Kanaldekodierung durch. Die Hardware-Schaltungen RW1 und RW2 können eine Entzerrung bzw. Kanaldekodierung sowohl z.B. gemäß dem GSM-(Global System for Mobile Communications-)Standard als auch gemäß dem EDGE-(Enhanced Data Services for GSM Evolution-)Standard ausführen.
  • Die erste Hardware-Schaltung RW1 steht über eine erste bidirektionale Datenverbindung DL1 mit einem ersten flüchtigen Datenspeicher RAM1 und über eine zweite bidirektionale Datenverbindung DL2 mit einem zweiten flüchtigen Datenspeicher RAM2 in Datenaustauschverbindung. Entsprechende dritte und vierte bidirektionale Datenverbindungen DL3 und DL4 sind zwischen der zweiten Hardware-Schaltung RW2 und dem ersten Datenspeicher RAM1 sowie der zweiten Hardware-Schaltung RW2 und dem zweiten Datenspeicher RAM2 vorgesehen.
  • Beide Hardware-Schaltungen RW1 und RW2 können ferner auf zwei flüchtige Datenspeicher RAMW1 und RAMW2 zugreifen. Wie noch näher erläutert wird, werden in den Datenspeichern RAMW1 und RAMW2 Zwischenergebniswerte abgelegt, die bei der Entzerrung und/oder der Kanaldekodierung in den Hardware-Schaltungen RW1 und RW2 anfallen. Der Zugriff vom DSP erfolgt über zwei Schnittstellen I/O_DEC und I/O_EQ, über einen zentralen Datenbus DB und über die internen Datenbusse DB1 (RAM1), DB2 (RAM2), DB3 (RAMW1) und DB4 (RAMW2). Die Schnittstelle I/O_DEC ist für den Zugriff des DSPs während eines Kanaldekodiervorgangs und die Schnittstelle I/O_EQ ist für den Zugriff des DSPs während eines Entzerrungsvorgangs bestimmt.
  • Die Hardware-Schaltungen RW1, RW2, die Datenspeicher RAM1, RAM2, RAMW1 und RAMW2 sowie die Datenbusse DB3, DB4 und die Datenverbindungen DL1, DL2, DL3, DL4 können konstruktiv in Form eines separaten Arithmetik-Prozessors zusammengefasst sein.
  • 1. Viterbi-Entzerrer
  • Der konstruktive Aufbau der ersten Hardware-Schaltung RW1 zur Entzerrung von Symbolen ist in der internationalen Anmeldung WO 02/03637 A1 beschrieben, die diesbezüglich durch Bezugnahme dem Inhalt der vorliegenden Schrift hinzugefügt wird. Die erste Hardware-Schaltung RW1 umfasst demnach in hier nicht näher dargestellter Weise die folgenden Hardware-Datenpfade:
    • – Datenpfad zur Durchführung der ACS-Operationen,
    • – Datenpfad zur Berechnung von Übergangsmetrikwerten,
    • – Datenpfad zur Berechnung von Soft-Output-Werten,
    • – Datenpfad zur Berechnung neuer Zustandsvektoren,
    • – Datenpfad zur Berechnung von Adressen der Partialsummen für Übergangsmetrikwerten, und
    • – Datenpfad zur Berechnung von hart entschiedenen Datensymbolen.
  • Die Speicherorganisation ist wie folgt:
  • Der erste flüchtige Datenspeicher RAM1 dient als Eingabespeicher für die Hardware-Schaltung RW1. In RAM1 werden die folgenden Größen gespeichert:
    • – die vom Empfänger empfangenen Datensymbole xk, mit k wird der Zeitschritt-Index bezeichnet;
    • – vorausberechnete Partialsummen der Übergangsmetrikwerte bestehend aus Produkten von Kanalparametern hi und Symbolen sn des im Sender verwendeten Symbolalphabets: hi·sn; wobei i= 0, 1, ..., L, der Index der Kanalparameter ist (L bezeichnet die Anzahl der Speicherplätze des den Übertragungskanal modellierenden Schieberegisters) und n = 0, 1, ..., N der Symbolindex ist (wobei N+1 die Wertigkeit des Symbolalphabetes ist). Z.B. gilt für das bei EDGE verwendete achtwertige 8PSK-Modulationsalphabet sn = exp(j·n·2π/8), wobei j die imaginäre Einheit ist.
  • Der zweite flüchtige Datenspeicher RAM2 dient als Ausgabespeicher für die Hardware-Schaltung RW1. In RAM2 werden die folgenden Größen gespeichert:
    • – die berechneten Hard-Output-Werte HOk für jeden Zeitschritt k: im Fall von 8PSK werden für jedes empfangene Datensymbol xk drei Hard-Output-Werte HOk (Bits) berechnet, da 8PSK-Symbole durch drei Bit codiert sind;
    • – die Soft-Output-Werte SOk für jeden Zeitschritt k: im Fall von 8PSK werden für jedes empfangene Datensymbol xk drei Datenwörter berechnet, wobei jedes Datenwort die Konfidenz eines hart entschiedenen Bits angibt.
  • Der erste flüchtige Datenspeicher RAMW1 dient als Zwischenwertspeicher bei der rekursiven Trellis-Prozessierung durch Abarbeitung der ACS-Operationen. In RAMW1 werden die folgenden Größen gespeichert:
    • – "alte" Übergangsmetrikwerte im Zeitschritt k–1 vom Zustand m in den Zustand m' : Ik–1 (m→m');
    • – "alte" Metrikwerte im Zeitschritt k–1 zu jedem Zustand m: Mk–1 (m);
    • – "alte" Zustandsvektoren im Zeitschritt k–1 zu jedem Zustand m: Zk–1 (m).
  • Der zweite flüchtige Datenspeicher RAMW2 dient als Zwischenwertspeicher bei der rekursiven Trellis-Prozessierung durch Abarbeitung der ACS-Operationen. In RAMW2 werden die folgenden Größen gespeichert:
    • – "neue" Übergangsmetriken im Zeitschritt k vom Zustand m in den Zustand m' : Ik (m→m');
    • – "neue" Metrikwerte im Zeitschritt k zu jedem Zustand m: Mk (m);
    • – "neue" Zustandsvektoren im Zeitschritt k zu jedem Zustand m: Zk (m).
  • Mit dem Zeitschrittübergang k→k+1 nach Beendigung der Trellis-Prozessierung zum Zeitschritt k werden "neue" Übergangsmetrikwerte, Metrikwerte und Zustandsvektoren zu "alten" Übergangsmetrikwerten, Metrikwerten und Zustandsvektoren. Die beiden Zwischenergebnisspeicher RAMW1 und RAMW2 vertauschen dann ihre Funktion, d.h. der Zwischenwertspeicher RAMW2 enthält nun die zuvor berechneten, jetzt "alten" Größen und der Zwischenwertspeicher RAMW2 wird gelöscht und dient zur Speicherung der zu berechnenden "neuen" Größen.
  • Es wird deutlich, dass die gesamte in 1 dargestellte Viterbi-Berechnung bei der in 2 dargestellten Schaltung in Hardware ausgeführt wird. Im Allgemeinen müssen bei der vorliegenden Erfindung jedoch nicht sämtliche bei der Viterbi-Prozessierung durchzuführenden Rechenschritte in Hardware ausgeführt sein, sondern es ist auch möglich, nur Teilschritte (z.B. die ACS-Operationen) in Hardware zu implementieren.
  • 3 zeigt die Datenstruktur eines innerhalb eines Zeitschlitzes zum Empfänger übertragenen Signals. Das innerhalb eines Zeitschlitzes übertragene Signal wird auch als Burst bezeichnet. In der Mitte des Bursts befindet sich eine Trainingssequenz TS bestehend aus Symbolen, die im Empfänger bekannt sind. Rechts und links der Trainingssequenz TS weist der Burst die Abschnitte D_r bzw. D_l auf. Die Abschnitte D_r und D_l enthalten die im Empfänger zu rekonstruierenden Datensymbole.
  • Im EDGE-Standard beträgt die Zeitschlitzdauer 576 μs. Jeder Abschnitt D_r bzw. D_l des Bursts umfasst z.B. 58 Symbole.
  • 4 zeigt die Verarbeitung der in den Abschnitten D_l und D_r enthaltenen Symbole in der in 2 gezeigten Empfängerschaltung, wobei Verarbeitungsprozeduren, die auf Software-Basis erfolgen, unterhalb der Zeitachse t dargestellt sind, während Verarbeitungsprozeduren, die in Hardware (d.h. in der Hardware-Schaltung RW1) durchgeführt werden, oberhalb der Zeitachse t dargestellt sind.
  • Zunächst werden in den Vorverarbeitungsschritten v1, v2, ..., v5 Software-Rechenprozeduren ausgeführt. Während dieser Zeitspanne ist die Hardware-Schaltung RW1 inaktiv.
  • In dem ersten Software-Vorverarbeitungsschritt v1 wird eine Derotation der erhaltenen Symbole vorgenommen. Bei einer 8PSK-Modulation erfolgt die Derotation der empfangenen Symbole mit einem Phaseninkrement von π/4.
  • Im zweiten Software-Vorverarbeitungsschritt v2 wird eine Gleichspannungs-Korrektur vorgenommen. Dabei wird ein gegebenenfalls auftretender DC-Anteil aus dem durch die empfangenen Symbole gebildeten Burst herausgerechnet. Im Wesentlichen erfolgt die DC-Korrektur durch eine Signalmittelung über eine bestimmte Anzahl von Symbolen (ggf. auch über mehrere Bursts) und eine nachfolgende Subtraktion des bei der Mittelung berechneten DC-Offsets von jedem empfangenen Symbol.
  • In dem dritten Software-Vorverarbeitungsschritt v3 erfolgt optional eine Leistungsanpassung ("power balancing"), die im Wesentlichen eine Skalierung der Symbole auf eine bestimmte gewünschte Signalhöhe darstellt.
  • Die anschließende Kanalschätzung in dem vierten Software-Verarbeitungsschritt v4 erfolgt durch einen Vergleich der empfangenen Symbole der Trainingssequenz TS mit den im Empfänger bekannten Symbolen. Aus diesem Vergleich ergeben sich die Kanaleigenschaften, welche in Form der Kanalparameter h0, h1, ..., hL (für zurückliegende L Zeitschritte (Taps), wobei "0" den aktuellen Zeitpunkt bzw. Zeitschritt bezeichnet) dargestellt werden. Die Kanalparameter h0, h1, ..., hL sind die Filterkoeffizienten des Modellfilters, welches den zeitvarianten Übertragungskanal modelliert.
  • Anschließend erfolgt in dem fünften Software-Vorverarbeitungsschritt v5 ein Vorfiltern ("prefiltering") der Kanalparameter und der empfangenen Symbole. Mit dem Vorfilter wird die Energie, die in der gesamten Kanalimpulsantwort verteilt ist, in den ersten Kanalparametern konzentriert: Aus der geschätzten Kanalimpulsantwort, deren Energie nicht unbedingt in den ersten Kanalparametern konzentriert ist, wird ein sogenanntes Vorfilter ("Prefilter") berechnet. Aus der geschätzten Kanalimpulsantwort und dem Vorfilter wird eine neue Kanalimpulsantwort berechnet, deren Energie nun in den ersten Kanalparametern konzentriert ist. Diese neue Kanalimpulsantwort wird in der Viterbi-Entzerrung verwendet. Die empfangenen Symbole werden ebenfalls mit dem Vorfilter gefiltert.
  • Nach etwas mehr als 200 μs sind sämtliche in Software durchzuführenden Vorverarbeitungsschritte v1, v2, ..., v5 abgearbeitet. Insbesondere sind die (vorgefilterten) Kanalparameter h0, h1, ..., hL bestimmt . Nachfolgend erfolgt in erfindungsgemäßer Weise eine Parallel-Prozessierung von Software- und Hardware-Rechenprozeduren.
  • Zur Initialisierung der Hardware-Schaltung RW1 und zur Durchführung der segmentweisen Entzerrung sind die folgenden im Konfigurationsregister CONFIG gehaltenen Steuerparameter vorgesehen. Die Steuerparameter sind durch den DSP steuerbar:
    b_mode: Wahl zwischen EDGE- und GSM-Entzerrung;
    b_numb: Anzahl der Symbole xk in einem Segment l_1, ..., l_4 oder r_1, ..., r_4;
    b_r/l: Wahl zwischen der Entzerrung des rechten oder linken Halb-Bursts D_r oder D_l;
    b_start: Starten der Hardware-Schaltung RW1 zur Durchführung der in Hardware implementierten ersten Rechenprozedur;
    b_dat_in: Setzen des Adresszeigers des Eingabespeichers RAM1 auf den Basiswert für Datensymbole, um die empfangenen Datensymbole xk in den Eingabespeicher RAM1 zu schreiben;
    b_par_in: Setzen des Adresszeigers des Eingabespeichers RAM1 auf den Basiswert für Partialsummen der Übergangsmetrikwerte, um die berechneten bzw. aktualisierten Produkte hi·sn in den Eingabespeicher RAM1 zu schreiben;
    b_hard_out: Setzen des Adresszeigers des Ausgabespeichers RAM2 auf den Basiswert für Hard-Output-Werte, um diese aus dem Ausgabespeicher RAM2 zu lesen;
    b_soft_out: Setzen des Adresszeigers des Speichers RAM2 auf den Basiswert Soft-Output-Werte, um diese aus dem Ausgabespeicher RAM2 zu lesen;
  • Bis auf b_numb sind sämtliche Steuerparameter binär, d.h. durch das Setzen eines Bits im Konfigurationsspeicher CONFIG einstellbar.
  • Zur Initialisierung wählt der DSP geeignete Parameter für b_mod und b_numb.
  • Anschließend wird eine segmentweise Entzerrung des in 3 gezeigten Bursts durchgeführt. Hierfür werden die Abschnitte D_l und D_r der in 3 gezeigten Datenstruktur in einzelne Segmente l_1, l_2, l_3, l_4 bzw. r_1, r_2, r_3, r_4 unterteilt. Die beiden Segmente l_1 und r_1 sind links und rechts benachbart der Trainingssequenz TS angeordnet, die Segmente l_2 und r_2 bzw. l_3 und r_3 bzw. l_4 und r_4 schließen sich in der genannten Reihenfolge beidseitig an und liegen jeweils symmetrisch zu der Trainingssequenz TS.
  • Zunächst wird in dem Hardware-Verarbeitungsschritt h1 eine Entzerrung der Symbole des Segments l_1 vorgenommen. Hierfür wird b_r/l auf "links" gesetzt und das Laden des Eingabespeichers RAM1 mit empfangenen Datensymbolen xk und Produkten hi·sn erfolgt durch die Steuerung mittels der Bits b_dat_in und b_par_in.
  • Der Hardware-Verarbeitungsschritt h1 wird durch das Setzen des Bits b_start gestartet. Im Rahmen der Entzerrung werden mit der in 2 dargestellten Hardware-Schaltung RW1 die Hard-Output-Werte HOk und die Soft-Output-Werte SOk für die Symbole des Segments l_1 und die entsprechenden Zustandsvektoren Zk berechnet. Hierfür führt die Hardware-Schaltung RW1 eine Trellis-Prozessierung in der bereits beschriebenen Weise durch, d.h. es werden auf der Basis der übermittelten Produkte hi·sn (welche die im Vorverarbeitungsschritt v4 auf der Basis der Trainingssequenz TS ermittelten und im Vorverarbeitungsschritt v5 gefilterten Kanalparameter enthalten) die Übergangsmetrikwerte Ik(m→m') für jeden Zustandsübergang m→m' berechnet, und es werden durch wiederholtes Ausführen der ACS-Operationen neue Zustandsmetriken Mk(m'), Zustandsvektoren Zk(m') und pro Zeitschritt k ein (GSM) bzw. drei (EDGE) Hard-Output-Wert (e) HOk und ein (GSM) bzw. drei (EDGE) Soft-Output-Wert (e) SOk für ein entzerrtes Symbol berechnet, welche bei der Prozessierung Zeitschritt für Zeitschritt in den Ausgabespeicher RAM2 eingeschrieben werden. Die Prozessierung erstreckt sich über b_numb Zeitschritte.
  • Nach der Abarbeitung der Symbole des Segments l_1 mittels der Hardware-Rechenprozedur im Hardware-Verarbeitungsschritt h1 werden die Hard-Output-Werte HOk und die Soft-Output-Werte SOk des prozessierten Segments l_1 dem DSP übergeben. Das Auslesen des Ausgabespeichers RAM2 wird über das Setzen der Bits b_hard_out und b_soft_out gesteuert.
  • Der DSP führt dann mittels einer zweiten Rechenprozedur eine Weiterverarbeitung der übermittelten Soft-Output-Werte SOk während des Software-Verarbeitungsschrittes s1 durch.
  • Die von der Software durchgeführte zweite Rechenprozedur umfasst zwei Verarbeitungsabläufe. Zum einen werden die in dem Vorverarbeitungsschritt v4 ermittelten Kanalparameter aktualisiert. Die Aktualisierung von Kanalparametern auf der Basis entzerrter Datensymbole ist bekannt und wird wie bereits erwähnt als Kanal-Nachführung (Channel Tracking) bezeichnet.
  • Darüber hinaus umfasst die zweite Rechenprozedur eine Vorfilter-Operation. Mittels der Vorfilter-Operation werden die aktualisierten Kanalparameter sowie die Symbole des Datensegments l_2 vorgefiltert.
  • Nach dem Software-Verarbeitungsschritt s1 stehen aktualisierte und vorgefilterte Kanalparameter und vorgefilterte empfangene Symbole bereit. Diese Kanalparameter geben die Eigenschaften des Übertragungskanals während der Zeitdauer, in welcher die Symbole des Segments l_1 übertragen wurden, besser wieder als die ursprünglich im Vorverarbeitungsschritt v4 ermittelten Kanalparameter, die sich an der Trainingssequenz TS orientieren.
  • Zeitgleich oder zumindest zeitlich überlappend mit dem Software-Verarbeitungsschritt s1 wird die erste Rechenprozedur im Hardware-Verarbeitungsschritt h2 wiederholt. Der Berechnung liegen nun die Symbole des Segments r_1 zugrunde. Die Berechnung der Übergangsmetrikwerte erfolgt auf der Basis der in dem Vorverarbeitungsschritt v5 berechneten (ursprünglichen, an der Trainingssequenz orientierten) Kanalparameter. D.h., dass beim Laden des Eingabespeichers RAM1 allein neue Datensymbole xk (zum Segment r_1) in das RAM1 geschrieben werden müssen (wobei der Adresszeiger durch b_dat_in auf die Basisadresse für Datensymbole gesetzt wird), während kein Beschreiben des Speicherbereichs für die Produkte hi·sn der Übergangsmetrikwerte erfolgt (das Bit b_par_in wird nicht gesetzt).
  • Anschließend werden der Hardware-Verarbeitungsschritt h3 und der Software-Verarbeitungsschritt s2 gleichzeitig oder zumindest zeitlich überlappend ausgeführt. Hierfür werden zunächst die Datensymbole xk des Segments l_2 und die im Software-Verarbeitungsschritt s1 berechneten aktualisierten Produkte hi·sn in den Eingabespeicher RAM1 geladen (b_dat_in und b_par_in werden gesetzt). Im Hardware-Verarbeitungsschritt h3 werden nun die Symbole des Segments l_2 mittels der aktualisierten Kanalparameter (enthalten in den Produkten hi·sn) prozessiert. Da die Symbole des Segments l_2 zeitlich benachbart zu den Symbolen des Segments l_1 liegen, welche zur Kanal-Nachführung verwendet wurden, wird ein besseres Entzerrungsergebnis erhalten, als wenn die in dem Vorverarbeitungsschritt v4 berechneten Kanalparameter benutzt würden. Auf der anderen Seite werden in dem parallel ausgeführten Software-Verarbeitungsschritt s2 bereits aktualisierte Kanalparameter auf der Basis der im Hardware-Verarbeitungsschritt h2 berechneten Soft-Output-Werte SOk für die anschließend erfolgende Entzerrung der Symbole des Segments r_2 berechnet.
  • In den Parallelverarbeitungsschritten s3, h4 und s4, h5 und s5, h6 und s6, h7 werden die beiden Berechnungsprozeduren in Software/Hardware zur Abarbeitung sämtlicher Segmente der in 3 gezeigten Datenstruktur wiederholt. Die in Klammern gesetzten Angaben unter den Software-Verarbeitungsschritten s1, s2, ..., s6 bezeichnen die Verarbeitungsabschnitte, für welche aktualisierte Kanalparameter berechnet werden. Mit der abschließenden Entzerrung der Symbole des Segments r_4 im Hardware-Verarbeitungsschritt h8 mittels der in dem Software-Verarbeitungsschritt s6 berechneten aktualisierten Kanalparameter ist die Entzerrung der Symbole des betrachteten Bursts abgeschlossen.
  • Es wird darauf hingewiesen, dass in der Hardware zusätzliche Zwischenspeicher (nicht dargestellt) vorgesehen sein müssen, die nach einem Hardware-Verarbeitungsschritt hi, i=1, 2, ... die Zustandsvektoren Zk(m) und die Metriken Mk(m) des letzten prozessierten Zeitschrittes k speichern, um im übernächsten Hardware-Verarbeitungsschritt hi+2 eine Weiterführung des Entzerrungsprozesses für die Symbole des benachbarten Segments zu ermöglichen. Dabei sind die Anfangs-Zustandsvektoren Zk(m) und die Anfangs-Metrikwerte Mk(m) des Verarbeitungsschrittes hi+2 die End-Zustandsvektoren Zk(m) und End-Metrikwerte Mk(m) des Verarbeitungsschrittes hi.
  • Der Ausgabespeicher RAM2, der wie bereits erwähnt die bei der Entzerrung für ein Segment berechneten Hard-Output-Werte HOk und Soft-Output-Werte SOk für B_numb Zeitschritte k enthält, wird nach jedem Hardware-Verarbeitungsschritt hi ausgelesen. Die ausgelesenen Soft-Output-Werte SOk werden in einem nicht dargestellten externen Speicher über die Dauer eines Datenblocks (z.B. 4 Bursts) abgespeichert.
  • 2. Kanaldekodierung
  • Bei der anschließenden Kanaldekodierung wird ebenfalls eine Parallel-Prozessierung von Software- und Hardware-Verarbei tungsschritten durchgeführt. Dies wird im Folgenden anhand der 5 und 6 erläutert.
  • 6 zeigt die Verarbeitung eines Datenblockes entzerrter Soft-Output-Werte SOk in der in 2 gezeigten Empfängerschaltung, wobei Verarbeitungsprozeduren, die auf Software-Basis erfolgen, unterhalb der Zeitachse t dargestellt sind und Verarbeitungsprozeduren, die in Hardware durchgeführt werden, oberhalb der Zeitachse t dargestellt sind.
  • Zunächst wird in einem Vorverarbeitungsschritt v eine Entschachtelung der Soft-Output-Werte SOk durchgeführt. Die Entschachtelung erfolgt für den gesamten Datenblock. Bei der Entschachtelung wird die senderseitig erfolgte blockweise Verschachtelung wieder rückgängig gemacht.
  • 5 zeigt in schematischer Weise den Datenstrom bestehend aus den über die Dauer eines Datenblockes entzerrten und entschachtelten Soft-Output-Werten SOk. Dieser Datenstrom wird in einzelne Segmente a1, a2, ..., ap (p ist die wählbare Gesamtanzahl der Segmente) unterteilt.
  • Anschließend werden in dem Software-Verarbeitungsschritt s1 zwei Verarbeitungsabläufe ausgeführt. Zum einen wird eine Depunktierung der entschachtelten Soft-Output-Werte SOk des Segmentes a1 vorgenommen. Bei der Depunktierung wird eine senderseitig erfolgte Punktierung des Datenstroms wieder rückgängig gemacht.
  • Wie allgemein bekannt, wird unter Punktieren das im Sender erfolgende beabsichtigte Weglassen ("Herausstechen") bestimmter Bits aus dem kanalkodierten Bitstrom verstanden. Die wegzulassenden Bits sind durch ein Punktierschema vorgegeben. Eine Punktierung mit variablen Punktierschemata ermöglicht eine Ratenanpassung des kanalkodierten Datenstroms mit variabler Koderate.
  • Unter Depunktieren versteht man das empfängerseitige Wiederauffüllen des Datenstroms mit Nullen an den punktierten Stellen.
  • Der zweite, optionale Verarbeitungsschritt betrifft das Kombinieren der entschachtelten, depunktierten Soft-Output-Werten SOk bei IR (Incremental Redundancy) in einem ARQ(Automatic Repeat Request-)Modus.
  • ARQ bedeutet, dass fehlerhaft empfangene Datenblöcke automatisch erneut angefordert werden. Fehlerhaft empfangene Datenblöcke sind Datenblöcke, bei denen die Kanaldekodierung fehlschlägt. Wenn der erneut erhaltene Datenblock fehlerfrei ist, wird er erfolgreich dekodiert und es ist nichts mehr zu tun. Kann jedoch auch der bei der zweiten Übertragung erhaltene Datenblock nicht dekodiert werden, müsste eine dritte Übertragung angefordert werden. IR ist ein Ansatz, mit welchem sich dies zumindest manchmal vermeiden lässt: Eine Kombination der beiden einzeln nicht dekodierbaren Datenblöcke kann nämlich einen dekodierbaren Datenblock ergeben.
  • Es gibt verschiedene Möglichkeiten der Kombination zweier nicht dekodierbarer Datenblöcke. Eine einfache Möglichkeit ist z.B. die arithmetische Mittelung, d.h. die paarweise Addition der einander entsprechenden Soft-Output-Werte mit nachfolgender Division durch den Wert 2.
  • Nach dem Software-Verarbeitungsschritt s1 stehen entschachtelte, depunktierte und ggf. kombinierte Soft-Output-Werte SOk bereit. Diese werden im Hardware-Verarbeitungsschritt h1 der Kanaldekodierung mittels der Hardware-Schaltung RW2 unterzogen.
  • Der konstruktive Aufbau der Hardware-Schaltung RW2 für die Viterbi-Kanaldekodierung ist in der deutschen Patentanmeldung DE 100 64 102 A1 beschrieben, die diesbezüglich durch Bezugnahme dem Inhalt der vorliegenden Schrift hinzugefügt wird. Die zweite Hardware-Schaltung RW2 umfasst demnach in hier nicht näher dargestellter Weise die folgenden Hardware-Datenpfade:
    • – Datenpfad zur Berechnung von Übergangsmetrikwerten;
    • – Datenpfad zur Durchführung von ACS-Operationen.
  • Der Datenspeicher RAM2, der wie bereits erwähnt die bei der Entzerrung berechneten Hard-Output-Werte HOk und die Soft-Output-Werte SOk enthält, dient für die Hardware-Schaltung RW2 als Eingabespeicher. Für den Hardware-Verarbeitungsschritt h1 nimmt er die auf das Segment a1 zurückgehenden entschachtelten, depunktierten und ggf. kombinierten Soft-Output-Werte SOk zur Durchführung der Viterbi-Kanaldekodierung entgegen.
  • Mittels des Datenpfads zur Berechnung von Übergangsmetrikwerten werden in bekannter Weise aus den entschachtelten, depunktierten und ggf. kombinierten Soft-Output-Werten SOk die Übergangsmetrikwerte für die Kanaldekodierung berechnet. Die hierfür erforderliche Kombination der Soft-Output-Werte hängt von der senderseitig verwendeten Koderate und dem bei der senderseitigen Kanalkodierung verwendeten Generatorpolynom ab und ist in der europäischen Patentanmeldung EP 1 223 679 A1 näher beschrieben, die diesbezüglich durch Bezugnahme dem Inhalt der vorliegenden Schrift hinzugefügt wird. Die Übergangsmetrikwerte werden von dem Datenpfad zur Durchführung von ACS-Operationen in ebenfalls bekannter Weise prozessiert. Die dabei anfallenden Metrikwerte werden in den flüchtigen Speichern RAMW1 und RAMW2 temporär abgelegt. Pro Trellis-Zustand werden diejenigen Entscheidungswerte der ACS-Operationen ermittelt, die für einen Traceback-Schritt an den DSP übergeben werden.
  • Zeitgleich oder zumindest zeitlich überlappend mit dem Hardware-Verarbeitungsschritt h1 wird die erste Rechenprozedur im Software-Verarbeitungsschritt s2 wiederholt. Der Berechnung liegen nun die entschachtelten Soft-Output-werte SOk des Segments a2 zugrunde.
  • Nach Beendigung des Software-Verarbeitungsschrittes s2 werden die berechneten entschachtelten, depunktierten und ggf. kombinierten Soft-Output-Werte SOk in den Speicher RAM2 des Empfängers geschrieben und von der Hardware-Schaltung RW2 ausgelesen. Der Hardware-Verarbeitungsschritt h2 wird gestartet, während gleichzeitig bzw. zeitlich überlappend mit dem Hardware-Verarbeitungsschritt h2 bereits die Daten des Segments a3 im DSP verarbeitet werden (Software-Verarbeitungsschritt s3).
  • Die Steuerung der Hardware-Schaltung RW2 durch den DSP erfolgt ebenfalls über das Konfigurationsregister CONFIG, und zwar mittels entsprechender Steuerparameter (Datenwörter und Bits), wie sie für den Fall der Entzerrung im Einzelnen erläutert wurden.
  • In den folgenden Parallelverarbeitungsschritten h3, s4 und h4, s5, ... werden die beiden Berechnungsprozeduren in Software/Hardware zur Abarbeitung sämtlicher Segmente a1, a2, ..., ap des in 5 gezeigten entschachtelten Datenblocks wiederholt. Mit der abschließenden Kanaldekodierung der entschachtelten Soft-Output-Werte SOk des Segments ap im Hardware-Verarbeitungsschritt hp ist die Kanaldekodierung des betrachteten Datenblockes abgeschlossen.

Claims (15)

  1. Verfahren zum Verarbeiten eines Datenstroms in einem Funkempfänger mittels zumindest einer ersten Rechenprozedur, die in Hardware (RW1, RW2) erfolgt und die Ausführungen von Viterbi-ACS-Operationen umfasst, und zumindest einer zweiten Rechenprozedur, die auf Software-Basis mittels eines Prozessors (DSP) durchgeführt wird, wobei die beiden Rechenprozeduren wiederholt ausgeführt werden und Ergebniswerte der zweiten Rechenprozedur Eingabewerte für die erste Rechenprozedur sind, mit den Schritten: (a) Unterteilen des Datenstroms in eine Mehrzahl von Verarbeitungsabschnitten (l_1, l_2, l_3, l_4, r_1, r_2, r_3, r_4; a1, a2, ..., ap); (b1) Ausführen der ersten Rechenprozedur für einen bestimmten Verarbeitungsabschnitt (r_1; a1); und (b2) zeitlich überlappend mit dem Ausführen der ersten Rechenprozedur Ausführen der zweiten Rechenprozedur für einen anderen Verarbeitungsabschnitt (l_2; a2).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zweite Rechenprozedur – mit Eingabewerten, die bei einer früheren Ausführung der ersten Rechenprozedur für einen bereits prozessierten Verarbeitungsabschnitt (l_1) erhalten wurden, gespeist wird, und – zur Berechnung von Ergebniswerten, die Eingabewerte für die Ausführung der ersten Rechenprozedur für einen später zu prozessierenden Verarbeitungsabschnitt (l_2) sind, ausgeführt wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Verfahren zum Entzerren eines Signals eingesetzt wird, wobei – die erste Rechenprozedur als Ergebniswerte die Berechnung von Soft-Output-Werten und/oder Hard-Output-Werten bei der Viterbi-Entzerrung von Symbolen auf der Basis von berechneten Kanalparametern umfasst, und – die zweite Rechenprozedur als Ergebniswerte die Aktualisierung von Kanalparametern auf der Basis entzerrter Symbole umfasst.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, – dass die zweite Rechenprozedur ferner die Vorfilterung sowohl der Kanalparameter als auch der zu entzerrenden Symbole umfasst.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, – dass das innerhalb eines Zeitschlitzes übertragene Signal eine Trainingssequenz-Mitambel (TS) mit im Empfänger bekannten Symbolen umfasst, – dass die Verarbeitungsabschnitte (l_1, l_2, l_3, l_4; r_1, r_2, r_3, r_4) beidseitig der Trainingssequenz-Mitambel (TS) angeordnet sind, und – dass alternierend rechts und links der Trainingssequenz-Mitambel (TS) angeordnete Verarbeitungsabschnitte (l_1, l_2, l_3, l_4; r_1, r_2, r_3, r_4) zeitlich aufeinanderfolgend mittels der ersten Rechenprozedur entzerrt werden.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die erste Rechenprozedur neben der Berechnung von Soft-Output-Werten und/oder Hard-Output-Werten für die entzerrten Symbole umfasst: – die Berechnung von Übergangsmetriken, – die Berechnung von Zustandsmetriken durch Ausführen der ACS-Operationen, und – die Berechnung von Zustandsvektoren.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass vor den Schritten b1 und b2 eine Vorverarbeitung der Symbole sämtlicher Verarbeitungsabschnitte (l_1, l_2, l_3, l_4, r_1 2, r_3, r_4) durch einen reinen Software-Verarbeitungsablauf (v1, v2, v3, v4, v5) vorgenommen wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Vorverarbeitung die Schritte umfasst: – Derotieren (v1) der Symbole und/oder – DC-Korrigieren (v2) der Symbole und/oder – Leistungsnormieren (v3) der Symbole und/oder – Durchführen einer Schätzung von Kanalparametern (v4) auf der Basis der Trainingssequenz (TS), und/oder – Vorfiltern (v5) der Kanalparameter und der zu entzerrenden Symbole.
  9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verfahren zum Kanaldekodieren eines Datenstroms bestehend aus Soft-Output-Werten entzerrter Symbole eingesetzt wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die erste Rechenprozedur die Viterbi-Kanaldekodierung von entschachtelten und depunktierten Daten umfasst und die zweite Rechenprozedur die Entschachtelung und Depunktierung von Daten umfasst.
  11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass die zweite Rechenprozedur ferner die Kombination von entschachtelten und depunktierten Daten bei Incremental Redundancy umfasst.
  12. Verfahren nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, dass vor den Schritten b1 und b2 eine Vorverarbeitung der Daten sämtlicher Verarbeitungsabschnitte (a1, a2, ..., ap) durch einen reinen Software-Verarbeitungsablauf (v) vorgenommen wird.
  13. Vorrichtung zum Entzerren eines über einen gestörten Kanal übertragenen Signals nach dem Verfahren eines der Ansprüche 3 bis 8, mit – einer festverdrahteten ersten Hardware-Schaltung (RW1) zum Ausführen der ersten Rechenprozedur, und – einem digitalen Signalprozessor (DSP) zum Ausführen der zweiten Rechenprozedur.
  14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die erste Hardware-Schaltung (RW1) umfasst: – einen ersten Hardware-Datenpfad zur Durchführung von ACS-Operationen, welcher Zustandsmetriken berechnet, – einen zweiten Hardware-Datenpfad zur Berechnung von Übergangsmetrikwerten, – einen dritten Hardware-Datenpfad zur Berechnung von Soft-Output-Werten und/oder Hard-Output-Werten für die entzerrten Symbole, und – einen vierten Hardware-Datenpfad zur Berechnung von Zustandsvektoren.
  15. Vorrichtung zum Kanaldekodieren eines über einen gestörten Kanal übertragenen Signals nach dem Verfahren der Ansprüche 9 bis 12, mit – einer festverdrahteten zweiten Hardware-Schaltung (RW2) zum Ausführen der ersten Rechenprozedur, und – einem digitalen Signalprozessor (DSP) zum Ausführen der zweiten Rechenprozedur.
DE2002147227 2002-10-10 2002-10-10 Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren Withdrawn DE10247227A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002147227 DE10247227A1 (de) 2002-10-10 2002-10-10 Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002147227 DE10247227A1 (de) 2002-10-10 2002-10-10 Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren

Publications (1)

Publication Number Publication Date
DE10247227A1 true DE10247227A1 (de) 2004-04-22

Family

ID=32038440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002147227 Withdrawn DE10247227A1 (de) 2002-10-10 2002-10-10 Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren

Country Status (1)

Country Link
DE (1) DE10247227A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202005021880U1 (de) 2005-01-11 2010-12-23 Dorma Gmbh + Co. Kg Vorrichtung zum Öffnen und/oder Schließen einer Tür

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202005021880U1 (de) 2005-01-11 2010-12-23 Dorma Gmbh + Co. Kg Vorrichtung zum Öffnen und/oder Schließen einer Tür

Similar Documents

Publication Publication Date Title
DE3910739C2 (de)
EP0392603B1 (de) Übertragungssystem
DE69929652T2 (de) Datenfehlerkorrektursystem
WO2003071689A2 (de) Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE19827815B4 (de) Empfänger
DE102012100945A1 (de) Iterativer Decodierer
EP3782340A1 (de) Decodergestützte iterative kanalschätzung
EP0488456A2 (de) Maximalwahrscheinlichkeitsempfänger
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
EP1198890B1 (de) Verfahren zum erzeugen von zuverlässigkeitsinformationen für die kanaldecodierung in einem funkempfänger sowie entsprechender funkempfänger
EP1334563B1 (de) Verfahren und vorrichtung zum dekodieren einer folge physikalischer signale, zuverlässigkeitswert-ermittlungseinheit und viterbi-dekodiereinheit
DE69908820T2 (de) Verfahren und system zur schnellen maximale-a-posteriori-dekodierung
WO2002060071A2 (de) Viterbi-decoder
DE10247227A1 (de) Verfahren und Vorrichtung zur Verarbeitung eines Datenstroms in einem Funkempfänger mittels Software- und Hardware-Prozeduren
EP1130788A2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE19647653A1 (de) Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren
DE60118716T2 (de) Log-MAP Dekodierung
EP1393514B1 (de) Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk
EP1223679B1 (de) Berechnung und Zuweisung von Übergangsmetrikwerten für einen Viterbi-Dekodierer
DE19647314A1 (de) Verfahren zum Erkennen von Fehlern bei der Datenübertragung
DE10213882B4 (de) Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
EP1488531A1 (de) Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge
EP1626507A1 (de) Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee