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.
2. Tracciare il grafico del segnale di input.
3. Utilizzare la funzione hilbert per calcolare la trasformata di Hilbert del segnale di input.
4. Tracciare il grafico del segnale della trasformata di Hilbert.
5. Creare il segnale complesso e tracciarne il grafico.
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.
7. Tracciare il grafico dei valori assoluti dello spettro.
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.
Il nuovo segnale, creato da Hilbert, è correlato al segnale di input nel dominio della trasformata nel modo seguente.
dove H è il convertitore di Hilbert, un filtro con risposta in frequenza:
per
per
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.
2. Definire i coefficienti h non compresi in una finestra.
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.
4. Utilizzare la funzione gain per calcolare la resa del filtro alla frequenza f con coefficienti h.
5. Tracciare il grafico della resa e della frequenza a confronto.
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:
dove:
7. Tracciare il grafico dello spostamento di fase espresso in gradi.
Lo spostamento è pari a -90 gradi su quasi tutta la gamma di frequenza.
Test del filtro
1. Definire i parametri del segnale.
2. Utilizzare la funzione exp per creare un nuovo segnale. La funzione rnd aggiunge rumore a bassa frequenza.
È possibile posizionare il cursore su rnd e premere F5 per ricalcolare e visualizzare un segnale causale T diverso.
3. Inserire i coniugati di questi elementi nelle ultime 200 posizioni del segnale per garantire un risultato reale durante l'inversione.
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.
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.
6. Utilizzare la funzione response per ottenere la risposta del vettore ZT per filtrare HamL.
7. Creare un segnale complesso z2 utilizzando i primi 800 elementi di ZT e gli ultimi 800 elementi di R.
Salvare i primi 800 elementi del vettore della trasformata di Fourier ZT nel vettore a2.
Salvare gli ultimi 800 elementi del vettore di risposta R nel vettore b2.
Definire il segnale complesso z2.
8. Utilizzare la funzione dft per calcolare la trasformata discreta di Fourier del segnale z2.
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.
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.