Pagina 1 di 2

segnale chirp in simulink

MessaggioInviato: 6 nov 2012, 17:31
da corgan83
Salve a tutti, volevo chiedervi un aiuto su come generare un segnale chirp in simulink e per ora calcolarne lo spettro in frequenza.
Premetto che ho abbozzato un primo schema molto semplice dove genero il chirp usando il blocco della libreria Signal Processing Sources, mentre per il calcolo dello spettro ho usato il blocco Spectrum scope dalla libreria Signal Processing sinks. Chiedo il vostro aiuto in quanto, il segnale che esce nel dominio del tempo, è ben lontano da quello che dovrebbe essere un chirp classico, non vorrei sia a causa delle frequenze in gioco che sono molto elevate.

Comunque ho settato i parametri in questo modo:

Chirp source
freq sweep: linear
sweep mode: unidirectional
freq iniziale: 5 GHz
freq finale 5.01 GHz
target time = sweep time: 6 micro sec (perché devo generare un impulso di 6 microsec)
sample time: 1/(20 GHz)
sample per frame: 8 (in realtà ho fatto varie simulazioni 8/16/128...)
out data: double

a fine simulazione sullo spectrum scope vedo uno spettro di un segnale che non è quello di un chirp :(, nonostante l'asse delle frequenze coincide con ciò che mi aspetto, anche la portante sembra che venga calcolata bene, in corrispondenza di essa lo spettro ha un andamento a campana, sarà dovuto all'effetto della finestratura ( hanning), nei settaggi dello spectrum scope?

Penso che nemmeno i settaggi del vector scope per la visualizzazione del chirp nel dominio del tempo siano corretti, non ho ben capito il concetto di frame che intende simulink e quindi il parametro Time display span( n° of frames ) nel relativo blocco :(

vi prego aiutatemiiiiiiii

Re: segnale chirp in simulink

MessaggioInviato: 7 nov 2012, 16:38
da dimaios
Se devi generare un chirp lineare in cui la frequenza ha un andamento temporale del tipo f(t) = f_0 + k t implementa la seguente funzione :

s_{lin}(t) = \sin\left[2\pi \left(f_0 t + \frac{k}{2} t^2 + \phi_0 \right) \right]

se invece il chirp e' esponenziale ovvero la dipendenza tra frequenza e tempo e' del tipo f(t) = f_0 k^t dovrai implementare la seguente funzione nel tempo :


s_{exp}(t) = \sin\left[2\pi f_0 \left( \frac{k^t - 1}{\ln(k)} + \phi_0 \right)\right]

Re: segnale chirp in simulink

MessaggioInviato: 8 nov 2012, 10:50
da corgan83
Che differenza c'è, se uso il blocco chirp di simulink per generare il chirp lineare anzicché implementare la funzione apposita col sin(.) ?

Re: segnale chirp in simulink

MessaggioInviato: 8 nov 2012, 12:52
da dimaios
In teoria nessuna ( se usi il chirp lineare ), in pratica verifichi se ci sono problemi di setup della simulazione confrontando il risultato del blocco chirp e la sintesi "manuale".
Salva i dati generati dal blocco chirp di simulink nel workspace e comparali con la sintesi manuale del medesimo segnale.

Re: segnale chirp in simulink

MessaggioInviato: 8 nov 2012, 13:22
da corgan83
Teoricamente il confronto potrei farlo anche tra il blocco chirp lineare di simulink e la funzione chirp di matlab?

Re: segnale chirp in simulink

MessaggioInviato: 8 nov 2012, 14:26
da dimaios
Si, ma per avere il controllo totale sul segnale generato preferisco scriverlo in una funzione ed eseguire il test.

Re: segnale chirp in simulink

MessaggioInviato: 8 nov 2012, 15:35
da corgan83
La funzione che mi dici di implementare, da usare come test, l'ho già usata in passato perché inizialmente simulavo il mio ricevitore con un tool in matlab, ora dovrei creare lo schema a blocchi di questo ricevitore in simulink. (credo di dover rifare in simulink l'.m file matlab, passo per passo).

Re: segnale chirp in simulink

MessaggioInviato: 15 nov 2012, 23:28
da corgan83
Secondo voi è normale avere un chirp di questo tipo?
Frequenza iniziale di 5 GHz, frequenza finale di 5.01 GHz, sweep time=target time 6 microsec, sample time 50e-12 (freqNyq 20 GHz), N sample 120000 (ho fatto il rapporto tra la durata della simulazione, 6 microsec, ed il sample time).

chirp.jpg
chirp.jpg (63.72 KiB) Osservato 5064 volte



In quest'altra figura mostro uno zoom nei primi istanti di tempo.

Re: segnale chirp in simulink

MessaggioInviato: 15 nov 2012, 23:34
da DirtyDeeds
corgan83 ha scritto:Secondo voi è normale avere un chirp di questo tipo?


Con un rapporto tra frequenza di campionamento e frequenza generata uguale a circa 4, sì.

Re: segnale chirp in simulink

MessaggioInviato: 16 nov 2012, 11:07
da corgan83
OK! :ok:
Ora considerando che nei prossimi step dovrò aggiungere un rumore bianco nella mia banda di interesse, e poi filtrare tutto a radio frequenza, devo continuare a procedere con le simulazioni frame based? (con 120000 campioni per frame)

Per quanto riguarda il rumore pensavo di usare il blocco Band-Limited White Noise, secondo voi va bene?