Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

ritardo di fase di un filtro

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 8 gen 2013, 18:26

Salve a tutti, da qualche giorno sono alle prese con un problema di filtraggio in Matlab;
in particolare sto usando un filtro IIR-Chebyshev 1° per filtrare un segnale costituito dalla somma di due chirp a frequenze f1 e f2, diverse tra loro, con 5 < f1 < f2 < 6 [GHz].

La banda passante del filtro è proprio [5-6] GHz, perciò i segnali dovrebbero passare ''inalterati''. (ordine=7, attenuazione in banda passante= 0.5 dB)

Per ora mi sto limitando a studiare il comportamento del filtro, mettendo a confronto le componenti I-Q
dei due chirp originali con quelle dei segnali in uscita dal filtro; tramite un tool riesco a risalire separatamente alle coppie (I1-Q1) e (I2-Q2).

Come è lecito aspettarsi dalla risposta in frequenza del filtro, vedo che per certe frequenze i segnali in uscita subiscono un ritardo di fase che varia da frequenza a frequenza, cosicché sovrapponendo i plot, ad es. I_orig - I1, essi non sempre coincidono in maniera quasi perfetta.

Volevo sapere se esiste un modo per compensare il ritardo di fase introdotto dal filtro.
Spero di essere stato chiaro.

Grazie mille a tutti
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[2] Re: ritardo di fase di un filtro

Messaggioda Foto Utentedimaios » 8 gen 2013, 19:42

Lo devi fare in tempo reale oppure vuoi riallineare i segnali offline ?
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[3] Re: ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 9 gen 2013, 11:26

Non capisco cosa intendi per ''riallineare i segnali in offline''.... :(
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[4] Re: ritardo di fase di un filtro

Messaggioda Foto Utentedimaios » 9 gen 2013, 12:15

Devi compensare i segnali in tempo reale oppure li hai gia' campionati e vuoi compensare il ritardo conoscendo i campioni futuri ?
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[5] Re: ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 9 gen 2013, 12:30

Forse è meglio se ti spiego cosa devo fare . :D

Allora, io genero un segnale, somma di due chirp a portanti f1 e f2, dopodiché aggiungo un rumore gaussiano bianco, ed infine filtro nella banda 5-6 GHz.
Questo segnale filtrato lo elaboro con un tool che mi ricostruisce i segnali originali e calcola le due coppie I-Q dei due chirp di partenza.

Credo che per avere una acquisizione migliore debbo compensare la fase del filtro a monte dell'algoritmo di ricostruzione, o no?

Quindi subito dopo il filtraggio, compenso la fase e poi ricostruisco le forme d'onda iniziali.
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[6] Re: ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 9 gen 2013, 12:42

Ho provato con la funzione filtfilt(), ma sostanzialmente fa un doppio filtraggio, prima in un verso poi nell'altro, il che mi risolve il problema della fase per le simulazioni, ma non credo che sia utile per la realtà, anche perché mi raddoppia l'ordine del filtro.

Che ne pensi!?
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[7] Re: ritardo di fase di un filtro

Messaggioda Foto Utentedimaios » 9 gen 2013, 14:49

Dovresti fare uno schema a blocchi con FidoCadJ per illustrare la catena di acquisizione e specificare il significato dei segnali in oggetto.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[8] Re: ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 9 gen 2013, 15:43

come schema andrebbe bene un immagine jpeg?
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[9] Re: ritardo di fase di un filtro

Messaggioda Foto Utentecorgan83 » 9 gen 2013, 16:49

Spero vada bene questa immagine.... purtroppo in azienda non riesco ad usare FidoCadJ
schema.jpg
schema.jpg (20.58 KiB) Osservato 5273 volte

Nel primo blocco genero un segnale dato dalla somma di due chirp a frequenze: 5.2 e 5.5 GHz entrambi con banda 10 MHz; poi sommo il rumore [0-10] GHz.

Prima di acquisire questi segnali e ricostruire le componenti I-Q di ciascun chirp, ho pensato di effettuare prima un filtraggio BPF a Radio Frequenza in modo da eliminare tutto ciò che ricada al di fuori della mia banda di interesse, nella fattispecie [5-6] GHz.

Una volta filtrato, processo tutto con un tool, cioè la versione numerica del convertitore MWC, che mi ricostruisce i chirp di partenza e ne calcola per ciascuno la coppia I-Q che poi confronto con quelle di un chirp non affetto da rumore per quantificare la bontà della ricostruzione.

Per ora ho progettato il filtro in questo modo:
fnyq = 20 GHz;
wp = [5e9 6e9]/10e9;
Npoli = 7;
ApdB = 0.5;

[b, a] = cheby1(Npoli, ApdB, wp);

Faccio il filtraggio classico >>>> x= filter(b,a,c)

e mi compare l'errore di fase sulle I-Q in uscita dal blocco CTF che contiene l'algoritmo di ricostruzione vero e proprio.

Poco fa invece ho provato a filtrare con la funzione >>>>>> x = filtfilt(b,a,c)

ed effettivamente le cose sembrano andare bene, i vari plot sono in fase. ( c'è solo un po' di rumore sulle componenti ricostruite, ma questo è normale)

Voglio capire se ha senso lavorare così, simulare con filtfilt, oppure bisogna compensare questo ritardo con tecniche diverse, tali da simulare filtri più prossimi alla realtà.

Spero di esser stato chiaro
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

1
voti

[10] Re: ritardo di fase di un filtro

Messaggioda Foto Utentedimaios » 10 gen 2013, 9:55

Se lavori offline il filtfilt e' una delle funzioni piu' efficaci per fare un filtraggio a ritardo nullo.
Se lavori online ( in tempo reale quindi ) dovrai utilizzare come minimo un predittore.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti