Esercitazione N.1 per il corso di Filtro notch e canna d`organo
Transcript
Esercitazione N.1 per il corso di Filtro notch e canna d`organo
Esercitazione N.1 per il corso di S ISTEMI DI T ELECOMUNICAZIONI 1 Filtro notch e canna d’organo 5 ottobre 2006 1 Scopo dell’esercitazione Quest’esercitazione è divisa in due parti: simulazione di un tubo acustico ed estrazione di portante tramite filtro notch. 2 Simulazione di canna d’organo La Fig. 1 mostra un modello semplificato di uno strumento a fiato (es. una canna d’organo). Lo strumento è formato da un tubo di lunghezza L ed il suonatore, soffiando ad un’estremità, “inietta” un segnale rumoroso r(t). Il segnale viaggia per tutta la lunghezza del tubo, viene riflesso, torna indietro e si ricombina col rumore immesso dall’esecutore. Il viaggio di “andata-e-ritorno” causa un’attenuazione 0 < α < 1. Se s(t) è il suono che esce dallo strumento all’istante t, un modello ragionevole per il sistema di Fig. 1 è s(t) = r(t) + αs(t − τ) (1) dove τ è il tempo che occorre al suono per percorrere il tubo nelle due direzioni. Scopo dell’esercitazione è ottenere la versione campionata s(nT ) tramite un programma in M ATLAB. Più precisamente, lo studente deve 1. Scrivere uno script/funzione M ATLAB che simuli (1). La frequenza di campionamento da usare è 8000 Hz. Si supponga la velocità del suono pari a 330 m/s e il rumore di ingresso r(t) Gaussiano a media nulla e varianza σr2 = 1/2. 2. Provare lo script (ascoltando il suono prodotto) almeno per L pari a 10 cm, 50 cm e 1 m e α pari a 0.9, 0.99 e 0.999. Lo studente commenti i risultati ottenuti. 1 r(t) s(t) α L Figura 1: 3. Provare lo script per gli stessi valori di L di cui al punto precedente, ma cambiando il segno di α. Che differenza si avverte nel suono prodotto? Lo studente spieghi il risultato analizzando la disposizione dei poli corrispondente agli α negativi. 2.1 Consigli • Il filtro a tempo discreto può essere implementato usando la funzione filter di M ATLAB • La funzione randn di M ATLAB genera valori aleatori con distribuzione Gaussiana • Se il ritardo τ non è un multiplo intero del passo di campionamento T = 1/Fc , lo studente approssimi τ col multiplo di T più vicino. 3 3.1 Estrazione di portante Il problema Abbiamo un segnale x : Z(T ) → R campionato a Fc = 1/T =8000 Hz dato dalla somma di una portante sinuosidale p(nT ) = A cos(2π f0 nT + φ ) a frequenza f0 ed un rumore r(nT ), ossia x(nT ) = A cos(2π f0 nT + φ ) + r(nT ) (2) Noi vogliamo usare la portante p per determinare un riferimento temporale (usando, per esempio, i passaggi per lo zero di p). Il nostro problema è quindi di estrarre p da x conservando il più possibile il valore della fase φ (l’ampiezza di p invece ha un interesse secondario). 2 x=p+r r r p Notch Figura 2: Si supponga che la frequenza f0 appartenga all’intervallo 2500 ± 50 Hz e di voler limitare la differenza tra la fase di p e quella del segnale estratto a meno di 0.5 radianti. 3.2 Come si fa Lo schema da usare è mostrato in Fig. 2: il segnale di ingresso x viene elaborato con un filtro notch che cancella la portante lasciando solo r. L’uscita del filtro notch viene quindi sottratta dal segnale x per ottenere p. Gli zeri del filtro notch sono posizionati sulla circonferenza unitaria ad un angolo che corrisponde alla frequenza “nominale” della portante 2500 Hz. I poli del filtro notch devono essere scelti il più vicino possibile alla circonferenza di raggio unitario (in modo da cancellare il più possibile il rumore r), compatibilmente con il vincolo sul massimo errore di fase. Si osservi che in pratica le due operazioni mostrate in Fig. 2 (il filtraggio di x e la sottrazione del risultato da x) possono essere implementate con un unico filtro a tempo discreto poiché il blocco mostrato con linea a tratti in Fig. 2 è equivalente ad un filtro. 3.3 Cosa deve fare lo studente Lo studente deve 1. Trovare i coefficienti del filtro equivalente al blocco tratteggiato in Fig. 2 (tali coefficienti saranno ovviamente funzione del modulo dei poli) 2. Determinare la posizione ottima dei poli, ossia, la posizione più vicina alla circonferenza di raggio unitario che soddisfa i vincoli sul massimo errore di fase. 3. Implementare il sistema in M ATLAB e provarlo coi segnali di test forniti dal docente. 3 3.4 Consigli • La funzione M ATLAB freqz disegna modulo e fase della risposta in frequenza di un filtro a tempo discreto • La funzione M ATLAB zplane mostra la posizione dei poli e degli zeri di un filtro a tempo discreto • La posizione ottima dei poli può essere trovata sia per tentativi, sia tramite semplici ragionamenti geometrici. Scrivendo esplicitamente la funzione di trasferimento del sistema complessivo, si vede facilmente che la disposizione di poli e zeri è simile a quella mostrata in Fig. 3a. Si consideri l’intervallo di frequenze mostrato con linea più marcata e si osservi che il principale responsabile della variazione di fase nella risposta in frequenza è il polo a parte immaginaria positiva (perché?). Possiamo quindi dire che la massima variazione di fase è approssimativamente uguale all’angolo mostrato in Fig. 3b. Tramite alcuni semplici ragionamenti geometrici è possibile trovare una relazione approssimata tra la posizione del polo, la massima deviazione di frequenza ed il massimo errore di fase. 4 (a) ∆φ (b) Figura 3: 5 ∆ω