Ein Verfahren und eine Vorrichtung zum Verringern des Crestfaktors eines Signals, wobei die Vorrichtung eine Vielzahl von Teilkorrektursignalen mit jeweiligen vorgegebenen Frequenzen umfasst, wobei die Vorrichtung für jedes der Teilkorrektursignale folgende Schritte umfasst: (a) Bestimmen einer Zeitposition einer maximalen absoluten Amplitude des Signals, (b) Berechnen einer Amplitude und einer Phase für das jeweilige Teilkorrektursignal, abhängig von der in Schritt (a) bestimmten maximalen absoluten Amplitude und Zeitposition, (c) Subtrahieren des jeweiligen Teilkorrektursignals von dem Signal, um ein teilweise korrigiertes Signal zu erhalten, welches als das Signal in Schritt (a) für das nächste der Vielzahl von Teilkorrektursignalen benutzt wird, und Zurückkehren zu Schritt (a), um eine Amplitude und eine Phase für das nächste Teilkorrektursignal zu erhalten, wobei das Verfahren weiterhin den Schritt umfasst (d) Ausgeben des letzten erhaltenen teilweise korrigierten Signals als das korrigierte Signal mit dem verringerten Crestfaktor.
Beschreibung[de]
Die vorliegende Erfindung bezieht sich auf ein Verfahren und auf eine
Vorrichtung zum Verringern des Crestfaktors eines Signals, wobei der Crestfaktor
das Verhältnis von Spitzenwert zu Durchschnittswert des Signals ist. Insbesondere
bezieht sie sich auf ein Verfahren und eine Vorrichtung zum Verringern des Crestfaktors
eines Mehrträger-Kommunikationssignals. In den letzten Jahren wurden Mehrträger-Kommunikationssysteme
verbreitet insbesondere für xDSL-Kommunikationssysteme (Digital Subscriber Line)
wie ADSL (Asymmetric Digital Subscriber Line) oder VDSL (Very High Speed Digital
Subscriber Line) benutzt.
7 zeigt ein schematisches Blockdiagramm
eines derartigen Übertragungssystems. Ein serielles Datensignal a wird einem Seriell/Parallel-Wandler
1 zugeführt, welcher die seriellen digitalen Daten a in Datenpakete mit
N/2 Unterpaketen umwandelt, wobei N eine gerade Zahl ist. Ein Datenpaket wird parallel
an einen Kodierer 2 übertragen, welcher jedes Unterpaket einer separaten
Trägerfrequenz zuordnet und einen ersten digitalen Signalvektor an eine Einrichtung
3 zur inversen Fourier-Transformation zuführt, welche eine inverse Fourier-Transformation
mit diesem Vektor durchführt und einen zweiten digitalen Signalvektor erzeugt, welcher
N Abtastwerte eines zu sendenden Signals umfasst. Dieser zweite digitale Signalvektor
wird an einen Parallel/Seriell-Wandler 23 übertragen, welcher die Elemente
oder Abtastwerte des zweiten digitalen Signalvektors einem digitalen Filter
24 zuführt, welcher von einem Digital/Analog-Wandler 25 und einem
Leitungstreiber 26 gefolgt wird. Das so erzeugte analoge Sendesignal wird
über einen Kanal 27 übertragen, wobei ein Rauschen b hinzugefügt wird,
was durch einen Addierer 28 symbolisiert wird. Auf der Empfängerseite wird
das Signal durch einen Entzerrer/Analog/Digital-Wandler 29 entzerrt. Dann
wir das Signal dekodiert, indem die umgekehrten Schritte der Kodierelemente
1–23 durchgeführt werden, nämlich durch einen Seriell/Parallel-Wandler
30, eine Einrichtung 31 zur Fourier-Transformation, einen Dekodierer
32, einen Entscheider 33 und einen Parallel/Seriell-Wandler
34.
Ein derartiges Kommunikationssystem ist beispielsweise in der
US 6,529,925 B1 offenbart, deren
Inhalt hier durch Bezugnahme einbezogen wird.
Da das Sendesignal aus einer Vielzahl von verschiedenen Signalen mit
verschiedenen Trägerfrequenzen und Amplituden und Phasen, welche durch das Datensignal
bestimmt sind und somit keine vorgegebene Beziehung zueinander haben, zusammengesetzt
ist, weist die Amplitude des Sendesignals ungefähr eine Gauss-Verteilung auf.
8 zeigt die Wahrscheinlichkeit h der Amplitude A des
Sendesignals, wie sie durch eine Simulation für ein mit diskreter Multitonmodulation
moduliertes Sendesignal mit einer Blocklänge der Fourier-Transformation von 256
bestimmt wurde.
Wegen dieser Gauss-Verteilung ist der Crestfaktor des Signals recht
groß, das heißt das Sendesignal weist einen recht großen maximalen Amplitudenwert
verglichen mit dem effektiven oder durchschnittlichen Amplitudenwert auf. Da sowohl
die Digital/Analog- und Analog/Digital-Wandler als auch die Leitungstreiber angepasst
sein müssen, den gesamten möglichen Amplitudenbereich zu verarbeiten, müssen diese
Elemente entsprechend ausgestaltet sein, was zusätzliche Kosten und Chipfläche verursacht.
Es ist daher wünschenswert, den Crestfaktor zu verringern, das heißt die maximale
Amplitude zu verringern.
Prinzipiell sind zwei Herangehensweisen bekannt, um den Crestfaktor
zu verringern:
1. Ein Verfahren zum Verringern der maximalen Amplitude, welches das Sendesignal
stört.
Diese Verfahren umfassen Clipping-Verfahren, wie sie beispielsweise im US-Patent
Nr. 6,038,261 beschrieben sind.
2. Verfahren zum Verringern der maximalen Amplitude, ohne das Signal zu stören.
Allgemein benutzen diese Verfahren eine oder mehrere der Trägerfrequenzen,
um das Sendesignal zu modifizieren, um die maximale Amplitude zu verringern. Die
zu diesem Zweck benutzten Trägerfrequenzen können nicht oder können nur teilweise
für die tatsächliche Datenübertragung benutzt werden.
Eines dieser Verfahren ist in dem bereits zitierten US-Patent 6,529,925
B1 beschrieben. Dort wird die Nyquist-Frequenz als eine einzige Trägerfrequenz für
Korrekturzwecke benutzt, das heißt die letzte Frequenz bei der inversen Fourier-Transformation.
Bei einem ADSL-Signal wird diese Frequenz nicht für die Datenübertragung benutzt,
so dass die Korrektur die Übertragungskapazität nicht beeinflusst. Die Leistungsfähigkeit
dieses Verfahrens ist jedoch begrenzt, da nur eine einzige Trägerfrequenz zur Korrektur
benutzt wird. Des Weiteren ist dieses Verfahren nicht auf VDSL-Signale anwendbar,
da die Nyquist-Frequenz außerhalb des nutzbaren Frequenzbereichs
sowohl für Downstream- als auch für Upstream-Übertragung liegt.
In der US 6,424,681 B1
ist ein Verfahren zum Verringern des Crestfaktors unter Benutzung einer Vielzahl
von Trägerfrequenzen offenbart. Diese Trägerfrequenzen sind bevorzugt gleichmäßig
über den gesamten nutzbaren Frequenzbereich verteilt. Aus diesen Trägerfrequenzen
wird ein normalisiertes Korrektursignal, ein so genannter Kernel, erzeugt, welcher
eine „Dirac"-ähnliche Form aufweist, das heißt, welcher soweit möglich eine
einzige Spitze umfasst. Um ein Sendesignal zu korrigieren, wird dieses Korrektursignal
zu der Position des Maximums des Sendesignals phasenverschoben und dann mit einem
geeigneten Skalierungsfaktor, welcher von der maximalen Amplitude des Sendesignals
abhängt, skaliert. Dann wird dieses Korrektursignal von dem Sendesignal abgezogen.
Dies kann mehrfach wiederholt werden, um iterativ mehrere Maximal- oder Spitzenwerte
zu korrigieren. Für Übertragungssysteme mit einer großen Anzahl von Trägerfrequenzen
und demzufolge einer großen Anzahl von Signalwerten in jedem Rahmen, wie ein VDSL-Übertragungssystem,
ist dieses Verfahren schwer zu realisieren, da es eine relativ lange Rechenzeit
benötigt. Weiterhin müssen wegen der Benutzung eines Kernels die für die Korrektur
benutzten Trägerfrequenzen sowohl niedrige als auch hohe Frequenzen umfassen, welche
demzufolge nicht für die Datenübertragung benutzt werden können. Die Benutzung niedriger
Trägerfrequenzen führt auf der anderen Seite zu einem größeren Verlust an Übertragungskapazität,
da niedrigere Trägerfrequenzen aufgrund der niedrigeren Dämpfung mit mehr Bits als
hohe Trägerfrequenzen moduliert werden können.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
und eine Vorrichtung bereitzustellen, welche den Crestfaktor unter Benutzung einer
begrenzten Anzahl von Trägerfrequenzen effektiv verringern. Weiterhin ist es eine
Aufgabe, ein derartiges Verfahren und eine derartige Vorrichtung bereitzustellen,
welche für VDSL-Übertragung benutzbar sind.
Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1 und
eine Vorrichtung gemäß Anspruch 18. Die abhängigen Ansprüche definieren bevorzugte
oder vorteilhafte Ausführungsbeispiele der vorliegenden Erfindung.
Erfindungsgemäß werden zum Verringern des Crestfaktors eines Signals
unter Benutzung einer Vielzahl von Teilkorrektursignalen mit vorgegebenen Frequenzen
die folgenden Schritte durchgeführt:
(a) Bestimmen einer Zeitposition einer maximalen absoluten Amplitude des Signals,
(b) Berechnen einer Amplitude und einer Phase für das jeweilige Teilkorrektursignal
abhängig von der in Schritt (a) bestimmten maximalen absoluten Amplitude und der
Zeitposition,
(c) Subtrahieren des jeweiligen Teilkorrektursignals von dem Signal, um ein
teilweise korrigiertes Signal zu erhalten, welches als das Signal in Schritt (a)
für das nächste der Vielzahl von Teilkorrektursignalen benutzt wird, und Zurückkehren
zu Schritt (a), um eine Amplitude und eine Phase für das nächste Teilkorrektursignal
zu berechnen, wobei das Verfahren weiterhin den Schritt umfasst,
(d) das letzte erhaltene teilweise korrigierte Signal als das korrigierte Signal
mit dem verringerten Crestfaktor auszugeben.
Da für jede der vorgegebenen Frequenzen, das heißt Trägerfrequenzen,
eine Amplitude und eine Phase berechnet wird, ist es möglich, die verfügbaren vorgegebenen
Frequenzen in optimaler Weise zu benutzen, um das Signal zu korrigieren.
Die Schritte (a) bis (c) können eine vorgegebene Anzahl von Iterationen
wiederholt werden, um noch bessere Ergebnisse zu erhalten.
In Schritt (b) kann die Amplitude gemäß
A = g·(max{X(t)·cos(2&pgr;f(t – tmax))} + min{X(t)·cos(2&pgr;f(t
– tmax))})
berechnet werden, wobei A die Amplitude, g ein vorgegebener Faktor, f die jeweilige
vorgegebene Frequenz, t die Zeit, tmax die Zeitposition, X(t) das Signal sind und
max und min den Maximum- bzw. Minimumoperator bezeichnen. Die Phase entspricht dementsprechend
2&pgr;f·tmax.
Für diskret multitonmodulierte Signale wie in der Beschreibungseinleitung
erwähnt kann das Signal als Signalvektor von Signalwerten zu N Abtastzeitpunkten
dargestellt werden. Dementsprechend kann die obige Formel neu formuliert werden,
indem im Wesentlichen die Zeit durch die Nummer des Abtastwertes und die Frequenz
durch eine Nummer der Frequenz geteilt durch N ersetzt wird.
Das bisher beschriebene Verfahren ist für Signale geeignet, bei welchen
der Signalvektor nicht zu viele Abtastwerte umfasst. Für Übertragungssysteme wie
VDSL-Systeme würde die vollständige Durchführung des beschriebenen Verfahrens beträchtliche
Rechenzeit benötigen.
Daher ist es bevorzugt, das Verfahren mit einem Vektor auszuführen,
welcher nur eine vorgegebene Anzahl von maximalen Amplitudenwerten des Signals enthält,
anstatt das obige Verfahren mit dem Signal oder mit einem das Signal darstellenden
Vektor durchzuführen. Diese vorgegebene Anzahl kann bedeutend geringer sein als
die Anzahl von Abtastwerten in dem tatsächlichen Signalvektor, was beträchtliche
Rechenzeit einspart, während es die Leistung nur geringfügig verringert. Um dies
durchzuführen, müssen die Positionen der Elemente des Vektors mit den maximalen
Amplitudenwerten in dem ursprünglichen Signalvektor gespeichert werden, da die letztendliche
Korrektur mit dem Signal selbst durchgeführt werden muss.
Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus
der folgenden Beschreibung ihrer bevorzugten Ausführungsbeispiele in Verbindung
mit der beigefügten Zeichnung deutlich, wobei:
1 ein Ausführungsbeispiel einer Vorrichtung
zum Verringern eines Crestfaktors eines Signals gemäß der vorliegenden Erfindung
ist,
2A und 2B
Simulationen der Leistungsfähigkeit des erfindungsgemäßen Verfahrens für ADSL-Signale
zeigen,
3A und 3B
weitere Simulationen der Leistungsfähigkeit des erfindungsgemäßen Verfahrens für
ADSL-Signale zeigen,
4A und 4B
benutzbare Frequenzbereiche für VDSL in einer Downstream- bzw. in einer Upstream-Richtung
zeigen,
5A und 5B
Simulationsergebnisse für VDSL-Upstream zeigen,
6A und 6B
Simulationsergebnisse für VDSL-Downstream zeigen,
7 ein standardmäßiges Mehrträger-Übertragungssystem
zeigt, und
8 eine Amplitudenwahrscheinlichkeitsverteilung
für ein Standard-Mehrträger-Übertragungssystem zeigt.
Als erstes wird das erfindungsgemäße Verfahren beschrieben.
Wie bereits in der Beschreibungseinleitung unter Bezugnahme auf
7 beschrieben umfasst ein Sendesignal bei einer Mehrträger-Übertragung
wie diskreter Multiton-Übertragung eine Anzahl von Abtastwerten, welche aus einer
parallelen Verarbeitung eine Anzahl von Bits serieller Daten, einem Datenblock,
abgeleitet werden. Dieses Sendesignal kann als ein Vektor
XT = [x(1), x(2), ..., x(N)](1)
beschrieben werden, wobei N die Anzahl der Abtastwerte und x(n) die jeweiligen Abtastwerte
sind, wobei n von 1 bis N geht. Der Index n zeigt somit die Zeitposition des jeweiligen
Abtastwertes an. "T" deutet an, dass der Vektor in Gleichung (1) in einer Zeile
statt in einer Spalte geschrieben ist.
Die Aufgabe der vorliegenden Erfindung ist es, einen Korrekturvektor
Xk zu ermitteln, so dass der maximale Absolutwert oder die maximale Amplitude der
Elemente des Vektors Xs mit
Xs = X – Xk(2)
einen minimalen Wert annimmt. Der Korrekturvektor Xk ist eine Superposition mehrerer
Teilkorrekturvektoren, welche einer Anzahl von Trägerfrequenzen oder Trägertönen
entsprechen, welche zur Bildung des Korrekturvektors Xs reserviert
sind, das heißt
wobei Nt die Anzahl der zur Korrektur reservierten Trägerfrequenzen ist. Xki
bezeichnet den i-ten Korrekturvektorbeitrag der Trägerfrequenznummer i.
Allgemein können die Komponenten von Xki als
geschrieben werden, wobei k der Komponenten- oder Abtastwertindex des Vektors ist,
welcher von 1 bis N geht und &mgr; die Nummer der jeweiligen Trägerfrequenz ist,
welche zur Bildung des Korrekturvektors Xki benutzt wird, wobei angenommen
wird, dass alle benutzten Trägerfrequenzen einschließlich der zur Übertragung der
tatsächlichen Information benutzend durchlaufend nummeriert sind und gleichmäßig
voneinander beabstandet sind, startend bei 0. Eine derartige Nummerierung von Trägerfrequenzen
wird üblicherweise beispielsweise für die Trägerfrequenzen der ADSL- oder VDSL-Übertragung
benutzt. Allgemein ist Gleichung (4) eine Schwingung mit der durch &mgr; bestimmten
Frequenz und einer durch ai und bi bestimmten Amplitude und
Phase.
Im Folgenden wird ein iteratives Verfahren zur Korrektur des Vektors
X und zur Bestimmung des Korrekturvektors Xk angegeben, welches die folgenden Schritte
umfasst:
1. Bestimmen des Elements des Vektors X mit der maximalen absoluten Amplitude
|X(kmax)| und seine Position innerhalb des Vektors X kmax,
2. Bilden eines Hilfsvektors Xh gemäß
wobei xh die Komponenten von Xh sind. Da der Kosinusterm für k = k max gleich 1
ist, weist der Hilfsvektor das Element mit der gleichen maximalen absoluten Amplitude
an der gleichen Position k max wie der Vektor X auf.
3. Für die Trägerfrequenz &mgr; wird eine Teilkorrektur gemäß:
durchgeführt, wobei die Indizes „neu" und „alt" angeben, dass die
Elemente des Vektors X durch die neuen Elemente ersetzt werden. In Gleichung (6)
ist max der Maximumoperator, welcher den maximalen Wert all der xh(k) liefert, und
min ist der entsprechende Minimumoperator. Im Allgemeinen wird das Minimum ein negativer
Wert sein. Es sollte diesbezüglich bemerkt werden, dass die in Schritt 1 bestimmte
maximale absolute Amplitude entweder der Maximalwert oder der Minimalwert sein kann.
Der Faktor g ist ein passender Konvergenzfaktor, welcher als 1 gewählt werden kann
oder wie unten erklärt von Iteration zu Iteration variieren kann. Die Faktoren 0,5
und g können in einen einzigen Faktor gezogen werden.
4. Wiederholen von Schritten 1 bis 3 für alle zur Korrektur des Signals benutzten
Frequenzen &mgr;, wobei der „neue" Vektor X für die jeweilige nächste Trägerfrequenz
benutzt wird.
5. L-maliges Wiederholen der Schritte 1 bis 4. Der Konvergenzfaktor g kann so
gewählt werden, dass er sich von Iteration zu Iteration verringert, was eine bessere
Konvergenz sicherstellt.
Der gesamte Korrekturvektor Xk wäre dann eine Summe aller der in Schritt
3 durchgeführten Korrekturen.
Der sich aus diesem Verfahren ergebende Vektor XT = [x(1),
x(2), ..., x(N)] weist die mit einem aus den gegebenen Korrekturträgerfrequenzen
bestehenden Korrektursignal kleinstmögliche maximale absolute Amplitude auf.
Andererseits erfordert dieser Algorithmus für Vektoren X mit einer
großen Anzahl von Elementen einen großen Realisierungsaufwand, da für jede Iteration
für jede zur Korrektur benutzte Trägerfrequenz ein Korrekturwert
komponentenweise von dem ursprünglichen Vektor X subtrahiert werden muss. Beispielsweise
weist für einen VDSL-Übertragungsvektor der Vektor X 8192 Elemente auf.
Daher wird für Vektoren X mit einer großen Anzahl von Elementen eine
Vereinfachung des obigen Algorithmus benötigt. Die allgemeine Idee zum Vereinfachen
des obigen Algorithmus ist es, den Algorithmus nicht mit dem vollständigen Vektor
X durchzuführen, sondern mit einem Hilfsvektor XmT = [xm(1), xm(2), ...,
xm(M)], welcher die M Elemente des Vektors X umfasst, welche die größten absoluten
Amplituden aufweisen, wobei M viel kleiner als N ist. Beispielsweise kann für VDSL-Systeme
M als 32 gewählt werden, was wesentlich kleiner ist als 8192 und somit beträchtlich
Rechenzeit spart. Da die Korrektur selber mit dem ganzen Signal durchgeführt werden
muss, das heißt mit dem Vektor X, wird ein weiterer Hilfsvektor PmT =
[pm(1), pm(2), ..., pm(M)] benötigt, um die Positionen der Elemente des Vektors
Xm innerhalb des Vektors X zu speichern, das heißt xm(k) = x(pm(k)).
Ein Algorithmus zum Bestimmen der Vektoren Xm und Pm wird später angegeben
werden.
Im Folgenden wird gezeigt werden, wie der oben beschriebene Algorithmus
unter Benutzung des Vektors Xm durchgeführt werden muss. Die folgenden Schritte
müssen ausgeführt werden, welche den jeweiligen Schritten des bereits erklärten
Algorithmus entsprechen:
1. Die Position k max des Elementes des Vektors Xm mit der größten absoluten
Amplitude oder dem größten absoluten Wert |xm(kmax)| wird bestimmt.
2. Ein Hilfsvektor Xmh gemäß
wird berechnet, wobei die xmh die Komponenten des Vektors Xmh sind. Somit nimmt
durch die Benutzung des Vektors Pm in dem Kosinusterm der Kosinusterm die „korrekten"
Werte für die Elemente des Vektors Xm an, welche den Werten der schlussendlich mit
dem gesamten Signal X durchgeführten Korrektur entsprechen.
3. Eine Teilkorrektur entsprechend derjenigen für den vollen Vektor X wir durchgeführt:
Nach der Durchführung des Algorithmus muss der Korrekturvektor Xk für den Signalvektor
X berechnet werden. Hierfür ist es hilfreich, für jede Teilkorrektur und für jede
Frequenz &mgr; die Korrekturamplitude
&Dgr;u(i,j) = g·(max{xmh(k)} + min{xmh(k)})·0,5(9)
und die entsprechende Phase
&Dgr;P(i,j) = pm(kmax)(10)
zu speichern, wobei i wiederum die Nummer der Trägerfrequenz wie in Gleichung (4)
und j die Nummer der Iteration ist.
4. Wiederholen der Schritte 1 bis 3 für alle Trägerfrequenzen &mgr;, welche
für das Korrektursignal oder den Korrekturvektor benutzt werden.
5. Wiederholen der Schritte 1 bis 4 L Mal, möglicherweise mit abnehmenden Konvergenzparameter
g.
Am Ende dieses Verfahrens wird ein Hilfsvektor Xm mit einer minimalen
maximalen absoluten Amplitude erhalten. Aus den gespeicherten Amplituden- und Phasenwerten
&Dgr;u(i,j) und &Dgr;p(i,j) können die Amplituden und Phasen für den schlussendlichen
Korrekturvektor Xk mit N Komponenten berechnet werden. Jeder Teilkorrekturvektor
für eine einzige Korrekturträgerfrequenz &mgr; kann gemäß Gleichung (4) berechnet
werden. Die jeweiligen Korrekturamplituden ai(&mgr;) und bi(&mgr;)
können wie folgt berechnet werden:
Als Alternative können die Amplituden ai(&mgr;) und bi(&mgr;)
in Schritt 3 des oben angegebenen Algorithmus iterativ berechnet werden, so dass
die &Dgr;u und &Dgr;p nicht gespeichert werden müssen. In diesem Fall müssen in
Schritt 3 die folgenden Berechnungen durchgeführt werden:
Der Korrekturvektor ist aus Kosinus- und Sinuswerten, welche mit jeweiligen
Amplitudenwerten gewichtet sind, zusammengesetzt. Die Kosinus- und Sinuswerte können
aus einer Sinustabelle oder einer Kosinustabelle ausgelesen werden. Eine Tabelle
ist für die Kosinus- und die Sinuswerte ausreichend, da sich ihre zwei Funktionen
nur bezüglich der Phase unterscheiden, das heißt die jeweilige ausgelesene Adresse
der Tabelle muss angepasst werden. Die Benutzung einer derartigen Sinustabelle macht
den Algorithmus verglichen mit dem jedes Mal expliziten Berechnen der Sinus- oder
Kosinuswerte schneller.
Eine Verringerung der in einer derartigen Tabelle zu speichernden
Werte kann erreicht werden, wenn der Sinus- oder Kosinuswert als eine Interpolation,
beispielsweise eine lineare Interpolation, zwischen gespeicherten Sinuswerten berechnet
wird. Es stellte sich heraus, dass das Speichern von 32 Sinuswerten einer Viertelperiode
ausreichend ist. Die restlichen drei Viertel der Periode der Sinus- und Kosinusfunktionen
kann durch Benutzung der Symmetrie dieser Funktionen berechnet werden.
Es ist möglich, den Teilkorrekturvektor Xki ebenso als
mit
zu schreiben, wobei arctan der Arcus-Tanges-Operator ist.
In diesem Fall muss nur ein einziger Sinuswert für jeden Teilkorrekturvektor
mit der Trägerfrequenz &mgr; berechnet oder aus der Sinustabelle ausgelesen werden.
Die Werte für ci(&mgr;) und &phgr;i(&mgr;) aus Gleichung (14)
können ebenso durch Benutzung des bekannten Cordic-Algorithmus berechnet werden.
Dieser Algorithmus wird benutzt, um die Amplitude und die Phase einer komplexen
Zahl zu berechnen, wenn ihr Realteil und Imaginärteil gegeben ist. Als Realteil
kann ai und als Imaginärteil bi verwendet werden. Der Cordic-Algorithmus
ist ein iterativer Algorithmus, welcher nur Additionen und Subtraktionen sowie die
Signumfunktion benutzt, um den Sinus einer Zahl zu bestimmen. Um den Algorithmus
durchzuführen, müssen L Arcus-Tangens-Werte gespeichert werden, wobei L die Anzahl
der Iterationen des Cordic-Algorithmus ist. Nach dem Durchführen des Cordic-Algorithmus
wird die Amplitude der jeweiligen komplexen Zahl, welche sich aus dem Algorithmus
ergibt, um einen festen von L abhängigen Faktor vergrößert. Daher ist es nötig,
diesen Wert durch diesen Faktor zu dividieren. Um diese Divisionen weglassen zu
können, können die Werte der Sinustabelle von vorneherein durch den Faktor geteilt
sein.
Eine weitere Verringerung des Rechenaufwands kann erhalten werden,
wenn die gespeicherten Werte der Sinustabelle, beispielsweise 32
Werte, im Vorneherein mit der jeweiligen Amplitude der Korrekturträgerfrequenz multipliziert
und in einem Zwischenspeicher gespeichert werden. Um den Teilkorrekturvektor zu
berechnen, müsste lediglich dieser Zwischenspeicher adressiert werden. Keine weitere
Multiplikation wäre nötig.
Der Realisierungsaufwand kann weiterhin signifikant verringert werden,
indem die zur Korrektur benutzten Trägerfrequenzen in geeigneter Weise gewählt werden.
Wenn, für die Darstellung von Gleichung (13), die Trägerfrequenz als
&mgr; = 2l·&ngr;(15)
gewählt wird, und die Anzahl von Elementen in dem Vektor X
N = 2n(16)
ist, was für Systeme, welche wie das in der Beschreibungseinleitung beschriebene
System die inverse schnelle Fourier-Transformation benutzt, allgemein der Fall ist,
wird Gleichung (14) zu
oder
Wie leicht zu erkennen ist, ist der Teilkorrekturvektor Xki
periodisch mit einer Periode von 2n–l. Wenn sich die verschiedenen
zur Korrektur benutzten Trägerfrequenzen nur in dem Wert &ngr; unterscheiden, muss
der sich ergebende Korrekturvektor Xk nur für die ersten 2n–l Werte
berechnet werden. Der gesamte Korrekturvektor wird dann durch periodische Fortsetzung
erhalten.
Für den vereinfachten Algorithmus wird, wie oben festgestellt, der
Hilfsvektor Xm, welcher die M Werte des Vektors X mit den größten absoluten Amplitudenwerten
enthält, benötigt. Ein möglicher Algorithmus, um den Vektor Xm und den Vektor Pm
zu erhalten, umfasst die folgenden Schritte:
1. Der Vektor Xm wird so initialisiert, dass er die M letzten Elemente des Vektors
X enthält, das heißt
xm(k) = x(N – M + k); k = 1, 2, ..., M(19)
2. Der Vektor Pm wird entsprechend initialisiert, das heißt
pm(k) = N – M + k; k = 1, 2, ..., M(20)
3. Ein Zähler &lgr; wird auf 0 gesetzt: &lgr; = 0
4. Das Element des Vektors Xm mit dem kleinsten absoluten Wert wird bestimmt:
xmin = min{|xm(k)|}(21)
wobei xmin dieser minimale Wert ist.
5. Die entsprechende Position k min wird bestimmt: kmin = Position von min·{|xm(k)|};
d. h.
|xm(kmin)| = min{|xm(k)|}(22)
6. Der Zähler &lgr; wird erhöht: &lgr; = &lgr; + 1
7. Das durch den Zähler &lgr; bezeichnete Element des Vektors X wird mit xmin
verglichen, die Schritte 6 und 7 werden wiederholt bis
|x(&lgr;)| > xmin
8. Wenn |x(&lgr;)| > xmin erfüllt ist, wird das minimale Element des Vektors
Xm durch das durch den Zähler &lgr; bezeichnete Element des Vektors X ersetzt, und
das entsprechende Element des Vektors Pm wird durch &lgr; ersetzt, das heißt xm(kmin) = x(&lgr;)pm(kmin) = &lgr;
9. Das Verfahren wird bei Schritt 6 fortgesetzt, bis &lgr; den Wert N –
M erreicht.
Wenn dieses Verfahren beendet ist, enthält der Vektor Xm die M Werte
mit den größten absoluten Amplituden des Vektors X, und der Vektor Pm enthält die
entsprechenden Positionen.
Die zur Durchführung dieses Algorithmus benötigte Zeit hängt von den
zufälligen Werten des Startvektors für Xm ab. Je mehr große Werte dieser Vektor
beim Start des Verfahrens enthält, desto weniger oft muss der Inhalt des Vektors
Xm überschrieben werden und das minimale Element des Vektors Xm bestimmt werden.
Dementsprechend ist es durch ein Vorsortieren des Vektors X möglich, diesen Algorithmus
zu optimieren.
1 zeigt eine zur Durchführung des erfindungsgemäßen
Verfahrens, welches dem oben beschriebenen Algorithmus entspricht, geeignete Vorrichtung.
Ein Datensignal a wird einem Seriell/Parallel-Wandler 1 zugeführt und auf
eine Anzahl von Trägerfrequenzen aufmoduliert, wobei eine vorgegebene Anzahl von
Trägerfrequenzen nicht zur Übertragung der Daten benutzt wird, sondern zum Aufbau
des Korrektursignals wie oben beschrieben verwendet wird. Mit dem so erzeugten Signal
wird in Element 3 eine inverse Fourier-Transformation durchgeführt, und
die Daten werden einem Parallel/Seriell-Wandler 23 zugeführt, welcher allgemein
benutzt wird, um den entsprechenden Signalvektor seriell auszugeben. Bis zu diesem
Punkt entspricht die Vorrichtung der bereits unter Bezugnahme auf 7
in der Beschreibungseinleitung dieser Patentanmeldung beschriebenen, das heißt,
in dem Konverter 23 ist der Vektor X gespeichert. Der Vektor X wird an
Mittel 4 zum Bestimmen der maximalen Amplitude xmax der Elemente des Vektors
X übertragen. Vergleichsmittel 5 vergleichen diesen Maximalwert xmax mit
einem vorgegebenen Referenzwert xref. Wenn xmax kleiner als xref ist, werden Schalter
6 und 7 geöffnet, was bedeutet, dass kein Korrekturalgorithmus
durchgeführt wird, da der Maximalwert xmax kleiner als xref, welches einen maximal
tolerierbaren Wert für die Amplituden oder Werte des Vektors X darstellt, ist. In
diesem Fall wird der Vektor X über einen Subtrahierer 35 unverändert ausgegeben,
da der Schalter 7, welcher den negativen Eingang des Subtrahierers
35 versorgt, geöffnet ist.
Wenn jedoch xmax xref übertrifft, werden die Schalter 6 und
7 geschlossen. Über den Schalter 6 wird der Vektor X einem Sortiermittel
8 zugeführt, welches mit Hilfe des bereits oben beschriebenen Parameters
M die Hilfsvektoren Xm und Pm bestimmt, welche einem Berechnungsmittel
9 zugeführt werden. Das Berechnungsmittel 9 führt den oben beschriebenen
iterativen Algorithmus mit dem Vektor Xm durch und berechnet dann die Amplituden-
und Phasenwerte ci und &phgr;i, wobei die für die Korrektur
vorgesehenen Frequenzen &mgr; benutzt werden. Es werden höchstens L Iterationen
durchgeführt. Wenn jedoch xmax unter xref fällt, bevor die L Iterationen durchgeführt
sind, wird der Algorithmus beendet und die Werte für ci und &phgr;i
ausgegeben. In einem Aufbaumittel 10 wird der gesamte Korrekturvektor Xk
wie oben beschrieben aufgebaut und über den Schalter 7 dem Subtrahierer
35 zugeführt, wo er von dem Vektor X subtrahiert wird.
Diesbezüglich ist zu bemerken, dass die Vektordarstellung als Mittel
zur einfachen Darstellung der Signale dient. Das gesamte Verfahren kann jedoch ebenso
als unter Benutzung der Signale selbst ausgeführt betrachtet werden, das heißt als
Ausgabe entsprechender Korrektursignale mit den jeweiligen Frequenzen &mgr;.
Es ist möglich, weniger Frequenzen &mgr; zur Korrektur der Signale
zu benutzen als tatsächlich hierfür vorgesehen sind. Beispielsweise können 12 Frequenzen
für die Korrektur vorgesehen sein, wobei zwei oder drei von diesen benutzt werden
können. Diese zwei oder drei Frequenzen sollten von Vektor X zu Vektor X, das heißt
von Rahmen zu Rahmen, verändert werden, um die Leistung des Korrektursignals über
alle Korrekturfrequenzen zu verteilen.
Hierfür ist es nötig, den Algorithmus etwas zu modifizieren. Wenn
nach der L-ten Iteration xmax immer noch größer ist als xref, wird das Verfahren
mit einer anderen Auswahl von Korrekturfrequenzen wiederholt. Wenn dies nach einer
bestimmten Anzahl von Versuchen nicht der Fall ist, werden die Frequenzen benutzt,
welche den kleinsten Wert xmax ergeben.
Im Folgenden wird die Leistungsfähigkeit des erfindungsgemäßen Verfahrens
unter Benutzung von Simulationsergebnissen gezeigt.
Beispiel 1: Downstream-Übertragung in einem ADSL-System
Für die inverse schnelle Fourier-Transformation in ADSL-Systemen werden
generell 265 Frequenzwerte, welche von 0 bis zur halben Abtastfrequenz gleichmäßig
beabstandet sind, definiert. Daher umfasst ein Rahmen oder Vektor X 512 Signalwerte,
das heißt N = 512. Der Abstand zwischen Trägerfrequenzen beträgt 4,3125 kHz, was
zu einer Abtastfrequenz von 2,208 MHz führt. Für die Datenübertragung werden die
Frequenzen Nr. 33 bis 255 benutzt (142,3 bis 1100 kHz). Zwei verschiedene Sätze
von Parametern wurden simuliert. Die erste Simulation wurde unter Benutzung der
Frequenznummern 254, 217, 247, 225, 239, 231, 210 und 243 für Korrekturzwecke durchgeführt.
M wurde auf 8 gesetzt, L, die maximale Anzahl an Iterationen, ebenso auf 8. xref
wurde auf 4,1 gesetzt. Die Leistung des Signals wurde auf 1 normiert, so dass der
Spitzenwert dem Crestfaktor entspricht.
2A und 2B
zeigen die Ergebnisse für diese Werte. 2A zeigt die
Wahrscheinlichkeit p für das Auftreten verschiedener Crestfaktoren c, welche als
Verhältnis gegeben sind, 2B ist derselbe Graph, wobei
der Crestfaktor c in Dezibel angegeben ist. Kurve 11 zeigt die theoretische
Gauss-Verteilung. Kurve 12 zeigt das Ergebnis ohne Korrektur. Der Grund,
warum Kurve 12 von Kurve 11 abweicht, ist die begrenzte Simulationszeit,
für eine längere Simulationszeit würden schlussendlich auch die noch höheren Crestfaktoren
auftreten. Es ist zu sehen, dass Crestfaktoren über 5,5 mit einer Wahrscheinlichkeit
größer als 10–8 auftreten.
Kurve 13 zeigt die Ergebnisse unter Benutzung des erfindungsgemäßen
Verfahrens. Es ist zu sehen, dass die Wahrscheinlichkeit für einen Crestfaktor von
4,1 oder 12,25 dB 10–8 ist, was einer Verringerung von 2,9 dB verglichen
mit dem nicht korrigierten Fall von 12 entspricht.
Für eine zweite Simulation wurden nur fünf Trägerfrequenzen zur Korrektur
verwendet, nämlich Nummern 240, 224, 208, 192 und 176. Diese fünf Trägerfrequenzen
sind gleichmäßig voneinander beabstandet, was zu einem periodischen Korrektursignal
oder Korrekturvektor Xk mit einer Periode von 32 führt. M und L wurden beide auf
8 wie bei der ersten Simulation gesetzt, und xref wurde auf 4,3 gesetzt. Die Ergebnisse
sind in 3A und 3B
entsprechend den 2A und 2B
der ersten Simulation gezeigt. Kurve 11 ist wiederum die theoretische Gauss-Verteilung,
Kurve 14 ist die unkorrigierte Kurve entsprechend Kurve 12 der
2A und 2B, und
Kurve 15 ist die unter Benutzung des erfindungsgemäßen Verfahrens korrigierte
Kurve. Die Abweichungen zwischen den Kurven 12 in 2A
und 2B und den Kurven 14 in
3A und 3B kommen
wieder von der statistischen Natur der Amplitudenverteilung und der begrenzten Simulationszeit.
In diesem Fall tritt ein Crestfaktor von 4,4 entsprechend 12,85 dB mit einer Wahrscheinlichkeit
von 10–8 auf. Hier wird immer noch eine Verringerung von 2,3 dB
verglichen mit der unkorrigierten Kurve erhalten.
Folglich ist zu sehen, dass das erfindungsgemäße Verfahren zu einer
beträchtlichen Verringerung des Crestfaktors für ADSL-Übertragungen führt.
Beispiel 2: VDSL-Übertragung
Bei VDSL-Systemen sind 4096 Frequenzwerte von 0 bis zur halben Abtastfrequenz
gleichmäßig voneinander beabstandet, was zu einem Rahmen oder Vektor X mit 8192
Werten oder Elementen führt. Der Abstand zwischen Trägerfrequenzen beträgt 4,3125
kHz entsprechend dem ADSL-Wert, was zu einer Abtastfrequenz von 35,328 MHz führt.
Für die Downstream- und Upstream-Übertragung sind verschiedene Frequenzbereiche
definiert, welche in 4A und 4B
gezeigt sind. 4A zeigt die für die Downstream-Übertragung
reservierten Frequenzen, welche Frequenznummern 257 bis 695 und 1182 bis 1634 entsprechen.
4B zeigt die für Upstream-Übertragung reservierten
Frequenzen, das heißt Frequenznummern 696 bis 1181 und 1635 bis 2782.
Zunächst wurde eine Simulation für Upstream-Übertragung durchgeführt.
Zwölf mögliche Trägerfrequenzen wurden für Korrekturzwecke vorgesehen,
Frequenznummern 2688, 2624, 2560, 2496, 2432, 2368, 2304, 2240, 2176, 2112, 2048,
1984. Drei dieser Frequenzen wurden für die tatsächliche Korrektur verwendet. Die
vorgesehenen Trägerfrequenzen sind voneinander gleichmäßig beabstandet und weisen
einen Abstand von 64 (d. h. 64 × 4,3125 KHz) auf, was zu einem Korrektursignal
mit einer Periode von 128 unabhängig von der tatsächlichen Auswahl der drei zur
Korrektur benutzten Trägerfrequenzen führt. Als Parameter für das erfindungsgemäße
Verfahren wurden M = 32, xref = 4,3 und L = 8 benutzt. Eine maximale Anzahl von
zwölf Auswahlen der drei Trägerfrequenzen wurde für jede Korrektur versucht.
5A und 5B
zeigen die Simulationsergebnisse, wobei die Darstellung der Ergebnisse wiederum
derjenigen von 2 und 3 ähnelt. Kurve
11 stellt wiederum die theoretische Gauss-Verteilung dar, Kurve
16 das Signal ohne Korrektur und Kurve 17 das Signal mit einer
Korrektur gemäß dem erfindungsgemäßen Verfahren. Eine Wahrscheinlichkeit von 10–8
entspricht gemäß Kurve 17 einem Crestfaktor von 4,5 oder 13 dB, was wiederum
eine beträchtliche Verringerung verglichen mit den 5,6 oder 15 dB der unkorrigierten
Kurve 16 ist.
Für eine Downstream-Simulation wurden sechs Trägerfrequenzen benutzt,
nämlich Frequenzen Nummer 1600, 1536, 1472, 1408, 1344 und 1280. Der Abstand zwischen
den Trägerfrequenzen ist wiederum 64, was wiederum zu einem periodischen Korrektursignal
mit einer Periode von 128 führt. Für die Simulation wurden die Parameter M = 32,
xref = 4,3 und L = 8 benutzt. 6A und 6B
zeigen die Ergebnisse dieser Simulation. Kurve 18 ist das Ergebnis ohne
Korrektur, Kurve 19 ist das Ergebnis mit der erfindungsgemäßen Korrektur.
Eine Wahrscheinlichkeit von 10–8 entspricht einem Crestfaktor von
4,65 oder 13,4 dB, was wiederum eine bedeutende Verbesserung verglichen mit dem
unkorrigierten Signal ergibt.
Es ist zu bemerken, dass die oben angegebenen Simulationsbeispiele
nur zur Veranschaulichung angegeben werden, und andere Parameter abhängig von der
benötigten Verringerung des Crestfaktors und der Menge möglicher Rechenzeit benutzt
werden. Beispielsweise führt ein größerer Wert von M im Allgemeinen zu einer besseren
Verringerung des Crestfaktors, benötigt aber mehr Rechenzeit. Andere Trägerfrequenzen
als die in den Simulationen benutzten können für Korrekturzwecke vorgesehen werden.
Anspruch[de]
Verfahren zum Verringern des Crestfaktors eines Signals (X),
wobei das Verfahren eine Vielzahl von Teilkorrektursignalen mit jeweiligen vorgegebenen
Frequenzen (&mgr;) benutzt,
wobei das Verfahren für jedes der Teilkorrektursignale folgende Schritte umfasst:
(a) Bestimmen einer Zeitposition einer maximalen absoluten Amplitude des Signals,
(b) Berechnen einer Amplitude und einer Phase für das jeweilige Teilkorrektursignal
abhängig von der in Schritt (a) bestimmten maximalen absoluten Amplitude und Zeitposition,
(c) Subtrahieren des jeweiligen Teilkorrektursignals von dem Signal, um ein teilweise
korrigiertes Signal zu erhalten, welches als das Signal in Schritt (a) für das nächste
der Vielzahl von Teilkorrektursignalen benutzt wird, und zurückkehren zu Schritt
(a), um eine Amplitude und eine Phase für das nächste Teilkorrektursignal zu erhalten,
wobei das Verfahren weiterhin den Schritt umfasst:
(d) Ausgeben des letzten erhaltenen teilweise korrigierten Signals als das korrigierte
Signal mit dem verringerten Crestfaktor.
Verfahren nach Anspruch 1, wobei anstelle von Schritt (d) folgende
Schritte durchgeführt werden:
(d1) Berechnen eines vollen Korrektursignals (Xk) als Superposition der Vielzahl
von Teilkorrektursignalen,
(d2) Subtrahieren des vollen Korrektursignals (Xk) von dem Signal (X), um das korrigierte
Signal mit dem verringerten Crestfaktor zu erhalten, und
(d3) Ausgeben des korrigierten Signals.
Verfahren nach Anspruch 1 oder Anspruch 2, wobei Schritte (a) bis (c)
für mindestens zwei Iterationen für jedes der Vielzahl von Teilkorrektursignalen
wiederholt werden.
Verfahren nach Anspruch 3, wobei eine maximale Anzahl von Iterationen
(L) vorgegeben ist.
Verfahren nach Anspruch 3 oder Anspruch 4, wobei Schritte (a) bis (c)
für jedes der Vielzahl von Teilkorrektursignalen wiederholt wird, bis eine maximale
absolute Amplitude des teilweise korrigierten Signals unterhalb eines vorgegebenen
Werts (xref) ist.
Verfahren nach einem der Ansprüche 3 bis 5,
wobei in Schritt (b) die berechneten Amplituden- und Phasenwerte gespeichert werden,
und
wobei Schritt (d) durch die folgenden Schritte ersetzt wird:
(d1) Berechnen einer Vielzahl von weiteren Teilkorrektursignalen mit den jeweiligen
vorgegebenen Frequenzen jeweils als eine Überlagerung der Teilkorrektursignale mit
der jeweiligen vorgegebenen Frequenz mit den gespeicherten Phasen und Amplituden,
welche in Schritt (b) für diese Frequenz berechnet wurden,
(d2) Subtrahieren der Vielzahl von weiteren Teilkorrektursignalen von dem Signal
(X), um das korrigierte Signal zu erhalten, und
(d3) Ausgeben des korrigierten Signals.
Verfahren nach einem der vorhergehenden Ansprüche,
wobei Schritt (b) folgende Schritte umfasst:
(b1) Berechnen der Amplitude gemäß
A = g·(max{x(t)·cos(2&pgr;f(t – tmax))} + min{x(t)·cos(2&pgr;f(t
– tmax))}),
wobei A die Amplitude, g ein vorgegebener Faktor, f die jeweilige vorgegebene Frequenz,
t die Zeit, tmax die Zeitposition und x(t) das Signal ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;f·tmax.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das Signal
(x) ein abgetastetes Signal ist, welches als ein Signalvektor mit N Signalwerten
zu N Abtastzeiten dargestellt ist.
Verfahren nach Anspruch 8,
wobei Schritt (b) folgende Schritte umfasst:
(b1) Berechnen der Amplitude gemäß der Formel
A = g·(max{x(k) – cos(2&pgr;&mgr;(k – kmax)/N)}
+ min(x(k)·cos(2&pgr;&mgr;(k – kmax)/N)}),
wobei A die Amplitude, g ein vorgegebener Faktor, &mgr; eine Nummer der jeweiligen
vorgegebenen Frequenz, k eine Nummer des Abtastwerts, k max diese Nummer des Abtastwerts
zu der Zeitposition und x(k) eine k-te Komponente des Signalvektors ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;&mgr;·kmax/N.
Verfahren nach Anspruch 9, wobei die Werte für &mgr; die Form 2l·&ngr;
aufweisen, wobei l und &ngr; ganze Zahlen sind.
Verfahren nach Anspruch 9 oder Anspruch 10, wobei Kosinuswerte der
Formel unter Benutzung einer Sinus- oder Kosinustabelle berechnet werden.
Verfahren nach Anspruch 8, wobei das Verfahren vor Schritt (a) folgende
Schritte umfasst:
(a1) Bilden eines ersten Hilfsvektors (Xm), welcher als Elemente M Signalwerte mit
den M größten absoluten Werten der N Signalwerte enthält, wobei M kleiner als N
ist,
(a2) Bilden eines zweiten Hilfsvektors (Pm), welcher die Positionen der Elemente
des ersten Hilfsvektors (Xm) in dem Hilfsvektor angibt,
wobei Schritte (a) bis (c) mit dem ersten Hilfsvektor (Xm) anstelle des Signals
(X) und unter Benutzung von Phaseninformation des zweiten Hilfsvektors (Pm) durchgeführt
werden, und
wobei anstelle Schritt (d) die folgenden Schritte durchgeführt werden:
(d1) Berechnen eines Korrekturvektors (Xk) für den Signalvektor basierend auf den
in Schritt (b) berechneten Amplituden und Phasen, welche unter Benutzung des zweiten
Hilfsvektors in Phasen für den Signalvektor (X) übersetzt werden,
(d2) Subtrahieren des Korrekturvektors (Xk) von dem Signalvektor (X), um einen korrigierten
Signalvektor zu erhalten, und
(d3) Ausgeben eines dem korrigierten Signalvektor entsprechenden Signals als das
korrigierte Signal mit dem verringerten Crestfaktor.
Verfahren nach Anspruch 12, wobei Schritt (b) folgende Schritte umfasst:
(b1) Berechnen der Amplitude gemäß
A = g·(max{xm(k)·cos(2&pgr;&mgr;(pm(k) – pm(kmax))/N)}+
+ min{xm(k)·cos(2&pgr;&mgr;(pm(k) – pm(kmax))/N)}),
wobei A die Amplitude, g ein vorgegebener Faktor, &mgr; eine Nummer der jeweiligen
vorgegebenen Frequenz, k eine Nummer des Abtastwerts, k max die Nummer des Abtastwerts
zu der Zeitposition, xm(k) das k-te Element des ersten Hilfsvektors (Xm), pm(k)
das k-te Element des zweiten Hilfsvektors (Pm) ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;&mgr;·kmax/N.
Verfahren nach Anspruch 12 oder Anspruch 13, wobei Schritte (a1) und
(a2) folgende Schritte umfassen:
(aa1) Zuordnen der M letzten Elemente des Signalvektors (X) zu Elementen des ersten
Hilfsvektors,
(aa2) Zuordnen der M letzten Abtastwertpositionen des Signalvektors (X) zu den Elementen
des zweiten Hilfsvektors (Pm),
(aa3) Setzen eines Zählers auf 0,
(aa4) Bestimmen des Elements des ersten Hilfsvektors (Xm) mit der kleinsten absoluten
Amplitude,
(aa5) Erhöhen des Zählers um 1,
(aa6) Überprüfen, ob das Element des Signalvektors (X), welches durch den Zähler
bezeichnet ist, eine größere absolute Amplitude als das Element des ersten Hilfsvektors
(Xm) mit der kleinsten absoluten Amplitude aufweist, und wenn nicht, Zurückkehren
zu Schritt (aa5),
(aa7) Ersetzen des Elements des ersten Hilfsvektors (Xm) mit der kleinsten absoluten
Amplitude durch das durch den Zähler bezeichnete Element des Signalvektors (X),
und Ersetzen des entsprechenden Elements des zweiten Hilfsvektors (Pm) durch den
Zähler,
(aa8) Zurückkehren zu Schritt (aa4), bis der Zähler N – M erreicht hat.
Verfahren nach einem der vorhergehenden Ansprüche, wobei das Signal
(x) ein Mehrträgersignal ist.
Verfahren nach Anspruch 15, wobei das Signal (X) ein diskretes tonmoduliertes
Signal ist.
Verfahren nach einem der vorhergehenden Ansprüche, wobei, wenn die
in Schritt (a) bestimmte maximale absolute Amplitude unterhalb eines vorhergegebenen
Werts (xref) liegt, Schritte (b) bis (d) weggelassen werden und das Signal ausgegeben
wird.
Vorrichtung zum Verringern des Crestfaktors (X) eines Signals unter
Benutzung einer Vielzahl von Teilkorrektursignalen mit jeweiligen vorgegebenen Frequenzen,
wobei die Vorrichtung Verarbeitungsmittel (9) umfasst, welche ausgestaltet
sind, für jedes der Teilkorrektursignale folgende Schritte durchzuführen:
(a) Bestimmen einer Zeitposition einer maximalen absoluten Amplitude des Signals,
(b) Berechnen einer Amplitude und einer Phase für das jeweilige Teilkorrektursignal
abhängig von der in Schritt (a) bestimmten maximalen absoluten Amplitude und Zeitposition,
(c) Subtrahieren des jeweiligen Teilkorrektursignals von dem Signal, um ein teilweise
korrigiertes Signal zu erhalten, welches als das Signal in Schritt (a) für das nächste
der Vielzahl von Teilkorrektursignalen benutzt wird, und zurückkehren zu Schritt
(a), um eine Amplitude und eine Phase für das nächste Teilkorrektursignal zu erhalten,
wobei die Vorrichtung weiterhin Ausgabemittel (10) zum Ausgeben des letzten
erhaltenen teilweise korrigierten Signals als das korrigierte Signal mit dem verringerten
Crestfaktor umfasst.
Vorrichtung nach Anspruch 18,
wobei die Ausgabemittel (10) ausgeschaltet sind, die folgenden Schritte
durchzuführen:
(d1) Berechnen eines vollen Korrektursignals (Xk) als Superposition der Vielzahl
von Teilkorrektursignalen,
(d2) Subtrahieren des vollen Korrektursignals (Xk) von dem Signal (X), um das korrigierte
Signal mit dem verringerten Crestfaktor zu erhalten, und
(d3) Ausgeben des korrigierten Signals.
Vorrichtung nach Anspruch 18 oder 19, wobei die Verarbeitungsmittel
(9) ausgestaltet sind, Schritte (a) bis (c) für mindestens zwei Iterationen
für jedes der Mehrzahl von Teilkorrektursignalen zu wiederholen.
Vorrichtung nach Anspruch 20, wobei eine maximale Anzahl von Iterationen
(L) vorgegeben ist.
Vorrichtung nach Anspruch 20 oder 21,
wobei die Vorrichtung weiterhin Vergleichsmittel zum Vergleichen einer maximalen
absoluten Amplitude des teilweise korrigierten Signals mit einem vorgegebenen Wert
(xref) umfasst,
wobei die Vergleichsmittel mit den Verarbeitungsmitteln (9) derart gekoppelt
sind, dass die Schritte (a) bis (c) für jedes der Vielzahl von Teilkorrektursignalen
wiederholt werden bis die maximale absolute Amplitude des teilweise korrigierten
Signals unterhalb des vorgegebenen Werts liegt.
Vorrichtung nach einem der Ansprüche 20 bis 22, weiterhin umfassend
Speichermittel zum Speichern der berechneten Amplituden- und Phasenwerte in Schritt
(b), und wobei die Ausgabemittel (10) derart ausgestaltet sind, dass sie
folgende Schritte durchführen:
(d1) Berechnen einer Vielzahl von weiteren Teilkorrektursignalen mit den jeweiligen
vorgegebenen Frequenzen jeweils als eine Überlagerung der Teilkorrektursignale mit
der jeweiligen vorgegebenen Frequenz mit den gespeicherten Phasen
und Amplituden, welche in Schritt (b) für diese Frequenz berechnet wurden,
(d2) Subtrahieren der Vielzahl von weiteren Teilkorrektursignalen von dem Signal
(X), um das korrigierte Signal zu erhalten, und
(d3) Ausgeben des korrigierten Signals.
Vorrichtung nach einem der Ansprüche 18 bis 23, wobei die Verarbeitungsmittel
(9) derart ausgestaltet sind, dass sie in Schritt (b) folgende Schritte
durchführen:
(b1) Berechnen der Amplitude gemäß
A = g·(max{x(t)·cos(2&pgr;f(t – tmax))} + min{x(t)·cos(2&pgr;f(t
– tmax))}),
wobei A die Amplitude, g ein vorgegebener Faktor, f die jeweilige vorgegebene Frequenz,
t die Zeit, tmax die Zeitposition und x(t) das Signal ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;f·tmax.
Vorrichtung nach einem der Ansprüche 18 bis 24, wobei das Signal ein
abgetastetes Signal ist, welches als ein Signalvektor (X) von N Signalwerten zu
N Abtastzeitpunkten dargestellt ist.
Vorrichtung nach Anspruch 25,
wobei die Verarbeitungsmittel (9) derart ausgestaltet sind, dass sie in
Schritt (b) folgende Schritte ausführen:
(b1) Berechnen der Amplitude gemäß der Formel
A = g·(max{x(k)·cos(2&pgr;&mgr;(k – kmax)/N)}
+ min(x(k)·cos(2&mgr;(k – kmax)/N)}),
wobei A die Amplitude, g ein vorgegebener Faktor, &mgr; eine Nummer der jeweiligen
vorgegebenen Frequenz, k eine Nummer des Abtastwerts, k max diese Nummer des Abtastwerts
zu der Zeitposition und x(k) eine k-te Komponente des Signalvektors ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;&mgr;·kmax/N.
Vorrichtung nach Anspruch 26, wobei die Werte für &mgr; die Form 2l·&ngr;
aufweisen, wobei l und &ngr; ganze Zahlen sind.
Vorrichtung nach Anspruch 26 oder Anspruch 27, wobei die Vorrichtung
weiterhin eine gespeicherte Sinus- oder Kosinustabelle zum Berechnen von Kosinuswerten
der Formel umfasst.
Vorrichtung nach Anspruch 25,
wobei die Vorrichtung Vorverarbeitungsmittel (8) zur Vorverarbeitung des
Signalvektors (X) gemäß folgender Schritte umfasst:
(a1) Bilden eines ersten Hilfsvektors (Xm), welcher als Elemente M Signalwerte mit
den M größten absoluten Werten der N Signalwerte enthält, wobei M kleiner als N
ist,
(a2) Bilden eines zweiten Hilfsvektors (Pm), welcher die Positionen der Elemente
des ersten Hilfsvektors (Xm) in dem Hilfsvektor angibt,
wobei die Vorverarbeitungsmittel (8) mit den Verarbeitungsmitteln (9)
derart gekoppelt sind, dass die Verarbeitungsmittel (9) die Schritte (a)
bis (c) mit dem ersten Hilfsvektor (Xm) unter Benutzung von Phaseninformation des
zweiten Hilfsvektors (Pm) anstatt mit dem Signal (X) durchführen, und
wobei die Ausgabemittel (10) ausgestaltet sind, folgende Schritte durchzuführen:
(d1) Berechnen eines Korrekturvektors (Xk) für den Signalvektor basierend auf den
in Schritt (b) berechneten Amplituden und Phasen, welche unter Benutzung des zweiten
Hilfsvektors in Phasen für den Signalvektor (X) übersetzt werden,
(d2) Subtrahieren des Korrekturvektors (Xk) von dem Signalvektor (X), um einen korrigierten
Signalvektor zu erhalten, und
(d3) Ausgeben eines dem korrigierten Signalvektor entsprechenden Signals als das
korrigierte Signal mit dem verringerten Crestfaktor.
Vorrichtung nach Anspruch 29, wobei die Verarbeitungsmittel (9)
ausgestaltet sind, in Schritt (b) die folgenden Schritte durchzuführen:
(b1) Berechnen der Amplitude gemäß
A = g·(max{xm(k)·cos(2&pgr;&mgr;(pm(k) – pm(kmax))/N)}
+ + min{xm(k)·cos(2&pgr;&mgr;(pm(k) – pm(kmax)/N)}),wobei A die Amplitude, g ein vorgegebener Faktor, &mgr; eine Nummer
der jeweiligen vorgegebenen Frequenz, k eine Nummer des Abtastwerts, k max die Nummer
des Abtastwerts zu der Zeitposition, xm(k) das k-te Element des ersten Hilfsvektors
(Xm), pm(k) das k-te Element des zweiten Hilfsvektors (Pm) ist, und
(b2) Berechnen der Phase p gemäß p = 2&pgr;&mgr;·kmax/N.
Vorrichtung nach Anspruch 29 oder Anspruch 30, wobei die Vorverarbeitungsmittel
(8) ausgestaltet sind, in den Schritten (a1) und (a2) folgende Schritte
durchzuführen:
(aa1) Zuordnen der M letzten Elemente des Signalvektors (X) zu Elementen des ersten
Hilfsvektors,
(aa2) Zuordnen der M letzten Abtastwertpositionen des Signalvektors (X) zu den Elementen
des zweiten Hilfsvektors (Pm),
(aa3) Setzen eines Zählers auf 0,
(aa4) Bestimmen des Elements des ersten Hilfsvektors (Xm) mit der kleinsten absoluten
Amplitude,
(aa5) Erhöhen des Zählers um 1,
(aa6) Überprüfen, ob das Element des Signalvektors (X), welches durch den Zähler
bezeichnet ist, eine größere absolute Amplitude als das Element des ersten Hilfsvektors
(Xm) mit der kleinsten absoluten Amplitude aufweist, und wenn nicht, Zurückkehren
zu Schritt (aa5),
(aa7) Ersetzen des Elements des ersten Hilfsvektors (Xm) mit der kleinsten absoluten
Amplitude durch das durch den Zähler bezeichnete Element des Signalvektors (X),
und Ersetzen des entsprechenden Elements des zweiten Hilfsvektors (Pm) durch den
Zähler,
(aa8) Zurückkehren zu Schritt (aa4), bis der Zähler N – M erreicht hat.
Vorrichtung nach Anspruch 18, wobei das Signal ein Mehrträgersignal
ist.
Vorrichtung nach Anspruch 29, wobei das Signal ein diskretes tonmoduliertes
Signal ist.
Vorrichtung nach Anspruch 18,
weiterhin umfassend Vergleichsmittel (5) zum Vergleichen der in Schritt
(a) bestimmten maximalen absoluten Amplitude (xmax) mit einem vorgegebenen Wert
(xref),
wobei die Vergleichsmittel (5) mit den Verarbeitungsmitteln (9)
und den Ausgabemitteln (10) derart gekoppelt sind, dass, wenn die in Schritt
(a) bestimmte maximale absolute Amplitude unterhalb eines vorgegebenen Werts liegt,
Schritte (b) bis (d) weggelassen werden und das Signal (X) ausgegeben wird.