-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet
der Erfindung
-
Die
Erfindung bezieht sich auf digitale Informationsübertragungssysteme und genauer
gesagt auf ein digitales Informationsübertragungssystem, das einen
Empfänger
mit einem einzigen Oszillator zur Demodulation und Dekompression
digitaler Information umfaßt.
-
2. Beschreibung des technischen
Hintergrunds
-
Ein
herkömmliches
digitales Informationsübertragungssystem
beinhaltet eine Datenquelle, einen Sender, ein Übertragungsmedium und einen Empfänger. Anschaulich
ist in einem digitalen Televisionssystem die Datenquelle ein digitalisiertes
Audio-Video-Signal, der Sender beinhaltet eine Mehrzahl von Anwendungskodierern
(z. B. einen Videosignalkodierer (MPEG), einen Audiosignalkodierer
und einen Kodierer für
Systemsteuerungsinformation), einen Transportkodierer zum Paketieren
und Multiplexen der kodierten Signale und einen M-fachen Quadratur-Amplitudenmodulations-(QAM)-Modulator. Das Übertragungsmedium
ist typischerweise ein Kabelnetz. Der Empfänger in einem digitalen Televisions-
bzw. Fernsehsystem beinhaltet einen Demodulator zur Demodulation
des QAM-Signals, eine Transportdekodierer zum Entpacken und Demultiplexen
des kodierten Signals, eine Mehrzahl von Anwendungsdekodierern und
eine Darstellungseinrichtung zum Anzeigen der Information aus der
Datenquelle für
einen Benutzer, z. B. kann die Darstellungseinrichtung ein herkömmliches
Fernsehgerät sein.
Ein solcher Empfänger,
obwohl zur Zeit nicht für die Öffentlichkeit
verfügbar,
ist voraussichtlich eine "Set-Top"-Einheit in der Wohnung
eines Systembenutzers. Diese Form eines digitalen Informationsübertragungssystems
ist nach dem Stand der Technik weithin bekannt. Ein Beispiel ist
ein digitales NTSC-Televisionssystem (NTSC = National Television Standards
Committee). Eine Standardentwurf für Video- und Audio-Kodierungstechniken,
der in einem digitalen Televisionssystem verwendet werden soll, ist
in "Information
Technology-Generic Coding of Moving Pictures and Associated Audio", Empfehlung H.222.0,
ISO/IEC 13818-1, 10. Juni 1994 offenbart.
-
Genauer
beinhaltet ein herkömmlicher
digitaler Fernsehempfänger
einen Tuner zum Wählen
eines Informationskanals und einen Demodulator zum Demodulieren
eines vom Übertragungsnetz
empfangenen M-fachen QAM-Signals. Der Demodulator wird nach dem
Stand der Technik manchmal als ein Netzschnittstellenmodul oder
NIM (Network Interface Module) bezeichnet. Der Demodulator erzeugt
ein serielles digitales Basisband-Signal (einen Bitstrom, der paketierte
und gemultiplexte digitale Information enthält). Wie nach dem Stand der
Technik wohlbekannt ist, führt
der Demodulator Wiederherstellung des Träger(signal)s, Signalegalisierung,
Paketsynchronisation und Ähnliches
durch, um ein brauchbares digitales Basisband-Signal zu erzeugen.
Das Basisband-Signal muß von
einem Transportdekodierer weiter verarbeitet werden, um aus dem
Basisband-Signal die Video-, Audio- und Takt- bzw. Zeitsteuerungsinformation
innerhalb der Datenpakete zu extrahieren.
-
Der
herkömmliche
Transportdekodierer in einem digitalen Televisionssystem fungiert
im allgemeinen als ein hochentwickelter Phasenregelkreis, der bei
27 MHz betrieben wird, z. B. wird der Transportdekodierer mit einem
27-MHz-Referenzoszillator innerhalb des Senders, der den Anwendungskodierer enthält, synchronisiert.
Diese 27-MHz-Taktrate (bekannt als die Transporttaktrate) ist das
Doppelte der standardmäßigen Videoabtastrate,
die von dem Transportkodierer nach Standard CCR 601 verwendet wird.
Da der Empfänger
das 27-MHz-Taktsignal nur zum Dekodieren der kodierten Information,
die in den gesendeten Paketen übertragen
wird, verwendet, ist das 27-MHz-Taktsignal
völlig
unabhängig
von der Übertragungsrate
für Kanalsymbole.
Mit anderen Worten erzeugen die empfangenen Signale, sobald sie
mittels herkömmlicher
Taktsynchronisationstechniken demoduliert wurden, ein digitales
Basisband-Signal mit Symbolen und Bitraten, die unabhängig von
den 27 MHz sind. Typischerweise ist die Symbolrate viel geringer
als die Taktrate des Transportdekodierers. Um die Symbolrate des
Basisband-Signals mit der Transporttaktsignalrate zu synchronisieren,
werden die Basisband-Symbole mit der Symbolrate in einen Puffer
geschrieben und mit der Transportdekodierer-Taktrate aus dem Puffer
gelesen. Um eine solche Pufferung zu erleichtern, wird ein First-In-First-Out-(FIFO)-Speicher
verwendet. Es ist nachteilig, daß der Demodulator und der Transportdekodierer
ihre eigenen Frequenzquellen haben müssen (z. B. separate Kristalloszillatoren
zur separaten Taktung der FIFO-Schreib- und Lese-Operationen), da
sie mit zwei verschiedenen Frequenzen betrieben werden. Ein Beispiel
für den
Stand der Technik ist in EP-A-0624982 offenbart.
-
Darüber hinaus
erfordert das Verwenden eines FIFO zum vorübergehenden Speichern von Symbolen
auf diese Weise, daß das
System mit einer einzigen Symbolrate betrieben wird, falls nicht
mehrere Oszillatoren verfügbar
sind, um eine Reihe von Schreibadreßraten zu liefern, d. h. eine
Taktrate entsprechend jeder Symbolrate. In einem herkömmlichen
Empfänger
mit der Fähigkeit
zu mehreren Symbolraten muß in
dem Fall, daß sich
die Symbolrate ändert,
das Taktsystem geändert
werden, um sich der neuen Symbolrate anzupassen, d. h. eine unterschiedliche
Taktrate wird gewählt,
um die FIFO-Schreiboperation zu steuern. Folglich sind Empfänger mit
mehreren Symbolraten kompliziert und teuer.
-
Daher
besteht beim Stand der Technik ein Bedarf für einen Empfänger, der
ein Taktsignal aus einem einzelnen Kristalloszillator verwendet,
um Symboltaktung und Transportdekodierertaktung zu bewerkstelligen.
Darüber
hinaus besteht beim Stand der Technik ein Bedarf für einen
Empfänger,
der einen einzelnen Kristalloszillator verwendet und dennoch eine
Mehrzahl von Symbolraten demoduliert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Nachteile, die mit digitalen Informationsempfängern nach dem Stand der Technik
verbunden sind, werden durch einen Empfänger mit einem einzelnen Kristalloszillator überwunden.
Dieser einzelne Oszillator liefert eine einzige Taktrate sowohl
zur Signaldemodulation als auch zur Transportdekodierung. Der Empfänger ist
in der Lage, eine Anzahl verschiedener Kanalsymbolraten zu empfangen,
ohne diese Taktrate zu ändern.
-
Speziell
beinhaltet eine Ausführungsform des
Empfängers
einen Eingangssignalprozessor, eine Symboltaktschleife, einen Demodulator,
einen Transportdekodierer, eine Transporttaktschleife, einen oder
mehrere Anwendungsdekodierer und einen oder mehrere Darstellungseinrichtungen.
Der Eingangssignalprozessor digitalisiert und interpoliert das Eingangssignal.
Der Interpolationsvorgang wird durch zeitweiliges Puffern des digitalisierten
Eingangssignals (der Signalabtastungen bzw. -samples) in einem Speicher
und durch Verwenden eines Taktsynchronisierers (einer Symboltaktschleife)
zum Zurückholen
der Signalsamples aus dem Speicher und zur Interpolation der zurückgeholten
Eingangssamples bewerkstelligt, so daß das digitalisierte Eingangssignal
optimal erneut abgetastet wird. Wegen der zeitweiligen Speicherung
und des Zurückholens
des digitalisierten Eingangssignals ist das interpolierte Signal
von Natur aus "stoßartig", d. h. das Signal
ist nicht kontinuierlich. Als eine Folge der Diskontinuierlichkeit
des interpolierten Signals ist jede vom Sender übertragene, periodische Taktinformation
nicht mehr periodisch. Diese Stoßartigkeit wird beseitigt,
indem die Signalverarbeitung unterbunden wird, wenn interpolierte
Signale nicht aus dem Interpolierer verfügbar sind, und die Frequenz
des Oszillators des Empfängers
mit einem empfangenen Taktsignale mittels einer Transporttaktschleife
synchronisiert wird. Die Transporttaktschleife, die die geschachtelte
Schleifen bildende Symboltaktschleife umfaßt, synchronisiert den Transporttakt
(oder den Takt auf Paketniveau). Der Transporttakt wird durch Frequenzsynchronisation
des Oszillators des Empfängers
mit einem vom Sender übertragenen
Taktsignal bewerkstelligt.
-
In
einer zweiten Ausführungsform
der Erfindung wird der Oszillator in dem Empfänger asynchron betrieben. Als
solche führt
eine Symboltaktschleife die Symboltaktsynchronisation mittels des Eingabe-
bzw. Eingangsinterpolators durch und die Transporttaktung wird durch
eine separate Transporttaktschleife erreicht. Die "Stoßartigkeit" des Signals, das
aus dem Eingabeinterpolator resultiert, wird mittels eines Ausgabe-
bzw. Ausgangsinterpolators beseitigt. Der Ausgabeinterpolator ist
hinter den Anwendungsdekodierern und vor der bzw. den Anzeigeeinrichtung(en)
angeordnet. Auf diese Weise veranlaßt der Empfänger, daß das stoßartige bzw. diskontinuierliche
Signal kontinuierlich wird, indem er den Ausgabeinterpolator verwendet,
um die Darstellungszeit der empfangenen Information anzupassen. Als
solcher erzeugt der Empfänger
kontinuierliche Signale für
die Anzeige durch die Darstellungseinrichtung(en), ohne die Frequenz
des Oszillators des Empfängers
mit einem empfangenen Signal zu synchronisieren.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Lehren der vorliegenden Erfindung kann man leicht durch Betrachten
der folgenden, detaillierten Beschreibung in Verbindung mit den
beigefügten Zeichnungen
verstehen, wobei
-
1 ein
Blockdiagramm hoher Stufe eines Empfängers gemäß einer ersten Ausführungsform der
Erfindung darstellt;
-
2 ein
detailliertes Blockdiagramm des Empfängers in 1 darstellt;
-
3 ein
detailliertes Blockdiagramm eines Phasendetektors darstellt, der
in dem in 1 dargestellten Empfänger enthalten
ist;
-
4 ein
detailliertes Blockdiagramm eines Schleifenfilters darstellt, der
in dem in 1 dargestellten Empfänger enthalten
ist;
-
5 ein
detailliertes Blockdiagramm eines Modulo-Integrators darstellt,
der in dem in 1 dargestellten Empfänger enthalten
ist;
-
6 ein
detailliertes Blockdiagramm einer Symbolverarbeitungssteuerung darstellt,
die in dem in 1 dargestellten Empfänger enthalten
ist;
-
7 ein
detailliertes Blockdiagramm eines Taktanpassungsschaltkreises darstellt,
der in dem in 1 dargestellten Empfänger enthalten
ist;
-
8 ein
detailliertes Blockdiagramm eines herkömmlichen Demodulators darstellt,
der in dem in 1 dargestellten Empfänger enthalten
ist;
-
9 ein
detailliertes Blockdiagramm eines spannungsgesteuerten Oszillator-(voltage
controlled oscillator, VCXO)-Steuerschaltkreises darstellt;
-
10 ein
detailliertes Blockdiagramm eines digitalen, numerisch-gesteuerten
Zählers
(Numerical Controlled Counter, NCC) und seines Steuerungsschaltkreises
darstellt;
-
11 ein
Blockdiagramm einer beispielhaften Anwendung des NCC von 10 darstellt,
wie in Verbindung mit einem MPEG-Dekodierer und einem komprimierten
Audio-Dekodierer verwendet;
-
12 ein
Blockdiagramm hoher Stufe eines Empfängers gemäß einer zweiten Ausführungsform
der Erfindung darstellt; und
-
13 ein
detailliertes Blockdiagramm des in 12 dargestellten
Empfängers
darstellt.
-
Um
das Verständnis
zu erleichtern wurden, wo es möglich
war, identische Referenznummern verwendet, um identische Elemente
zu bezeichnen, die den Figuren gemeinsam sind.
-
DETAILLIERTE BESCHREIBUNG
-
1 stellt
ein Blockdiagramm hoher Stufe eines Empfängers 100 gemäß den Lehren
einer ersten Ausführungsform
der vorliegenden Erfindung dar. Der Empfänger soll im Kontext einer
herkömmlichen digitalen
Televisionsanwendung beschrieben werden. Jedoch werden Fachleute
auf dem Gebiet aus der folgenden Offenbarung verstehen, daß diese Form
eines erfindungsgemäßen Empfängers in
jedem digitalen Datenübertragungssystem
verwendet werden kann, das Information in Paketen überträgt, wobei
ein oder mehrere Pakete Sendertaktinformation enthalten. In dem
digitalen Televisionssystem werden Sendertaktinformationen periodisch
als Zählerwerte
der Programmtaktreferenz übertragen.
Die PCR-Zählerwerte
stellen die Zeit dar, die seit dem Beginn eines digitalen Televisionsprogramms
vergangen ist.
-
Speziell
beinhaltet die erste Ausführungsform
des Empfängers 100 einen
Eingangssignalprozessor 102, einen Taktsynchronisierer 104,
einen Demodulator 106, einen Oszillatorsteuerungsschaltkreis 120,
einen Oszillator (VCXO) 118, einen Transportdekodierer 108,
einen oder mehrere Anwendungsdekodierer 112 und einen oder
mehrere Darstellungseinrichtungen 116. Typischerweise wählt ein Tuner
(nicht abgebildet), der vor dem Empfänger gelegen ist und mit ihm
verbunden ist, aus mehreren verfügbaren
Kanälen,
die von dem Übertragungsmedium übertragen
werden, einen Informationskanal zum Empfang aus.
-
Das
Eingangssignal an den Eingangssignalprozessor 102 ist ein
moduliertes Signal, z. B. ein M-faches QAM-Signal, das bei einer
niedrigen Zwischenfrequenz (Intermediate Frequency, IF) zen triert ist,
z. B. ein 5 MHz IF mit einer Bandbreite von 6 MHz. Wenngleich die
Erfindung in Beziehung zu einem OAM-Signal diskutiert wird, werden
Fachleute auf dem Gebiet verstehen, daß die Erfindung mit jeder anderen
Form von Modulation verwendet werden kann, z. B. Restseitenband
(Vestigial Sideband, VSB), Offset-QAM (OQAM) und ähnliches.
Der Eingangssignalprozessor digitalisiert das Eingangssignal (tastet
es ab) bei einer Rate von 27 Millionen Abtastungen pro Sekunde und
interpoliert das digitalisierte Signal mittels eines Vorgangs, der
gemeinhin als Polyphasenfilterung bekannt ist. In dieser Anwendung
tastet die Polyphasenfilterung das digitalisierte Eingangssignal
optimal erneut ab. Der Vorgang des Neuabtastens wird durch eine
Symboltaktschleife gesteuert, die den Eingangssignalprozessor 102 und den
Taktsynchronisierer 104 aufweist. Sobald es interpoliert
(erneut abgetastet) ist, demoduliert der Demodulator 106 das
erneut abgetastete Signal, um einen digitalen Bitstrom zu erzeugen,
der von einer Reihe von Signalabtastungen repräsentiert wird, wobei jede Abtastung
ein Byte der digitalen Daten ist, die eine Abtastung eines Kanalsymbols
darstellen. Diese digitalen Daten enthalten kodierte und komprimierte
Videosignale, Audiosignale und Systemsteuerungsinformation.
-
Der
Demodulator 106 sendet den digitalen Bitstrom an den Transportdekodierer 108,
wobei ein Transporttaktsynchronisationssignal aus der in dem Bitstrom
enthaltenen Sendertaktinformation erzeugt wird. Darüber hinaus
verwendet der Taktsynchronisierer 104 das Ausgangssignal
aus dem Eingangssignalprozessor 102, um ein Taktsynchronisationssignal
zu erzeugen. Der Oszillatorsteuerschaltkreis vergleicht dieses Taktsynchronisationssignal
mit einem Transporttaktsynchronisationssignal, um den Takt bzw.
die Zeitsteuerung zwischen dem Sender und dem Empfänger auf
einem Transportniveau zu synchronisieren, so daß der Empfänger den empfangenen digitalen
Bitstrom optimal verarbeiten kann.
-
Der
Transportdekodierer 108 entpackt und demultiplext die Datenpakete
und dekodiert auch geeignete Systemsteuerungsinformation, so daß Steuersignale
auf der Leitung 110 erzeugt werden. Die Daten aus den Paketen
werden an einen passenden Anwendungsdekodierer 112 übertragen,
d. h. Videodaten werden an einen MPEG-Dekodierer gesendet, Audiodaten
werden an einen Audiosignaldekodierer gesendet und Systemsteuerungsinformation
wird an einen oder mehrere Steuersignaldekodierer gesendet.
-
Weil
der Eingangssignalprozessor das Eingangssignal ohne Rücksicht
auf die Symbolrate digitalisiert, kann der Empfänger theoretisch jede Symbolrate
bis zu der Hälfte
der Rate verarbeiten, mit der das Eingangssignal digitalisiert wird.
Nichtsdestoweniger wird für
eine verbesserte Rauschimmunität
die Zeichenrate vorzugsweise auf ein Viertel der Rate begrenzt,
mit der der Eingangssignalprozessor das Eingangssignal abtastet.
Wenn zum Beispiel das Eingangssignal mit 27 MHz digitalisiert wird,
kann die Kanalsymbolrate jede Rate bis zu 6,75 MSymbole/Sek sein.
-
Um
einen solch flexiblen Empfängerbetrieb ohne
A-Priori-Synchronisation des Digitalisierungsprozesses mit der Zeichenrate
zu erreichen, interpoliert der Eingangssignalprozessor 102 das
digitalisierte Signal, d. h. das digitalisierte Signal wird erneut abgetastet.
Jedoch führt
eine solche Interpolation dazu, daß das interpolierte Signal "bursty" bzw. "stoßartig" wird, d. h. ein
nicht-kontinuierliches
Signal, das intermittierend am Ausgang des Eingangssignalprozessors
dargeboten wird. Der Empfängertakt
muß als
solcher angepaßt
werden, um die stoßartige
Natur der interpolierten Daten zu kompensieren, so daß der oder
den Darstellungseinrichtung(en) ein kontinuierliches Ausgangssignal
präsentiert
wird. In dieser ersten Ausführungsform
des Empfängers
wird die "stoßartige" Natur der Interpolatorausgabe
durch Anpassen der Frequenz des Oszillators und Unterbinden jeglicher
Signalverarbeitung kompensiert, immer wenn keine Daten aus dem Eingangsinterpolator
verfügbar
sind.
-
Speziell
werden zwei Taktschleifen verwendet, um Taktsynchronisation zu erreichen.
Die erste Schleife (eine Symboltaktschleife) wird durch den Eingangssignalprozessor 102 und
den Taktsynchronisierer 104 gebildet. Die zweite Schleife
(eine Transporttaktschleife) wird durch den Eingangssignalprozessor 102,
den Demodulator 106, den Transportdekodierer 108,
den Taktsynchronisierer 104, den Oszillatorsteuerungsschaltkreis 120 und
den Oszillator/Zähler 118 gebildet.
Die Taktschleifen sind "geschachtelt", so daß sich die
erste Schleife innerhalb der zweiten Schleife befindet. Die Taktsynchronisation
setzt die erste Ausführungsform
des Empfängers in
die Lage, die "stoßartige" Information zu verarbeiten,
so daß der
Empfänger
die "stoßartigen" Eigenschaften der
verarbeiteten Information beseitigt, sobald der Empfänger Taktsynchronisation
erreicht hat. Als eine Folge davon stellt der Empfänger der
oder den Darstellungseinrichtung(en) 116 kontinuierliche Signale
zur Verfügung.
-
2 stellt
ein detailliertes Blockdiagramm eines Teils der ersten Ausführungsform
des Empfängers 100 dar,
der für
Taktsynchronisation (sowohl Symbol- als auch Transporttakt) verantwortlich
ist. Speziell beinhaltet der Eingangssignalprozessor 102 einen
Analog-Digital-(A/D)-Wandler 200, einen Phasentrenner bzw.
-splitter und Spektralverschieber 202, einen Eingangsinterpolator
(Polyphasenfilter) 204, einen Schreibadressen-(Write Address, WADD)-Generator 206 und
einen Modulo-Integrierer 208 als einen Leseadreß-Generator.
Ein Abtasttakt (das 27-MHz-Oszillatorsignal) treibt den A/D-Wandler 200.
Dieser Abtasttakt hat eine Rate, die mindestens zweimal so hoch
wie die erwartete maximale Kanalsymbolrate ist. Typischerweise ist
die Taktrate jedoch viermal so hoch wie die maximale erwartete Kanalsymbolrate,
z. B. eine Taktrate von 27 MHz für eine
maximale erwartete Symbolrate von 6,75 MSymbole pro Sekunde. Obwohl
der Empfänger
natürlich
in der Lage ist, andere Taktraten und Kanalsymbolraten zu verwenden,
benutzt die folgende Beschreibung diese Raten der Einfachheit und
der Konsistenz beim Erklären
der Funktionsweise des Empfängers
halber. Der Phasenspalter und Spektralverschieber 202 verarbeitet
das digitalisierte Eingangssignal, um In-Phasen-(I)- und Quadratur-(Q)-Basisbandsignale
zu bilden. Der Interpolator 204 interpoliert die I- und
Q-Signale separat. In der Praxis verwendet der Empfänger einen
einzelnen Interpolator auf einer Zeitteilungsmultiplexbasis, um
sowohl die I- als auch die Q-Signale zu interpolieren.
-
Der
Interpolator 204 beinhaltet einen Speicherabschnitt mit
wahlfreiem Zugriff (Random Access Memory, RAM), der als ein First-In-First-Out-(FIFO)-Speicher
(z. B. ein Ringpuffer) verwendet wird, und einen Interpolatorabschnitt. Der
Schreibadreß-Generator 206 stellt
Schreibadressen (Write Addresses, WADD) in einer sequentiellen Weise
und mit einer vorgeschriebenen, festen Rate (z. B. 13,5 MHz) bereit.
Für jede
Adresse speichert das FIFO eine Signalabtastung (I oder Q). Darüber hinaus
erzeugt der unten mit Bezug auf 5 diskutierte
Modulo-Integrator 208 Leseadressen (Read Addresses, RADD).
Der Modulo-Integrator hat einen Modul, der gleich der Länge des
FIFO ist. Der Modulo-Integrator erzeugt Leseadressen mit einer Nominalrate,
die leicht größer als
die Rate ist, mit der der Schreibadreß-Generator Schreibadressen
erzeugt. Somit wird das FIFO über
eine Zeitspanne von allen Daten geleert, wenn es unkontrolliert
bleibt. Somit wird der Vorgang des Erzeugens von Schreibadressen
intermittierend unterbunden, um es dem FIFO zu ermöglichen,
eine vorab definierte Anzahl von Bytes von I- und Q-Signaldaten
zu speichern. Wie unten unter Bezug auf 6 diskutiert
wird, wird die Steuerung dieses Intermittierens durch die Symbolverarbeitungssteuerung 216 geleistet.
-
Während des
Betriebs bildet der FIFO einen Ring-(oder zirkulären)Puffer, der die I- und
Q-Signale vorübergehend
speichert. Die Leseadressen (RADD) enthalten sowohl einen Ganzzahlwert
bzw. ganzzahligen Wert als auch einen Bruchteilwert. Der Ganzzahlwert
wird verwendet, um sequentiell auf Speicherstellen in dem FIFO zuzugreifen,
während
der Bruchanteil von dem Interpolatorabschnitt des Interpolators
verwendet wird. Wie es bei digitalen Interpolatoren üblich ist,
wird der Bruchanteil verwendet, um die Interpolationsfunktion zu
steuern, die auf einen Mehrzahl von Signalabtastungen angewandt
wird, die in der Nachbarschaft derjenigen Signalabtastung liegen,
die von dem Ganzzahl-Anteil der Leseadresse zurückgeholt wird. Die Interpolation
der Mehrzahl von Signalabtastungen liefert ein interpoliertes Signal.
Der Interpolator erzeugt sowohl I- als auch Q-interpolierte Signale. Im Wesentlichen
tastet der Interpolator das Eingangssignal erneut ab. Das erneute Abtasten
wie unten diskutiert wird bewirkt, um optimale Signalabtastungen
zur Verarbeitung durch den Demodulator bereitzustellen, auch wenn
die tatsächlichen
Abtastungen, die von dem A/D-Wandler
aus dem Eingangssignal genommen wurden, nicht optimal sind.
-
Die
interpolierten Werte werden ferner von einem herkömmlichen
Demodulator verarbeitet. Ein anschauliches Beispiel eines herkömmlichen
Demodulators ist in 8 abgebildet. Der Demodulator
beinhaltet ein angepaßtes
Filter 800, einen Vorwärts-Equalizer 802,
eine Trägerwiederherstellungsschleife 804,
einen Summierer 806, einen Quantisierer 810, einen
Entscheidungsrückkopplungs-Equalizer
(Decision Feedback Equalizer, DFE) 808, einen Symbol-zu-N-Tupel-Wandler 812,
einen Paketsynchronisierer 814, einen Entschachtler bzw.
Deinterleaver 816 und einen Reed-Solomon-Fehlerkorrekturkodierer (Reed-Solomon
Error Correction Coder, R-S ECC) 818. Jede dieser Komponenten
ist im Stand der Technik wohlbekannt und bedarf keiner weiteren Diskussion.
Die Ausgabe des herkömmlichen
Demodulators 106 ist ein digitaler Bitstrom (hier anschließend als
einfache Daten oder serielle Daten bezeichnet).
-
Gemäß 2 werden
die von dem Demodulator 106 erzeugten Daten an einen Teil
des Transportdekodierers gekoppelt, der als der Programmtaktreferenz-(Program
Clock Reference, PCR)-Paketlokalisierer 218 bekannt ist.
Das PCR-Paket ist ein Systemsteuerungspaket, das Zeit- bzw. Taktsteuerungsinformation
vom Sender an den Empfänger überträgt. Diese
Zeitsteuerungsinformation beinhaltet eine kodierte Abtastung eines
Taktsignals, das innerhalb des Senders verwendet wird. Für ein digitales
Televisionssystem, das MPEG-Video-Kompression verwendet, ist dieses
Taktsignal 27 MHz. Für
andere paketbasierte Übertragungssysteme
kann die Taktrate differieren; jedoch sind die Prinzipien der Verwendung
von übertragener
Taktinformation zur Synchronisation des Transporttaktes dieselben
wie hier diskutiert. Im speziellen repräsentiert die kodierte Abtastung
in einem digitalen Televisionssystem die Anzahl von Zyklen von 27
MHz, die aufgetreten sind, seit das aktuell übertragene Programm anfing, übertragen
zu werden. Mittels dieser kodierten Abtastung, z. B. dem PCR-Zähler, synchronisiert
die Transporttaktschleife in dem Empfänger ihr lokales 27-MHz-Taktsignal
mit dem Taktsignal des Senders.
-
Speziell
ist die PCR-Zahl bzw. der PCR-Zählerwert
ein 33-Bit-Feld, das periodisch, z. B. einmal alle 100 Millisekunden,
innerhalb eines Taktinformationspaketes an den Empfänger übertragen
wird. Sobald er von dem PCR-Paketlokalisierer empfangen und dekodiert
ist, speichert der Empfänger
den PCR-Zählerwert
im Register 220. Der Empfänger hält eine kodierte Abtastung
seines lokalen 27-MHz-Taktsignals aus dem Oszillator 224,
die die Anzahl von Zyklen des Taktsignals repräsentiert, die verstrichen sind,
seit der Empfang des aktuellen Programms anfing. Die kodierte Abtastung
ist der Wert des Zählers 228.
Dieser Zähler
wird anfangs mit dem PCR-Zählerwert
geladen, der aus einem ersten vom Empfänger nach einem Kanalwechsel
empfangenen PCR-Paket dekodiert wird. Von diesem Anfangswert aus
zählt der
Zähler 228 mit
einer Rate, die durch die lokale 27-MHz-Taktrate gesetzt wird. Wenn
der 27-MHz-Referenztakt in dem Sender nicht mit dem lokalen 27-MHz-Takt
synchronisiert ist, wird dann somit der Wert des Zählers 228 von
dem Zählerwert
abweichen, der von anschließend
empfangenen PCR-Zählerwerten
angegeben wird. Um die PCR-Zählerwerte
korrekt mit dem lokalen 27-MHz-Zählerwert
zu vergleichen, wird der lokale 27-MHz-Zählerwert
wegen der Burstiness bzw. Diskontinuität des interpolierten Eingangssignal
angepaßt.
Der angepaßte,
lokale 27-MHz-Zählerwert
wird hier als das angepaßte
lokale Taktsignal (oder ADJ. LOCAL 27) bezeichnet.
-
Durch
Vergleich der Referenz-27-MHz (hier als REF 27 oder PCR-Zählerwert
bezeichnet) mit einer Abtastung eines angepaßten lokalen Taktsignals (ADJ
LOCAL 27) erzeugt der Oszillatorsteuerungsschaltkreis 120 ein
Steuersignal auf Leitung 230, das die Differenz zwischen
den zwei Taktabtastungen anzeigt. Dieses Steuersignal wird verwendet,
um die Frequenz des einzelnen 27-MHz-Kristalloszillators 224 anzupassen,
so daß dieselbe
Anzahl von Zyklen bei dem Sender und dem Empfänger über die Zeitspanne zwischen
Abtastungen vergehen. Da der einzelne Oszillator die Taktsignale
für den
gesamten Empfänger
erzeugt, teilt ein Taktverteilungsschaltkreis (nicht abgebildet)
das Taktsignal und verteilt es an verschiedene Blöcke innerhalb
des Empfängers einschließlich des
A/D-Wandlers und der verschiedenen Anwendungsdekodierer. Somit wird
der lokale 27-MHz-Oszillator mit der Sendertaktfrequenz synchronisiert.
-
Da
jedoch der Eingabeinterpolator ein interpoliertes Signal in Stoßwellen
bzw. Bursts erzeugt, sind die Ankunftszeiten der PCR-Pakete gegenüber ihrer
richtigen Position verschoben, d. h. sie werden nicht mehr empfangen,
wie sie übertragen
wurden, das heißt
einmal alle 100 Millisekunden. Mit anderen Worten fügt der Eingabeinterpolator
Zeit- bzw. Taktschwankungen hinzu. Folglich müssen die Abtastungen des lokalen
27-MHz-Taktes angepaßt
werden, um die "stoßartige" Natur des interpolierten
Signals auszugleichen. Eine solche Synchronisation wird mittels
des Taktsynchronisierers 104 erreicht. Der Taktsynchronisierer
beinhaltet ein Bandkantenfilter 210, einen Phasendetektor 212,
ein Schleifenfilter 214, einen Taktanpassungsschaltkreis 222 und
eine Symbolverarbei tungssteuerung 216. Im speziellen hat das
Bandkantenfilter 210 ein Bandbreitenprofil, das ein Bandkantengefälle des
Filters zentral sowohl an der oberen als auch an der unteren Bandkante
der Bandbreite des Eingangssignals positioniert (z. B. bei ungefähr 2 und
8 MHz für
ein digitales Fernsehsignal). Darüber hinaus hat das Bandkantenfilter
ein Bandkantengefälle,
das Komplementär
zum Bandkantengefälle
des Eingangssignals ist. Somit erzeugt das Filter 210 ein
amplitudenmoduliertes Doppelseitenband-Signal (Double Sideband Amplitude
Modulated, DSB AM), das Symboltaktinformation enthält. Durch
Verarbeiten dieses DSB-AM-Signals in dem Phasendetektor 212 extrahiert
der Empfänger
Information darüber,
ob die Eingangssignalabtastung bezogen auf einen optimalen Abtastzeitpunkt
verfrüht oder
verspätet
auftritt.
-
3 stellt
ein detailliertes Blockdiagramm des Phasendetektors 212 dar.
Der Phasendetektor umfaßt
einen I-Phasendetektor 300 und einen Q-Phasendetektor 302.
Der I-Phasendetektor 300 beinhaltet ein Verzögerungsglied 304,
ein Verzögerungsglied 306,
einen Summierer 308 und einen Multiplizierer 310.
Die zwei Verzögerungsglieder
sind in Reihe geschaltet, so daß die
I-Phasenabtastung
des Eingangssignals um eine Symbolperiode verzögert ist, d. h. jede Verzögerung beträgt die Hälfte einer Symbolperiode.
Der Summierer subtrahiert das zweimal verzögerte Signal von der nicht
verzögerten I-Phasenabtastung
des Eingangssignals. Die Ausgabe des Summierers 308 wird
dann in dem Multiplizierer 310 mit einem einmal verzögerten Signal
multipliziert, das am Ausgang des Verzögerungsgliedes 304 erzeugt
wird. In ähnlicher
Weise wird das Q-Phasensignal verarbeitet. Die verarbeiteten I-
und Q-Signale werden in dem Summierer 320 summiert, um
ein Signal (hier anschließend
als ein Verfrüht/Verspätet-Signal
bzw. Early/Late Signal bezeichnet) zu erzeugen, das die Position
jedes Nulldurchgangs in der Eingabe bezogen auf die Abtastposition
angibt. Mit anderen Worten gibt dieses Signal an, ob das Abtasten
durch den A/D-Wandler bezogen auf einen optimalen Abtastzeitpunkt
verfrüht
oder verspätet
aufgetreten ist. Dieses "Verfrüht/Verspätet"-Signal wird an den
Eingang des Schleifenfilters 214 angelegt.
-
4 stellt
ein detailliertes Blockdiagramm des Schleifenfilters 214 dar.
Dieses Filter erzeugt am Anschluß 414 ein integriertes
Signal zur Verwendung durch den Taktanpassungsschaltkreis 222 und
am Anschluß 416 ein
integriertes und proportionales Signal zur Verwendung durch den
Modulo-Integrator 208. Insbesondere bildet das Verfrüht/Verspätet-Signal
von dem Phasendetektor eine Eingabe für zwei Verstärker 400 und 402.
Der Verstärker 400 hat
eine Verstärkung
von K2 und der Verstärker 402 hat eine Verstärkung von
K1. Die verstärkte Ausgabe des Verstärkers 400 bildet
eine Eingabe für
den Integrator 414. Der Integrator beinhaltet einen Summierer 410, ein
Verzögerungsglied 408 und
einen Multiplexer (MUX) 406. Der Multiplexer wird verwendet,
um den Integrator immer dann "auf
Null zu setzen",
wenn ein Kanalwechsel auftritt und der Empfänger auf ein neues Eingangssignal
abgestimmt bzw. synchronisiert werden muß. Daher wählt der MUX beim Auftreten eines
Kanalwechsels einen Wert von Null, um ihn eine vorab definierte
Zeit lang an den Integrator anzulegen, um zuvor integrierte Werte,
die in dem Verzögerungsglied
gespeichert sind, zu löschen.
Nach dem Löschen
der früheren
Werte (z. B. eines Taktzyklus')
wählt der
MUX die verzögerte
Ausgabe des Addierers als Eingabe für den Integrator. Die Ausgabe wird
durch einen Durchgang durch das Verzögerungsglied 408 verzögert, wobei
das Signal vorübergehend
für einen
Takt zyklus gespeichert wird. Das verzögerte Signal wird von dem MUX 406 an
einen Eingang des Summierers 410 angelegt. Die zweite Eingabe
des Summierers 410 ist das verstärkte Signal des Verstärkers 400.
Der integrierte Ausgang wird über
den Anschluß 414 an
den Taktanpassungsschaltkreis 222 angeschlossen. Darüber hinaus
wird das integrierte Signal in dem Summierer 404 zu einem
proportionalen Signal aus dem Verstärker 402 addiert.
Dieses zusammengesetzte Signal (integriert und proportional) wird über den
Anschluß 416 an
den Modulo-Integrator 208 gesendet.
-
5 stellt
ein detailliertes Blockdiagramm des Modulo-Integrators 208 dar.
Der Modulo-Integrator
beinhaltet eine Abgleichtabelle 500, die Werte von TINCR speichert, zwei Summierer 502 und 504,
einen MUX 506 und ein Verzögerungsglied 508.
Der Modulo-Integrator addiert das Signal aus dem Schleifenfilter 214 zu
einem Wert von TINCR, der aus der Tabelle 500 ausgewählt wird.
Die Werte von TINCR stellen für einen
gegebenen Kanal ein geschätztes
Verhältnis der
tatsächlichen
Symbolperiode zu der Periode des Symboltaktes dar. Zum Beispiel
könnte
dieses Verhältnis
gleich 1/5,0 MHz (tatsächliche
Kanalsymbolperiode) dividiert durch 1/6,75 MHz (tatsächliche Symboltaktperiode)
oder gleich 1,35 sein. Für
jeden Kanal speichert die Tabelle einen Wert von TINCR.
Der nominale Wert ist 1,35 (in Tabelle 500 mit N bezeichnet),
wenn für
einen bestimmten Kanal kein Wert verfügbar ist. Die anderen Werte
sind TINCR-Werte, die zuvor für bestimmte
Kanäle
verwendet wurden, z. B. unmittelbar vor einem Kanalwechsel zu einem
neuen Kanal speichert die Tabelle den aktuellen Wert von TINCR für
den aktuellen Kanal unter Bezug auf den aktuellen Kanal. Somit ist
ein Anfangswert von TINCR verfügbar, wenn
dieser Kanal wieder besucht wird.
-
Die
Summierung des Signals aus dem Schleifenfilter und des TINCR-Wertes wird in dem Summierer 504 mit
einem verzögerten
Signal summiert. Das verzögerte
Signal wird durch Durchlauf der Ausgabe des Summierers 504 durch
das Verzögerungsglied 508 gebildet.
Die Dauer der Verzögerung
ist eine Symboltaktperiode. Die Ausgabe des Summierers 504 bildet
die Leseadresse (RADD) für
das FIFO. Diese Leseadresse enthält
einen ganzzahligen Anteil und einen Bruchanteil. Der ganzzahlige
Anteil wird zum Zurückholen
eines Wertes aus dem FIFO verwendet und der Bruchanteil wird während der
Signalinterpolation verwendet. Der Modulo-Integrator 208 beinhaltet
auch einen MUX, der verwendet wird, um einen gespeicherten Signalwert
in dem Verzögerungsglied 508 auf
Null zu setzen (zu löschen).
Bei einem Kanalwechsel wählt
der MUX für
eine Periode einen Null-Wert als Eingabe für das Verzögerungsglied, was den in dem
Verzögerungsglied
gespeicherten Wert auf Null setzt.
-
6 stellt
ein detailliertes Blockdiagramm der Symbolverarbeitungssteuerung 216 dar,
die das gesamte Symbolverarbeitungssystem an- und ausschaltet abhängig davon,
ob Symbole zur Verarbeitung aus dem Eingangsinterpolator verfügbar sind. Die
Steuerung 216 steuert den Vorgang des Leerens des FIFO.
Obwohl in 2 nicht speziell dargestellt, ist
die Symbolverarbeitungssteuerung sowohl mit dem Modulo-Integrator
als auch mit jedem "Abwärtsstrom"-Verarbeitungsblock
verbunden, einschließlich der
Demodulationsprozesse, des Bandkantenfilters, des Phasendetektors
und des Schleifenfilters. Somit hält die Steuerung 216 immer
dann, wenn keine Abtastdaten aus dem Interpolator verfügbar sind,
alle Abwärtsstrom-Prozesse
an, bis wieder Abtastdaten verfügbar
sind.
-
Gemäß 6 wird,
wenn die Anzahl von in dem FIFO gespeicherten Werten eine vorab
definierte untere Grenze erreichen, das Holen von Symbolen unterbunden,
während
das FIFO wieder mit neuen Werten bis zu einer vorab definierten
oberen Grenze gefüllt
wird. Sobald es bis zur oberen Grenze gefüllt ist, wird der Abholprozeß wieder
gestartet. Ein solches Starten und Anhalten des Abholprozesses führt dazu,
daß die
Ausgabe des Eingabeintegrators von sehr "stoßartiger" Natur ist. Wie oben
diskutiert wird die Symbolverarbeitung für Taktinformation und Demodulation
während
Perioden unterbunden, in denen das FIFO sich erneut füllt. Die
Steuerung 216 erzeugt ein Steuersignal (DEC_ON), das zur
Steuerung der Symbolverarbeitung verwendet wird.
-
Insbesondere
beinhaltet die Symbolverarbeitungssteuerung 216 einen Subtrahierer 600,
einen Summierer 602, zwei Multiplexer 604 und 606,
einen Vergleicher 608 und ein Verzögerungsglied 610.
Der Subtrahierer 600, der Summierer 602 und der
MUX 604 werden zum Bestimmen der aktuellen Differenz zwischen
der Schreibadresse und den Leseadreßzeigern für das FIFO verwendet. Dazu
subtrahiert der Subtrahierer 600 die Leseadresse (RADD)
von der Schreibadresse (WADD). Das Ergebnis dieser Subtraktion bildet
eine Eingabe für
den MUX 604 und eine Eingabe für den Summierer 602.
Im Summierer 602 wird die Ausgabe des Summierers 600 mit
einer Zahl addiert, die die Gesamtlänge des FIFO (in 6 als
CIRCULAR_BUFFER_LENGTH bezeichnet) repräsentiert. Das Ergebnis dieser
Summation ist eine zweite Eingabe für den MUX 604. Der
von dem MUX 604 ausgewählte
Wert bildet eine Eingabe für
den Vergleicher 608. Um diesen Teil der Steuerung 216 in Pseudocode
zu wiederholen:
If (WADD-RADD) ≥ 0;
Then select WADD-RADD;
else;
Select
CIRCULAR_BUFFER_SIZE + (WADD-RADD)
-
Als
andere Eingabe für
den Vergleicher 608 dient entweder der obere Grenzwert
oder der untere Grenzwert. Der MUX 606 wählt aus,
welcher Grenzwert verwendet wird. Dieser MUX wird durch das Signal
DEC_ON gesteuert. Wenn DEC_ON niedrig ist (d. h. Unterbinden der
Symbolverarbeitung), wird die obere Grenze ausgewählt. Umgekehrt
wird, wenn das DEC_ON-Signal hoch ist (d. h. Symbolverarbeitung
ist zulässig),
die untere Grenze ausgewählt.
Somit hat der Vergleicher eine niedrige Ausgabe, bis die Differenz
zwischen den Lese- und Schreibadreßzeigern den hohen Grenzwert
annimmt. Danach geht die Vergleicherausgabe auf hoch, bis die Differenz zwischen
den Lese- und Schreibadreßzeigern
unter den unteren Grenzwert fällt.
Danach ist das DEC_ON-Signal niedrig. Um die Steuerung 216 realisierbar
zu machen, verzögert
das Verzögerungsglied 610 die
Ausgabe des Vergleichers um einen Taktzyklus, so daß der obere
oder untere Grenzwert überschritten
wird. Das DEC_ON-Signal wird an den Taktanpassungsschaltkreis 222,
den Modulo-Intergrator 208 sowie an alle anderen Schaltungen
gesendet, die die Symbole in dem Demodulator verarbeiten.
-
7 stellt
ein Blockdiagramm des Taktanpassungsschaltkreises 222 dar.
Dieser Schaltkreis 222 beinhaltet einen Datengültigkeitszähler 700,
einen PCR-Intervallzähler 702,
ein Auffangregister bzw. Latch 706, einen Dividierer 708 und
zwei Multiplizierer 710 und 712. Durch das Verarbei ten
verschiedener Signale erzeugt der Schaltkreis 222 einen
Zählerwert
(ADJ. LOCAL 27), der eine lokale PCR-Zählung für die empfangenen Pakete repräsentiert,
der angepaßt
ist, um die "stoßartige" Natur der interpolierten
Signale zu kompensieren, z. B. wird die lokale Zählung für Perioden angepaßt, wenn
aus dem Interpolator kein Signal verfügbar ist.
-
Insbesondere
zählt der
Datengültigkeitszähler das
Auftreten von Impulsen, die den Systemtakt geteilt durch vier repräsentieren
(z. B. bei einem 27-MHz-Systemtakt zählt der Zähler mit einer 6,75-MHz-Rate),
wenn das DEC_ON-Signal hoch ist. Wenn das DEC_ON-Signal niedrig
ist, wird der aktuelle Zählwert
gehalten, bis entweder der Zähler
zurückgesetzt
wird oder der Zähler
wieder zu zählen beginnt.
Darüber
hinaus zählt
der PCR-Intervallzähler
dieselben Vorkommen des dividierten Taktsignals. Sowohl der PCR-Intervallzähler als
auch der Datengültigkeitszähler werden
beim Auftreten eines PCR-Pakets in der empfangenen Information zurückgesetzt.
Der Rücksetzabtastimpuls
(STROBE) wird von dem PCR-Paketlokalisierer 218 in dem
Transportdekodierer erzeugt. Der Summierer 707 addiert die
Ausgabe von dem Integralsignal aus dem Schleifenfilter zu TINCR aus dem Modulo-Integrator und das Ergebnis
wird an das Auffangregister 706 angelegt. Ebenso wird an
das Auffangregister der Wert des Datengültigkeitszählers, der Wert des PCR-Intervallzählers und
der Wert des lokalen 27-MHz-Zählers
angelegt. Das Auffangregister 706 fängt diese Signale beim Auftreten
des Abtastimpulses auf, der von dem PCR-Paketlokalisierer 218 erzeugt
wird.
-
Der
Dividierer dividiert den zwischengepufferten Wert (Y) des Datengültigkeitszählers durch den
Wert (X) des PCR-Intervallzählers.
Das Ergebnis der Division repräsentiert
eine momentane Verarbeitungsrate für das System. Die momentane
Verarbeitungsrate wird in dem Multiplizierer 710 mit der
zwischengepufferten Summation des Schleifenfiltersignals plus TINCR multipliziert, um einen Korrekturfaktor zu
erzeugen. Der Korrekturfaktor wird in dem Multiplizierer 712 mit
dem zwischengepufferten 27-MHz-Zählerwert
multipliziert, um einen korrigierten oder angepaßten 27-MHz-Zählwert
(ADJ. LOCAL 27) zu bilden. Der Wert "adjusted local 27" ist der 27-MHz-Taktzählwert,
der wegen der Diskontinuität bzw.
Burstiness der Symbole, die den Interpolator passiert haben, angepaßt wurde.
Dieser Wert "adjusted
local 27" wird dann
mit dem Referenz-27-Wert kombiniert, um eine Steuerspannung für den 27-MHz-VCXO
zu erzeugen.
-
9 stellt
ein detailliertes Blockdiagramm des Oszillatorsteuerungsschaltkreises 120 dar,
der den Wert "Referenz-27" und den Wert "adjusted local 27" kombiniert, um ein
VCXO-Steuersignal zu bilden. Die Verwendung dieser Form der Steuerung
synchronisiert die Schaltkreisfrequenz des 27-MHz-Oszillators in
dem Empfänger
mit derjenigen des 27-MHz-Oszillators in dem Sender. Insbesondere verarbeitet
der Schaltkreis 120 den Wert "adjusted local 27" und den Wert "Referenz-27" in einer differentiellen Weise. Die
differentielle Verarbeitung jedes Wertes wird durch zwei Verzögerungsglieder 900 und 902 und
zwei Subtrahierer 904 und 906 erreicht. Jedes
der Verzögerungsglieder
wird durch das Abtastsignal aus dem PCR-Paketlokalisierer gesteuert. Dieses
Abtastsignal tritt auf, wenn jeweils ein PCR-Paket auftritt. Somit
subtrahiert der Subtrahierer 904 den aktuellen Wert "adjusted local 27" von dem Wert "adjusted local 27", der beim vorherigen Auftreten
eines PCR-Paketes
vorlag. Dieselbe Subtraktion wird für den Wert "Referenz-27" verwendet. Die Differenzialwerte aus
den Subtrahierern 904 und 906 bilden Eingangssignale
für den
Vergleicher 908. Die Aus gabe des Vergleichers (z. B. die
Differenz zwischen dem differenzierten Wert "adjusted local 27" und dem differenzierten Wert "Referenz-27") wird an ein Schleifenfilter 910 angelegt.
Der Digital-zu-Analog-(D/A)-Wandler 912 wandelt
die Ausgabe des Schleifenfilters in ein analoges Signal um. Das
resultierende analoge Signal wird für die Frequenzregelung des
27-MHz-VCXO verwendet. Als Konsequenz davon ist der einzelne bzw.
einzige 27-MHz-Oszillator in dem Empfänger mit dem 27-MHz-Oszillator in dem
Sender synchronisiert. Somit ist der Transporttakt synchronisiert.
Als eine Folge der erreichten Taktsynchronisation tastet der A/D-Wandler
in dem Eingangssignalprozessor das Eingangssignal optimal ab und
die Ausgabedaten aus dem Transportdekodierer enthalten kontinuierliche
Datenströme
zur Verwendung durch die Darstellungseinrichtung.
-
12 stellt
ein Blockdiagramm einer zweiten Ausführungsform des Empfängers 1200 dar,
das einen asynchronen (freilaufenden) Oszillator 1202 anstatt
eines VCXO, wie in der ersten Ausführungsform der Erfindung verwendet,
enthält.
In dieser zweiten Ausführungsform
wird der freilaufende Oszillator 1202 verwendet, um das
Eingangssignal asynchron abzutasten. Wie bei der ersten Ausführungsform
beinhaltet diese zweite Ausführungsform
einen Eingangssignalprozessor 102, einen Demodulator 106, einen
Taktsynchronisierer 104, einen Transportdekodierer 108,
Anwendungsdekodierer 102 und eine oder mehrere Darstellungseinrichtungen 116.
Jede dieser Komponenten fungiert in einer identischen Weise wie
jene oben diskutierten. Der Empfänger 1200 beinhaltet
ferner einen Taktanpassungsschaltkreis 1000 und einen Ausgabeinterpolator 1204.
In dieser Ausführungsform
ist es wichtig zu beachten, daß die
Frequenz des freilaufenden Oszillators nicht mit dem Senderoszillator
synchronisiert ist.
-
13 stellt
ein detailliertes Blockdiagramm des Empfängers 1200 in 12 dar.
Die Bestandteile des Eingangssignalprozessor 102, Demodulator 106,
Taktsynchronisierer 104 und ein Teil des Transportdekodierers,
der für
das Lokalisieren der PCR-Pakete verantwortlich ist, funktionieren
genauso wie die oben beschriebenen. Somit bedürfen diese Komponenten keiner
weiteren Erläuterung.
Der Oszillator ist ein freilaufender 27-MHz-Oszillator ohne den
geringsten Steuerungsanschluß.
Er stellt lediglich dem A/D-Wandler 200 und dem Taktanpassungsschaltkreis 1000 ein
27-MHz-Signal zur
Verfügung.
-
10 stellt
ein detailliertes Blockdiagramm des Taktanpassungsschaltkreises 1000 dar.
Der Schaltkreis 1000 beinhaltet einen numerisch gesteuerten
Zähler 1002 (Numerical
Controlled Counter, NCC) und einen Vergleicherschaltkreis 1003.
Die Verwendung eines solchen Schaltkreises setzt den freilaufenden
27-MHz-Oszillator 1202 in dem Empfänger in die Lage, frei zu laufen,
d. h. asynchron zu arbeiten und doch einen synchron betriebenen
Empfänger
zur Verfügung
zu stellen. Als Folge davon ist der 27-MHz-Oszillator im Empfänger nicht
mit dem 27-MHz-Oszillator im Sender synchronisiert. Somit liefert
der 27-MHz-Oszillator ein Signal, auf dem der NCC für jeden
Zyklus des 27-MHz-Signals bis N zählt. Während N immer dann gleich 1
ist, wenn der lokale und der Referenz-Oszillator exakt dieselbe Frequenz haben,
ist N immer dann kleiner als 1, wenn der lokale Oszillator eine
höhere
Frequenz hat als der Referenz-Oszillator, und N immer dann größer als
1 ist, wenn der lokale Oszillator eine Frequenz hat, die niedriger
ist als die Frequenz des Referenz-Oszillators. Natürlich ist
der lokale Oszillator der freilaufende 27-MHz-Oszillator und der
Referenz-Oszillator ist der Oszillator des Senders. Die Frequenz des
Referenz-Oszillators wird durch die PCR-Zahl angegeben. Insbesondere
addiert der NCC eine gebrochene Zahl zu dem ganzzahligen Zählerwert
des NCC basierend auf einer gemessenen Differenz zwischen dem Wert "Referenz 27" (Ausgabe des PCR-Paket-Lokalisierers)
und den lokalen 27-Signalen (NCC-Ausgabe). Somit zählt der
NCC in Bruchteilzuwächsen.
-
Genauer
wird eine Abgleichtabelle 1006 bereitgestellt, um den Bruchteilzuwachs
basierend auf historischen Abstands- bzw. Offset-Werten für jeden Kanal
vorher zu definieren. Die ausgewählte
Kanalnummer wird als eine Adresse verwendet, um einen Anfangswert
des Bruchteilzuwachses (A',
B', C' usw.) zu holen oder
einen Nominalwert von eins, falls ein bestimmter Kanal zuvor nie
ausgewählt
wurde. Dieser Anfangswert ist in Wirklichkeit das Verhältnis des Wertes "Referenz 27" zum Wert "local 27", das bei einer vorherigen
Verwendung dieses bestimmten Kanals gemessen wurde. Nach einem Kanalwechsel wird
die letzte Verhältniszahl
für diesen
Kanal in der Tabelle gespeichert. Dieser Anfangsbruchteilwert wird
durch die Ausgabe des Schleifenfilters 1026 angepaßt. Die
Anpassung wird im Summierer 1008 durch Summieren der Schleifenfilterausgabe
mit dem Anfangsbruchteilwert durchgeführt. Der Bruchteilwert wird
danach im Summierer 1010 zu dem vorhergehenden Zählerwert
aus dem Verzögerungsglied 1014 addiert.
Das Verzögerungsglied 1014 steht
unter der Steuerung des freilaufenden Oszillators 1004,
so daß bei
jedem Zyklus der Oszillatorausgabe der Zähler am Eingang zu dem Verzögerungsglied
durch das Verzögerungsglied
getaktet wird. Der NCC wird bei jedem Kanalwechsel mittels des MUX 1012 gelöscht (auf
Null gestellt), d. h. ein Nullwert wird von dem MUX ausgewählt und
an das Verzögerungsglied
angelegt, bis alle in dem Verzögerungsglied
gespeicherten Werte Null sind.
-
Das
Ausgangssignal des NCC (der Wert "adjusted local 27") wird an die Anwendungsdekodierer (z.
B. einen MPEG-Videodekodierer, einen Dekodierer komprimierter Audiosignale
und so weiter) gesendet. Ein anschauliches Beispiel der Verwendung
der NCC-Ausgabe in Anwendungsdekodierern wird unten unter Bezug
auf 11 diskutiert. Wie in 10 weiter
gezeigt wird, wird das NCC-Ausgabesignal auch mittels des Verzögerungsgliedes 1016 und
des Subtrahierers 1018 differenziert. In ähnlicher
Weise wird das von dem PCR-Paketlokalisierer erzeugte Referenz-27-Signal mittels des
Verzögerungsgliedes 1020 und
des Subtrahierers 1022 differenziert. Das Verzögerungsglied
wird von dem Abtastsignal, das von dem PCR-Paketlokalisierer erzeugt
wird, gesteuert, d. h. bei jedem Auftreten des Abtastimpulses wird die
Eingabe an das Verzögerungsglied
durch das Verzögerungsglied
getaktet. Der Vergleicher 1024 vergleicht die differenzierten
Werte der NCC-Ausgabe
und des Referenz-27-Signals. Der Schleifenfilter 1026 filtert
die Ausgabe des Vergleichers und legt dann das gefilterte Signal
an den Summierer 1008 an. Somit werden die Differenzen
zwischen dem NCC-Ausgabesignal (adjusted local 27) und dem Referenz-27-Signal
kompensiert, so daß die
beiden Signale eventuell miteinander bezüglich der Frequenz synchronisiert
sind, d. h. der PCR-Zählerstand
ist derselbe wie der NCC-Zählerstand.
Man beachte, daß der
NCC-Steuerschaltkreis 1000 keine
Verbindung mit der Symboltaktschleife hat, d. h. dem Taktsynchronisierer 104,
dem Eingangssignalprozessor 102, dem Demodulator 106 in 12.
Diese Elemente funktionieren genau wie oben beschrieben, außer daß das 27-MHz-Signal,
das sie verwenden, frei laufend ist. Die Ausgabe des NCC-Steuerungsschaltkreises
(adjusted local 27) wird nur während
der Ausgabeinterpolation wie unten beschrieben verwendet.
-
In
dem in 11 abgebildeten anschaulichen
Beispiel wird das Signal "adjusted
local 27" sowohl
von einem MPEG-Videodekodierer 1100 als auch von einem
Dekodierer komprimierter Audiodaten 1128 verwendet. In
diesem Beispiel wird die Diskontinuität bzw. die Burstiness der Daten
mittels der Ausgabeinterpolatoren 1118 und 1130 aus
den interpolierten Signalen entfernt, um die von jedem Anwendungsdekodierer
dekodierten Signale zu interpolieren. Diese Ausgabeinterpolatoren
funktionieren in genau derselben Weise wie die Eingangsinterpolatoren
von 1. Insbesondere werden die dekodierten Video-
und Audiodaten mit einer ersten Rate in entsprechende Ringpuffer 1120 und 1132 geschrieben und
mit einer zweiten Rate aus den entsprechenden Puffern gelesen.
-
Genauer
versorgt der Transportdekodierer den MPEG-Dekodierer mit einem komprimierten
Videosignal und versorgt den Audiodekodierer mit einem komprimierten
Audiosignal. Da in dieser Empfängerausführungsform
das 27-MHz-Taktsignal, das im gesamten Empfänger verwendet wird, nicht
bzgl. der Signalburstiness angepaßt ist, ist die Ausgabe der
Dekodierer von stoßartiger
Natur (erfolgt in "bursts"). Der MPEG-Dekodierer
und der Audiodekodierer benutzen den ganzzahligen Anteil des Signals "adjusted local 27" als ein Taktsignal,
um das Dekodieren der entsprechenden komprimierten Signale zu vereinfachen.
Das Dekodieren wird in einer wohlbekannten Weise bewerkstelligt,
die keinen Teil der Erfindung bildet. Der Block 1104 entfernt
den gebrochenen Teil des Signals "adjusted local 27", wodurch nur der ganzzahlige Teil dieses
NCC-Zählerwertes
zum Gebrauch durch die Dekodierer übrigbleibt.
-
Das
Ausgabesignal aus dem MPEG-Dekodierer wird im Puffer 1120 gepuffert
und im Interpolator 1112 interpoliert. Der Wert "adjusted local 27" wird in dem Dividierer 1116 durch
2 dividiert und an den Puffer angelegt, um den Datenzugriff zu steuern,
und an den Interpolator, um den Interpolationsprozeß zu steuern.
Speziell bildet der ganzzahlige Anteil des dividierten Zählerwertes
eine Leseadresse (RADD) für den
Puffer, und der gebrochene Anteil des Zählerwertes wird verwendet,
um den abgeholten Pufferwert in einer wohlbekannten Weise zu interpolieren. Somit
werden die "stoßartigen" Daten aus dem MPEG-Dekodierer 1114 interpoliert,
um ein kontinuierliches YUV-Ausgabesignal
zu erzeugen, das von der Darstellungseinrichtung zur Anzeige eines
Videosignals verwendet wird.
-
In ähnlicher
Weise entfernt der Block 1126 den gebrochenen Anteil des
Wertes "adjusted
local 27", und der
Audiodekodierer 1128 verwendet diesen ganzzahligen Wert,
um ein komprimiertes Audioeingangssignal zu dekodieren. Der Puffer 1132 und
der Interpolator 1134 werden verwendet, um eine kontinuierliche
Audioausgabe der Audiodarstellungseinrichtung bereitzustellen. Der
Zugriff auf den Puffer 1132 wird durch den Wert "adjusted local 27" dividiert durch
N in Block 1124 gesteuert. Dabei hängt N von der Taktrate ab,
die benötigt
wird, um kontinuierlich auf Daten aus dem Puffer zuzugreifen.
-
Pufferüberlauf
und -unterlauf wird in den Puffern 1120 und 1132 vermieden,
weil die Anwendungsdekodierer, die synchronisiert wurden, da sie beide
den Wert "adjusted
local 27" verwen den,
Daten mit einer Durchschnittsrate an ihre jeweiligen Ausgangsinterpolatoren
liefern, die dieselbe ist wie die kontinuierliche Rate, mit der
Daten interpoliert und an die Darstellungseinrichtungen gesendet
werden. Somit wird die Burstiness der Daten beseitigt und der Empfänger beliefert
die Darstellungseinrichtungen nur mit kontinuierlichen Daten.
-
Die
vorstehende Offenbarung beschreibt die verschiedenen Ausführungsformen
der Erfindung, als wenn die Erfindung als eine Hardwareeinrichtung implementiert
wäre. Jedoch
werden die Fachleute auf diesen Gebiet verstehen, daß solch
ein Empfänger
als eine oder mehrere von einem Mikroprozessor ausgeführten Software-Routinen
implementiert werden kann, da der Empfänger ein rein digitales System ist.
Die Software-Routinen führen
im allgemeinen die Funktionen durch, die mit jedem Block in den 1 bis 13 verbunden
sind.
-
Obwohl
verschiedene Ausführungsformen, die
die Lehren der vorliegenden Erfindung berücksichtigen, gezeigt und hier
im Detail beschrieben wurden, können
sich die Fachleute auf diesem Gebiet leicht viele andere, abgeänderte Ausführungsformen ausdenken,
die immer noch diese Lehren beinhalten.