Hilberttransformation < Signaltheorie < Ingenieurwiss. < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 10:40 Fr 31.08.2012 | Autor: | Flock |
Hallo, Forum!
Vor kurzem habe ich mich über die Hilberttransformation informiert, und dabei ist mir folgendes aufgefallen:
Wenn man die Hilberttransformation implementieren will, dann findet man bei Wikipedia eine folgende Idee, die das ganze mit FFT umsetzt:
1: Berechne die FFT des Eingangssignals x und speichere das Ergebnis im Array fx.
2: Stelle den Vektor H auf:
1 für i=1, (n/2)+1
2 für i=2,3,...,(n/2)
0 für i=(n/2) + 2,..., n
3. Berechne das elementweise Produkt von fx und H.
4. Berechne anschließend die ifft vom Produkt aus 3. und man erhält das Ergebnis.
Den Ansatz habe ich implementiert und es funktioniert - die Frage ist - warum?
In der Theorie habe ich folgendes Theorem dazu gefunden:
Sei f [mm] \in L^1(\IR^n). [/mm] Dann gilt: F(H(f(x))) = - i*sgn(x)*F(f(x)), wobei F die Fouriertransformierte und H die Hilberttransformierte bezeichnen.
Mit dem Ansatz: [mm] F^{-1}(-i*sgn(x)*F(f(x))) [/mm] müsste man H(f(x)) erhalten - oder liege ich falsch?
[mm] (F^{-1} [/mm] - inverse Fouriertransformation, F - Fouriertransformation)
Wenn dieser Gedanke stimmt, dann müsste man im zweiten Schritt mit 0,i oder mit -i multiplizieren und nicht mit 0,1,2.
Ich habe auch den Ansatz mit i,0,-i implementiert - und er funktioniert, aber liefert falsche Ergebnisse, obwohl es eigentlich nach der theoretischen Überlegung korrekt sein müsste.
Nach diesem Herumprobieren habe ich noch folgende Definition von der Transferfunktion der Hilberttransformierten gefunden:
[mm] H(z)=\begin{cases} -i, & \mbox{für } 0
Dann bin ich auf die Idee gekommen, dass z eigentlich nicht die Information über die Maße aus dem Zeitbereich liefert, sondern aus dem Frequenzbereich, und habe das Programm dann angepasst - die Ergebnisse, die dabei herauskommen, sind aber leider falsch - also habe ich einen grundsätzlichen Denkfehler in den theoretischen Überlegungen gemacht.
Frage: Wie kommt man durch theoretische Überlegungen auf diesen 0-1-2 Ansatz? Sind die Ansätze mit der obigen Transferfunktion H(z) und die 0-1-2 Methode äquivalent- und wenn ja - wie kann man das zeigen (bzw. wo könnte man diesen Beweis nachschlagen, wenn er umfangreich ist)?
Herzlichen Dank schonmal im Voraus, eine gute Antwort auf diese Fragen würde alle Denkknoten in meinem Kopf auflösen und Klarheit verschaffen.
Gruss
Flock
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:44 Sa 01.09.2012 | Autor: | Infinit |
Hallo Flock,
mit diesem Thema hast Du ein interessantes Gebiet der Nachrichtentechnik angesprochen, nämlich das der Darstellung eines amplitudenmodulierten Einseitenbandsignals.
Die Hilberttransformierte eines reellen Zeitsignals liefert ein komplexes Zeitsignal, das gerade so beschaffen ist, dass sein Fourierspektrum nur aus positiven Komponenten besteht. Dies entspricht genau der Filterung eines amplitudenmodulierten Signals zur Erzeugung einer Einseitenbandmodulation. Wenn man dies weiß, ist der Wikipedia-Vorschlag nicht mehr so schwer zu verstehen.
Man nehme ein reelles Zeitsignal und berechne dessen Spektrum über die Fouriertransformation. Nun filtert man in einem zweiten Schritt dieses Spektrum so, dass nur noch die positiven Frequenzen weiter betrachtet werden (da sind wir dann bei der Einseitenbandmodulation) und transformiere das so modifizierte Spektrum wieder in den Zeitbereich zurück.
Die oben angesprochene Filterung entspricht der Multiplikation mit den von Dir angegebenen Koeffizienten. Mit der Laufvariablen i, die von 0 bis n läuft, überstreichst Du den positiven Frequenzbereich und den ersten Teil des Repetitionsspektrums, das die um die Abtastfrequenz verschobenen negativen Spektralanteile enthält. Diese werden zu Null gesetzt und damit das Ganze auch energetisch stimmt (Energie im Zeitbereich = Energie im Frequenzbereich), werden die positiven Frequenzanteile in ihrer Amplitude verdoppelt. Die bei der Abtastfrequenz liegenden Anteile, die man mit dem Faktor 1/2 filtern würde, werden damit mit dem Fakor 1 gewichtet. Genau das führt diese 1-2-0-Rechenvorschrift aus. Die Rücktransformation dieses gefilterten Spektrums liefert demzufolge gerade die Hilberttransformierte des Zeitsignals.
Male Dir mal das Spektrum auf, dann siehst Du sofort diesen Zusammenhang.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:10 Mo 03.09.2012 | Autor: | Flock |
Hallo, Indefinit!
Vielen Dank für deine schnelle Antwort. Die Erklärung hat mich weitergebracht, allerdings habe ich leider fast kein Backgroundwissen in Nachrichtentechnik, und mir sagen die Begriffe: Fourierspektrum, Einseitenbandmodulation, Repetitionsspektrum kaum etwas. Ich werde jetzt versuchen, die Begriffe nachzuschlagen, falls etwas dabei unklar ist, werde ich nachfragen.
Dieser Punkt ist auf jeden Fall noch unklar: Einmal multipliziert man mit -i,0,i (Transferfunktion bei der Hilberttransformation, genauer steht es in der ersten Frage) und einmal mit 1,2,0 (Vorschlag aus Wikipedia, dazu genauer in meiner ersten Frage) - und warum soll dabei das gleiche Spektrum entstehen? Ok, die Spektren wurden jetzt energetisch aufeinander abgestimmt und man muss sonstige Einträge verdoppeln, falls man die negativen Frequenzen gleich null setzt. Aber, einmal multipliziert man mit komplexen Zahlen, nämlich i und -i und im zweiten Fall mit reellen Zahlen, dabei gibt es rein rechnerisch unterschiedliche Ergebnisse.
Ok, Du hast geschrieben, dass die Hilberttransformation ein komplexes Zeitsignal liefert, dessen Fourierspektrum nur aus positiven Komponenten besteht - wie sieht man sowas ein?
Vielen Dank im Voraus
Flock
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:48 Di 04.09.2012 | Autor: | Flock |
Hallo, Forum!
Diese Mitteilung ist eine Ergänzung zur meiner zuletzt gestellten Frage.
Ich habe mittlerweile die Begriffe, die ich in der vorherigen Frage nicht verstanden habe, im Internet gesurft.
Mir ist noch nicht ganz ersichtlich, was Einseitenbandmodulation ist. Ist es jetzt nur ein Fachwort für das Auslöschen neagtiver Frequenzen und Verdoppeln der restlichen Frequenzen bei der Übertragung?
Repetitionsspektrum verstehe ich intuitiv als "wiederholendes" Spektrum, d.h das Spektrum, bei dem in bestimmten Zeitabschnitten bestimmte Spektrummuster wiederkehren - allerdings bin ich mir dabei unsicher, ich konnte nichts "Bestätigendes" oder "Widerlegendes" dazu finden.
Schon Literaturhinweise, wo ich die Begriffe nachschlagen könnte, wären hilfreich. Wenn sich jemand die Mühe macht, es einfach zu erklären und hier zu posten, bin ich umso dankbarer.
Gruss
Flock
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:45 Di 04.09.2012 | Autor: | Infinit |
Hallo Flock,
die Einseitenbandmodulation ist eine spezielle Art der Amplitudenmodulation. Information wird in der Ampitude eines hochfrequenten Signals übertragen und hierbei entstehen im normalen Betrieb zwei Seitenbänder, eines oberhalb des HF-Signals, eines unterhalb. Beide tragen jedoch dieselbe Information in der Phase und um Spektrum zu sparen, kam man auf die Idee, eines der Bänder wegzufiltern. Schaue einfach mal nach "Einseitenbandmodulation" in Wikipedia, dort findest Du als eine Erzeugungsmethode auch den Einsatz einer Hilberttransformation. Das ist der Bezug, den ich im ersten Beitrag meinte. Man kann also nicht generell sagen, dass jede Fouriertransformierte eines Hilberttransformierten Signals keine negativen Frequenzen aufweist, aber die Hilberttransformation kann dazu eingesetzt werden, solch ein Signal zu erzeugen.
Ein Repetitionsspektrum ist wirklich ein immer wiederkehrendes Spektrum, allerdings nicht im Zeitbereich, - das Zeitsignal muss also kein sich wiederholendes Muster aufweisen -, sondern im Frequenzbereich. Solch ein Spektrum ist die Folge des Abtastens eines Zeitsignals mit einer Folge von Dirac-Impulsen.
Über den von Dir generell angesprochenen Zusammenhang zwischen der Verarbeitung eines Signals im Frequenzbereich inklusive der Rücktransformation und der generellen Erzeugung einer Hilbert-Transformierten knobele ich noch. An den bei Wikipedia angegebenen Artikel komme ich leider nicht ran.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:09 Mi 05.09.2012 | Autor: | Flock |
Hallo, Forum!
Und Vielen Dank für die Erklärung der Begriffe, Indefinit!
Ich bin auch noch am Überlegen, warum die Ansätze äquivalent sind, bin aber bis jetzt nicht wirklich weitergekommen, wie in der ersten Frage beschrieben. Eine ganz verrückte Idee ist jetzt, wenn man einen Spektrum weglässt (für negative Frequenzen), den Hilbertfilter mit 2i zu multiplizieren, dann würde man 2 schon mal erzeugen, und die 1 an den stellen 0 und N/2+1 müsste man noch irgendwie dazuzaubern; begründen kann ich diese Multiplikation mit 2i nicht, vor allem, warum man es überhaupt tun dürfen sollte, deswegen auch "verrückter Ansatz".
Oder vielleicht fragt man sich anders: Wie sollte der Code des Programms mit dem i-0-(-i) Ansatz vom Code des 0-1-2 Ansatzes unterscheiden? Vielleicht sind die beiden Verfahren ja gar nicht in dem Sinne äquivalent.
Gruss
Flock
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:42 Do 06.09.2012 | Autor: | Flock |
Hallo, Forum!
Den Wikipediaartikel, den ich etwas umformuliert habe findet man bei: http://de.wikipedia.org/wiki/Hilbert-Transformation (Abschnitt: Implementierung)
Desweiteren habe ich eine interessante Erklärung bezüglich der Fourierspektren im folgenden Buch gefunden - ich glaube, dass man sogar das googeln kann:
Poularikas A. D. “The Hilbert Transform”
The Handbook of Formulas and Tables for Signal Processing.
Ed. Alexander D. Poularikas
Boca Raton: CRC Press LLC,1999
Im Kapitel 15.2 (Spectra of Hilbert transformation) steht eine simple Herleitung des 0-1-2 Ansatzes. Vielleicht hilft es einem oder anderen, die Äquivalenz zu -i-0-i aufzustellen oder zu zeigen, dass es nicht so ist.
Ich bin momentan auch am Knobbeln.
Gruss
Flock
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:57 Do 06.09.2012 | Autor: | Infinit |
Hallo Flock,
die Sache ließ mir keine Ruhe und so habe ich gestern abend mal in den verschiedenen Systemtheoriebüchern gewühlt, die ich bei mir habe. Für die Berechnung der Hilberttransformation über die Fouriertransformierte kann ich Dir nun wohl eine Erklärung geben. Sie ist nicht immer "straightforward", führt aber auf den gewünschten Zusammenhang und darum geht es ja schließlich.Lass Dir also etwas Zeit beim Lesen.
Die Hilbertransformation stellt bestimmte Bedingungen zwischen dem Real- und dem Imaginärteil einer Funktion auf, sie lässt sich im Zeit- wie auch im Frequenzbereich anwenden und ist definiert durch die Faltung einer reellwertigen Funktion mit der Funktion 1/x. Da solch ein Ausdruck später noch auftauchen wird, gebe ich hier schon mal die Definition wieder, dann fällt das Vergleichen leichter:
[mm] H(f(x)) = \bruch{1}{\pi x} \star f(x) = \bruch{1}{\pi}\int_{-\infty}^{\infty} \bruch{f(y)}{x-y} \, dy [/mm]
Bei Dir geht es nun um die Bestimmung eines sogenannten analytischen Signals mithilfe der Hilberttransformation, dessen Spektrum für negative Frequenzen verschwindet, es gilt also
[mm] U(f) = 0 {\em fuer } f < 0 [/mm]
Bei einem analytischen Signal ergänzt man ein reellwertiges Signal [mm] x(t) [/mm] um einen imaginären Anteil, bekommt also eine Darstellung
[mm] u(t) = x(t) + j y(t) [/mm]
Hierzu gehört nach der Fouriertransformation ein Spektrum
[mm] U(f) = X(f) + j Y(f) [/mm]
Soweit ist diese Darstellung noch allgemeingültig, jetzt besteht aber die Herausforderung, das Signal [mm] y(t) [/mm] gerade so zu bestimmen, dass [mm] U(f) = 0 [/mm] für [mm] f < 0 [/mm] gilt.
Die Teilspektren [mm] X(f) [/mm] und [mm] Y(f) [/mm] sind als Fouriertransformierte reeller Zeitsignale,- denke daran, dass x(t) und y((t) reelle Funktionen sind -, im allgemeinen komplex und zwar so, dass der Realteil des Spektrums eine gerade Funktion der Frequenz ist, der Imaginärteil eine ungerade. Nun sollte man sich am besten die Teilspektren mal skizzieren und dann überlegen, welcher Zusammenhang zwischen ihnen bestehen muss, damit das Spektrum für negative Frequenzen verschwindet. Nach einigem Knobeln kriegt man die folgende Beziehung heraus:
[mm] jY(f) = sgn(f) X(f) [/mm]
wobei das sgn die Signumfunktion darstellt.
Setze ich das in die Spektralgleichung weiter oben ein, dann bekomme ich
[mm] U(f) = X(f) + sgn(f)X(f) = (1+sgn(f)) X(f) [/mm]
Die Signumfunktion sorgt dafür, dass sich für negative Frequenzen die Anteile gerade aufheben, für positive verdoppeln. So eine Ausblendung erreicht man auch mithilfe der aus der Systemtheorie bekannten Sprungfunktion [mm] \sigma(f) [/mm], so dass ich auch schreiben kann:
[mm] U(f) = 2 \sigma (f) X(f) {\em fuer} f > 0 [/mm]
Um jetzt den Zusammenhang zur Hilberttransformation zu zeigen, transformieren wir die erste angegebene Beziehung in den Zeitbereich zurück. Mit Hilfe des Vertauschungssatzes bekommt man für die Korrespondenz der Signumfunktion im Frequenzbereich den folgenden Ausdruck:
[mm] F(sgn(f)) = \bruch{j}{\pi t} [/mm]
Aus der Multiplikation im Frequenzbereich wird eine Faltung im Zeitbereich (das j kürzt sich auf beiden Seiten der Gleichung dann raus) und man bekommt
[mm] y(t) = \bruch{1}{\pi t} \star x(t) = \bruch{1}{\pi}\int_{-\infty}^{\infty} \bruch{x(t)}{t-\tau} \, d\tau [/mm]
Wenn Du diesen Ausdruck mit der oben angegebenen Definition der Hilberttransformierten vergleichst, wirst Du feststellen, dass beide in der Struktur identisch sind und das bedeutet doch, dass das analytische Signal [mm] u(t) [/mm] aus einem Realteil [mm] x(t) [/mm] besteht und dessen Imaginärteil die Hilberttransformierte von [mm] x(t) [/mm] ist. Das Spektrum dieses Signals verschwindet für negative Frequenzen, wie von uns vorgegeben, und demzufolge kannst Du auch durch Verdoppeln der positiven Spektralanteile und anschließendes Rücktransformieren in den Zeitbereich das analytische Signal, das ansonsten über das Faltungsintegral bestimmt werden müsste, ausrechnen.
Wie gesagt, das ganze ist sicher nicht beim ersten Lesen komplett zu verdauen, nimm Dir also Zeit dafür
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:21 Mo 10.09.2012 | Autor: | Flock |
Hallo, Indefinit!
Vielen vielen herzlichen Dank. Jetzt erlebe ich gerade einen Aha-Effekt, endlich habe ich es begriffen. yeah.
Gruss
Flock
|
|
|
|