Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

realizzazione coefficienti fir matlab

Telefonia, radio, TV, internet, reti locali...comandi a distanza

Moderatore: Foto Utentejordan20

0
voti

[11] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utentedavide99cs » 9 feb 2015, 2:29

g.schgor ha scritto:Allora comincerei a fissare le idee scegliendo un filtro
fissandone i parametri (con numero di frequenze e intervallo).
Se mi dici i dati, posso fare lo stesso calcolo in Mathcad. così
confrontiamo i risultati.



Dato che il campionamento è a 4ghz massimo potrò avere una frequenza di 2ghz in ingresso . ma sarebbe comunque esagerata. Io pensavo che passando parametricamente la frequenza, se ero intorno ai 250mhz posso fare un passa-basso, altrimenti passerei a un passa-banda, e se sono sui 750/1ghz passerei a un passa-alto. Il filtro è molto semplice come frequenze da far passare, deve far passare solo la frequenza della mia cosinusoide in ingresso (sarà sempre una cosinusoide quindi una sola frequenza di riferimento).
Ora, realizzare un filtro passa-basso di butterworth e poi finestrarlo è possibile anche se non facile (ovviamente dovendo rifare tutte le funzioni da capo e pensavo di usare la trasformazione bilineare per la discretizzazione).
Però magari mi puoi aiutare a sviluppare una funzione che in generale mi dia i coefficienti del fir che cambiano in base al tipo di filtraggio (e tipo di filtro) che mi serve in quella situazione. Per quanto riguarda le specifiche mi è stato detto che possono essere anche poco restrittive (banda di transizione non troppo stretta e attenuazione non esagerata) in modo che non ho un filtro di ordine eccessivo.
Non so se sono stato abbastanza chiaro su quale è il mio problema o se ti serve qualche altra informazione. Spero vivamente tu mi possa aiutare :D :D
Avatar utente
Foto Utentedavide99cs
0 2
 
Messaggi: 24
Iscritto il: 13 gen 2015, 18:05

0
voti

[12] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utenteg.schgor » 9 feb 2015, 6:50

Francamente non capisco il tuo problema.
Se hai una sola frequenza a che serve il filtro?
Poi parli di filtro Butterworth (analogico) e poi
chiedi di calcolare i coefficienti di un FIR (digitale).

Forse è meglio chiarire le idee prima di proseguire.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[13] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utentedavide99cs » 9 feb 2015, 13:15

g.schgor ha scritto:Francamente non capisco il tuo problema.
Se hai una sola frequenza a che serve il filtro?
Poi parli di filtro Butterworth (analogico) e poi
chiedi di calcolare i coefficienti di un FIR (digitale).

Forse è meglio chiarire le idee prima di proseguire.



La frequenza di ingresso è quella su cui devo impostare il filtro. Poi devo filtrare a quella frequenza per eliminare eventuali componenti rumorose indesiderate

Per quanto riguarda il filtro digitale sicuramente sai bene che uno dei modi per creare un fir è di crearne uno iir analogico, poi discretizzarlo (trasformazione bilineare ad esempio), e poi magari usare windowing per renderlo fir. Ma questa era solo un idea di procedere. Potrei anche crearmi una funzione che mi generi semplicemente i coefficienti del fir, e chiedevo aiuto per l'appunto per questa, perché anche teoricamente non saprei come apporocciarla
Avatar utente
Foto Utentedavide99cs
0 2
 
Messaggi: 24
Iscritto il: 13 gen 2015, 18:05

0
voti

[14] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utenteg.schgor » 9 feb 2015, 15:03

Allora mi sembra che ti serva un filtro passa-banda
centrato sulla frequenza in ingresso (che devi conoscere).
Il filtro può essere "quasi-ideale" nel senso che puoi fissarne
percentualmente la larghezza e calcolare così direttamente
i coefficienti del FIR, come già imdicato.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[15] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utentedavide99cs » 9 feb 2015, 16:24

Si esatto, il tipo di filtraggio è quello. Ovviamente se la frequenza è molto bassa/alta passerei appunto al passa-basso/alto

E' proprio quello che non capisco, come calcolare i coefficienti del fir. Ti riferisci all'articolo con mathcad? Lho visto, ma non riesco bene a inquadrare la cosa che risolverebbe il mio problema...
Ultima modifica di Foto Utenteadmin il 12 feb 2015, 20:01, modificato 1 volta in totale.
Motivazione: eliminato il totale quoting inutile del messaggio che precede.
Avatar utente
Foto Utentedavide99cs
0 2
 
Messaggi: 24
Iscritto il: 13 gen 2015, 18:05

0
voti

[16] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utenteg.schgor » 9 feb 2015, 18:11

Eppure nel link del post[2] è spiegato chiaramente
che devi stabilire l'andamento del filtro fissando il numero K
e l'intervallo \Delta f delle frequenze considerate,
poi esprimere matematicamente l'andamento con HBP_k.
I coefficienti cercati sono l'antitrasformata di tale andamento.
Questo riesci a farlo?
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[17] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utentedavide99cs » 9 feb 2015, 22:35

avendo un campionamento a 4Ghz posso fissare il mio \Delta f intorno rispetto ai miei punti di fft che sono 64. quindi sarà 2Ghz/64 punti. A questo punto dimmi se sbaglio, devo porre ad 1 i campioni delle frequenze che mi serve far passare e a 0 quelli che voglio eliminare giusto? Però poi facendo la IFFT e trovando i coefficienti che mi servono, non capisco perché trovo 128 campioni (se uso fft da 64 campioni) invece di 64...questo non l'ho capito.
Poi userò una finestra per diminuire l'ordine e mi causerà oscillazioni e quello ok.
Puoi spiegarmi il fatto del doppio dei campioni?
Ultima modifica di Foto Utenteadmin il 12 feb 2015, 20:01, modificato 1 volta in totale.
Motivazione: eliminato il totale quoting inutile del messaggio che precede.
Avatar utente
Foto Utentedavide99cs
0 2
 
Messaggi: 24
Iscritto il: 13 gen 2015, 18:05

2
voti

[18] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utenteg.schgor » 10 feb 2015, 7:26

davide99cs ha scritto:Puoi spiegarmi il fatto del doppio dei campioni?

Sì, nell' analisi di Fourier con N campionamenti
puoi ottenere al massimo N/2 frequenze,
quindi se fai la trasformazione inversa, con K frequenze
ottieni 2K campioni nel tempo.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[19] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utentedavide99cs » 10 feb 2015, 13:49

Mmm ok...ma usando avendo definito il mio filtro in frequenza mettendo i campioni che mi servono a 1, avendo una fft di 64 punti, non avrò dopo la ifft una sequenza nel tempo proprio di 64 punti (che sono i coefficienti che cerco...)??
Inoltre avevo qualche dubbio anche sul fatto che il segnale sia reale nel tempo facendo la ifft di quello creato in frequenza...
Ultima modifica di Foto Utenteadmin il 12 feb 2015, 20:02, modificato 1 volta in totale.
Motivazione: eliminato il totale quoting inutile del messaggio che precede. Usare Rispondi o selezionare correttamente la parte
Avatar utente
Foto Utentedavide99cs
0 2
 
Messaggi: 24
Iscritto il: 13 gen 2015, 18:05

2
voti

[20] Re: realizzazione coefficienti fir matlab

Messaggioda Foto Utenteg.schgor » 10 feb 2015, 15:34

Senti, ti faccio una proposta:
lasciamo da parte per il momento i GHz
e vediamo di risolvere un semplicissimo
filtro passa banda di 100Hz, centrato su 400Hz.
Ho preparato questa procedura in Mathcad
che credo sia facile da seguire:
DBPfilter1.GIF
DBPfilter1.GIF (11.78 KiB) Osservato 3242 volte

Il diagramma di Bode mostra l'andamento del filtro
"quasi-ideale" (trapezio anziché rettangolare)
definito da 32 frequenze (K) distanziate di 50Hz (P)
rappresentate da HBP_k.
Applicando l'antitrasformazione (IFFT) di questa serie
di frequenze, si ottengono 64 (M) coefficienti
del filtro FIR:
DBPfilter2.GIF
DBPfilter2.GIF (3.8 KiB) Osservato 3242 volte


Per il momento mi fermerei qui.
Riesci a fare l'equivalente in Matlab?
Poi vedremo l'applicazione al filtraggio
di una forma d'onda composita.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

PrecedenteProssimo

Torna a Telecomunicazioni

Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti

cron