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
∆ω