Funktionen > Signalverarbeitung > Zusätzliche Transformationen > Beispiel: Die Hilbert-Transformation
Beispiel: Die Hilbert-Transformation
Verwenden Sie die Funktion hilbert, um die Hilbert-Transformation eines reellen Signals zu erstellen, sodass die diskrete Fourier-Transformation des analytischen Signals bei negativen Frequenzen einen Betrag von null aufweist.
1. Verwenden Sie die Funktionen sin und cos, um das Eingangssignal zu definieren. Verwenden Sie die Funktion rnd, um Zufallsrauschen hinzuzufügen.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Plotten Sie das Eingangssignal.
Zum Kopieren dieses Ausdrucks klicken
3. Verwenden Sie die Funktion hilbert, um die Hilbert-Transformation des Eingangssignals zu berechnen.
Zum Kopieren dieses Ausdrucks klicken
4. Plotten Sie das Hilbert-Transformationssignal.
Zum Kopieren dieses Ausdrucks klicken
5. Erstellen und plotten Sie das komplexe Signal.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Die nächsten Schritte zeigen, dass der Betrag des analytischen Signals die komplexe Hülle des ursprünglichen Signals darstellt.
6. Verwenden Sie die Funktion dft, um das Spektrum des Signals z1 zu ermitteln.
Zum Kopieren dieses Ausdrucks klicken
7. Plotten Sie die absoluten Werte des Spektrums.
Zum Kopieren dieses Ausdrucks klicken
Für Vektoren lautet der Skalierungsfaktor zwischen der Funktion dft und der veralteten Funktion CFFT 1/N.
8. Plotten Sie alle vier Signale in demselben Diagramm.
Zum Kopieren dieses Ausdrucks klicken
Das neue Signal, das von der Hilbert-Transformation erzeugt wird, steht in folgender Beziehung zum Eingangssignal im Transformationsbereich:
Zum Kopieren dieses Ausdrucks klicken
Dabei gilt: H ist der sogenannte Hilbert-Transformator, ein Filter mit folgendem Frequenzgang:
Zum Kopieren dieses Ausdrucks klicken
für
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
für
Zum Kopieren dieses Ausdrucks klicken
Es ist möglich, H mithilfe der Verfahren und Funktionen der Filterkonstruktion zu erstellen.
Idealer Hilbert-Transformator
Rabiner und Gold (Theory and Application of Digital Signal Processing, Prentice-Hall, Inc.) geben Koeffizienten für einen idealen Hilbert-Transformator an. Die Beispiele unten beruhen auf den Erläuterungen in Abschnitt 14.4 im Buch Signal Processing Algorithms von Stearns und David (Prentice-Hall). Die Koeffizienten des idealen Filters werden in einem Fenster dargestellt und verschoben, um einen kausalen Filter ungerader Länge L zu erhalten.
1. Definieren Sie Länge und Mitte.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Definieren Sie die unbewerteten Koeffizienten h.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
3. Verwenden Sie die Funktion hamming, um die Koeffizienten mit einem Hamming-Fenster darzustellen, und multiplizieren Sie dabei mithilfe des vectorize Operators h und das Fenster Element für Element.
Zum Kopieren dieses Ausdrucks klicken
4. Verwenden Sie die Funktion gain, um die Zunahme des Filters bei der Frequenz f mit Koeffizienten h zu berechnen.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
5. Plotten Sie die Zunahme bezogen auf die Frequenz.
Zum Kopieren dieses Ausdrucks klicken
Die Frequenz wird auf eine Abtastfrequenz von 1 normalisiert.
6. Verwenden Sie die Funktionen exp und arg, um die Phasenverschiebung des Filters zu berechnen.
Der Filter hat eine Verzögerung von C, und wir berechnen die Phasenverschiebung des Filters relativ zum verzögerten Signal. Die Verzögerung hat die folgende Übertragungsfunktion:
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Dabei gilt:
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
7. Stellen Sie die Phasenverschiebung in Grad dar.
Zum Kopieren dieses Ausdrucks klicken
Über nahezu den gesamten Frequenzbereich beträgt die Verschiebung -90 Grad.
Testen des Filters
1. Definieren Sie die Signalparameter.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Verwenden Sie die Funktion exp, um ein neues Signal zu erstellen. Die Funktion rnd fügt Niederfrequenzrauschen hinzu.
Zum Kopieren dieses Ausdrucks klicken
Sie können den Cursor auf rnd setzen und F5 drücken, um eine Neuberechnung durchzuführen und ein anderes Zufallssignal T zu erhalten.
Zum Kopieren dieses Ausdrucks klicken
3. Setzen Sie die konjugierten Zahlen dieser Elemente an die letzten 200 Stellen des Signals, um ein reales Ergebnis zu garantieren, wenn es umgekehrt wird.
Zum Kopieren dieses Ausdrucks klicken
Der neue Vektor hat 1001 Elemente, von denen Elemente 1 bis 200 den ursprünglichen Vektor T und Elemente 801 bis 1000 die konjugierten Zahlen von T enthalten. Dazwischenliegende Elemente werden auf 0 festgelegt.
4. Ermitteln Sie die Fourier-Transformation des Signals T.
Zum Kopieren dieses Ausdrucks klicken
Verwenden Sie die Funktion Re, um den kleinen imaginären Rundungsfehler zu entfernen. Das Rauschen wird durch Erstellen der Transformation T erzeugt, wobei für die ersten 200 Elemente nach dem ersten Element Zufallsphasen und Betragseinheiten verwendet werden.
5. Plotten Sie das transformierte Signal.
Zum Kopieren dieses Ausdrucks klicken
6. Verwenden Sie die Funktion response, um mit der Antwort des Vektors ZT HamL zu filtern.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
7. Erstellen Sie ein komplexes Signal z2 mit den ersten 800 Elementen von ZT und den letzten 800 Elementen von R.
Zum Kopieren dieses Ausdrucks klicken
Speichern Sie die ersten 800 Elemente des Fourier-Transformationsvektors ZT in Vektor a2.
Zum Kopieren dieses Ausdrucks klicken
Speichern Sie die letzten 800 Elemente des Ansprechvektors R in Vektor b2.
Zum Kopieren dieses Ausdrucks klicken
Definieren Sie das komplexe Signal z2.
Zum Kopieren dieses Ausdrucks klicken
8. Verwenden Sie die Funktion dft, um die diskrete Fourier-Transformation des Signals z2 zu berechnen.
Zum Kopieren dieses Ausdrucks klicken
Für Vektoren lautet der Skalierungsfaktor zwischen der Funktion dft und der veralteten Funktion CFFT 1/P.
9. Plotten Sie die absoluten Werte der diskreten Fourier-Transformation des Signals z2.
Zum Kopieren dieses Ausdrucks klicken
Die ursprünglichen 200 Punkte, die zur Erzeugung des Signals im Transformationsbereich verwendet wurden, sind hier dargestellt. Die obere Hälfte des Spektrums hat im Wesentlichen den Wert null, d.h., der Hilbert-Transformatorfilter hat seine Aufgabe erfüllt.
War dies hilfreich?