Funzioni > Elaborazione dei segnali > Filtro digitale > Esempio: risposta temporale dei filtri digitali
  
Esempio: risposta temporale dei filtri digitali
Utilizzare le funzioni response e fftfilt per calcolare l'output di un filtro FIR o IIR mediante la valutazione diretta della convoluzione. La funzione restituisce un vettore complesso di output di lunghezza n.
La tecnica utilizzata da queste funzioni è molto diffusa e documentata nella maggior parte dei manuali sull'elaborazione dei segnali. Consultare ad esempio A.V. Oppenheim e R. W. Schafer, Discrete-Time Signal Processing, pp. 556-558, 1989.
Ordine dei filtri IIR passa basso
1. Definire un segnale di input con un componente a bassa frequenza e uno ad alta frequenza.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Calcolare i primi 100 passi della risposta di un filtro Butterworth passa basso di secondo ordine con frequenza di taglio f.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Il valore di taglio deve essere compreso tra 0 e 0.5, come specificato nella descrizione della funzione.
3. Utilizzare la funzione iirlow per ottenere i coefficienti della funzione di trasferimento.
Fare clic per copiare questa espressione
4. Utilizzare la funzione response per ottenere la risposta del filtro.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Il segnale di risposta YA è più uniforme ed è caratterizzato da un'ampiezza minore e da uno spostamento temporale minimo rispetto al segnale originale x.
5. Specificare un filtro Butterworth passa basso di sesto ordine con la stessa frequenza di taglio f. La funzione response aggiungerà l'output della prima sezione nella seconda sezione, quello della seconda nella terza e così via.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Il filtro di ordine superiore consente di ottenere una risposta molto più uniforme, risulta più efficace per filtrare le alte frequenze, implica uno spostamento temporale maggiore e offre una transizione più netta della frequenza di taglio.
Filtro FIR passa banda
1. Pianificare un filtro FIR passa banda F per trasmettere la frequenza di segnale più alta tra le due definite in precedenza.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Calcolare i coefficienti per un filtro passa banda di lunghezza 51 con banda passante tra le frequenze bassa e alta specificate in precedenza e utilizzare una finestra di Blackman (ultimo argomento di 6).
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Calcolare il ritardo causato dal filtro.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Applicare la funzione response per calcolare i primi 100 passi.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Sebbene non trasmetta immediatamente all'avvio, il filtro seleziona la frequenza alta (f2=0.2, T=5) con estrema accuratezza.
Filtro FIR passa banda 2
Consente di dimostrare che il filtro FIR passa basso seguente include uno spostamento di fase uguale a zero per diverse frequenze nella relativa banda passante.
1. Definire due segnali di input.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Definire la frequenza di taglio e il numero di coefficienti del filtro FIR.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Calcolare i coefficienti con una finestra di Hanning.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Calcolare il ritardo causato dal filtro.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Definire i due segnali di input ritardati.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
6. Tracciare il grafico del primo segnale di input ritardato x1d e della risposta del filtro a x1.
Fare clic per copiare questa espressione
I due segnali sono identici e hanno una differenza di fase uguale a zero.
7. Tracciare il grafico del secondo segnale di input ritardato x2d e della risposta del filtro a x2.
Fare clic per copiare questa espressione
I due segnali sono identici e hanno una differenza di fase uguale a zero.
Utilizzo della risposta per la convoluzione
Se l'array del filtro include una sola colonna, la funzione di risposta eseguirà una convoluzione. Tale funzione costituisce pertanto un'alternativa alla funzione convolve basata sulla trasformata rapida di Fourier. La risposta è molto più rapida per una piccola parte iniziale della convoluzione di due sequenze lunghe.
1. Definire un intervallo e due array riempiti con numeri positivi casuali compresi tra 0 e 1.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Applicare la funzione convolve ai due array.
Fare clic per copiare questa espressione
3. Utilizzare la funzione response per ottenere i primi otto passi della risposta.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
I due array sono identici.
Confronto dell'output delle funzioni response e fftfilt
Consente di dimostrare che i risultati ottenuti dalle funzioni response e fftfilt sono equivalenti.
1. Definire un intervallo e due frequenze.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Definire il segnale di input in termini di f1 e f2.
Fare clic per copiare questa espressione
3. Creare un filtro FIR passa basso con frequenza di taglio f e con una finestra di Hanning.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Calcolare la risposta del filtro al segnale di input.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Applicare la funzione fftfilt al segnale di input e ottenere i primi 64 passi.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
* 
y_f è un vettore di elementi complessi.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
6. Tracciare il grafico del risultato della convoluzione del segnale di input con la funzione di trasferimento del filtro con il segnale di risposta. Le due tracce risultano completamente sovrapposte.
Fare clic per copiare questa espressione