Funzioni > Elaborazione dei segnali > Ulteriori trasformate > Esempio: trasformata di Hilbert
Esempio: trasformata di Hilbert
Utilizzare la funzione hilbert per creare la trasformata di Hilbert di un segnale reale tale per cui la grandezza della trasformata discreta di Fourier del segnale analitico sia zero in corrispondenza di frequenze negative.
1. Utilizzare le funzioni sin e cos per definire il segnale di input. Utilizzare la funzione rnd per aggiungere rumore casuale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Tracciare il grafico del segnale di input.
Fare clic per copiare questa espressione
3. Utilizzare la funzione hilbert per calcolare la trasformata di Hilbert del segnale di input.
Fare clic per copiare questa espressione
4. Tracciare il grafico del segnale della trasformata di Hilbert.
Fare clic per copiare questa espressione
5. Creare il segnale complesso e tracciarne il grafico.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Nei passi successivi sarà possibile osservare che la grandezza del segnale analitico è l'inviluppo complesso del segnale originale.
6. Utilizzare la funzione dft per trovare lo spettro del segnale z1.
Fare clic per copiare questa espressione
7. Tracciare il grafico dei valori assoluti dello spettro.
Fare clic per copiare questa espressione
Per i vettori, il fattore di scala tra la funzione dft e la funzione obsoleta CFFT è 1/N.
8. Tracciare tutti i quattro segnali nello stesso grafico.
Fare clic per copiare questa espressione
Il nuovo segnale, creato da Hilbert, è correlato al segnale di input nel dominio della trasformata nel modo seguente.
Fare clic per copiare questa espressione
dove H è il convertitore di Hilbert, un filtro con risposta in frequenza:
Fare clic per copiare questa espressione
per
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
per
Fare clic per copiare questa espressione
Per creare H, è possibile utilizzare procedure e funzioni di pianificazione dei filtri.
Convertitore di Hilbert ideale
Rabiner e Gold (Theory and Application of Digital Signal Processing, Prentice-Hall, Inc.) indicano i coefficienti per un convertitore di Hilbert ideale. Gli esempi seguenti sono basati su quanto riportato nella sezione 14.4 di Signal Processing Algorithms, di Stearns e David (Prentice-Hall). I coefficienti del filtro ideale sono compresi in una finestra e vengono spostati per ottenere un filtro causale di lunghezza L dispari.
1. Definire la lunghezza e il centro.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Definire i coefficienti h non compresi in una finestra.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Utilizzare la funzione hamming per eseguire la finestratura dei coefficienti con una finestra di Hamming, utilizzando l'operatore vectorize per moltiplicare h e la finestra elemento per elemento.
Fare clic per copiare questa espressione
4. Utilizzare la funzione gain per calcolare la resa del filtro alla frequenza f con coefficienti h.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Tracciare il grafico della resa e della frequenza a confronto.
Fare clic per copiare questa espressione
La frequenza verrà normalizzata sulla frequenza di campionamento di 1.
6. Utilizzare le funzioni exp e arg per calcolare lo spostamento di fase del filtro.
Il filtro ha un ritardo di C e lo spostamento di fase del filtro viene calcolato in relazione al segnale ritardato. Il ritardo ha la seguente funzione di trasferimento:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
dove:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Tracciare il grafico dello spostamento di fase espresso in gradi.
Fare clic per copiare questa espressione
Lo spostamento è pari a -90 gradi su quasi tutta la gamma di frequenza.
Test del filtro
1. Definire i parametri del segnale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Utilizzare la funzione exp per creare un nuovo segnale. La funzione rnd aggiunge rumore a bassa frequenza.
Fare clic per copiare questa espressione
È possibile posizionare il cursore su rnd e premere F5 per ricalcolare e visualizzare un segnale causale T diverso.
Fare clic per copiare questa espressione
3. Inserire i coniugati di questi elementi nelle ultime 200 posizioni del segnale per garantire un risultato reale durante l'inversione.
Fare clic per copiare questa espressione
Il nuovo vettore presenta 1001 elementi, dove gli elementi da 1 a 200 contengono il vettore originale T e gli elementi da 801 a 1000 contengono i coniugati di T. Gli elementi di mezzo vengono impostati su 0.
4. Trovare la trasformata di Fourier del segnale T.
Fare clic per copiare questa espressione
Utilizzare la funzione Re per rimuovere l'errore di arrotondamento immaginario minimo. Il rumore viene generato creando la relativa trasformata T mediante grandezze di unità e fasi casuali per i primi 200 elementi dopo il primo.
5. Tracciare il grafico del segnale trasformato.
Fare clic per copiare questa espressione
6. Utilizzare la funzione response per ottenere la risposta del vettore ZT per filtrare HamL.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Creare un segnale complesso z2 utilizzando i primi 800 elementi di ZT e gli ultimi 800 elementi di R.
Fare clic per copiare questa espressione
Salvare i primi 800 elementi del vettore della trasformata di Fourier ZT nel vettore a2.
Fare clic per copiare questa espressione
Salvare gli ultimi 800 elementi del vettore di risposta R nel vettore b2.
Fare clic per copiare questa espressione
Definire il segnale complesso z2.
Fare clic per copiare questa espressione
8. Utilizzare la funzione dft per calcolare la trasformata discreta di Fourier del segnale z2.
Fare clic per copiare questa espressione
Per i vettori, il fattore di scala tra la funzione dft e la funzione obsoleta CFFT è 1/P.
9. Tracciare il grafico dei valori assoluti della trasformata discreta di Fourier del segnale z2.
Fare clic per copiare questa espressione
Vengono visualizzati i 200 punti originali utilizzati per generare il segnale nel dominio della trasformata. La metà superiore dello spettro è essenzialmente pari a zero. Ciò significa che il filtro del convertitore di Hilbert è stato applicato correttamente.
È stato utile?