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
ritardo di fase di un filtro
11 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
Forse è meglio se ti spiego cosa devo fare .
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.
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.
0
voti
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!?
Che ne pensi!?
0
voti
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.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
Spero vada bene questa immagine.... purtroppo in azienda non riesco ad usare FidoCadJ
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
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
1
voti
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.
Se lavori online ( in tempo reale quindi ) dovrai utilizzare come minimo un predittore.
Ingegneria : alternativa intelligente alla droga.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
11 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Programmi applicativi: simulatori, CAD ed altro
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
