Ciao a tutti.
Ho realizzato in VHDL un trasmettitore FSK ad onda quadra, e ora ho un problema.
Come si può garantire la continuità di fase quando il messaggio trasmesso passa da una frequenza ad un'altra?
Le due frequenze sono ad esempio 5Khz per lo 0 logico e 16 kHz per l'1 logico.
Esiste un metodo per rendere questa transizione morbida?
Grazie mille fatemi sapere
FSK VHDL
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
15 messaggi
• Pagina 1 di 2 • 1, 2
7
voti
[2] Re: FSK VHDL
...un paio di idee:
o si generano dei multipli interi delle frequenze desiderate (e.g. N x 5kHz e N x 16kHz) e poi alla fine si divide tutto per N, così facendo il periodo di transizione dura la media pesata dei due periodi, pesata in funzione di quanto tempo devi trasmettere un simbolo e quanto l'altro. E questa "pesatura" è ovviamente quantizzata su N intervalli.
un qualcosa del genere, dove le linee rosse le devi immaginare "a scalino", rappresentano il conteggio accumulato ad N x fout.
Oppure si sincronizzano i simboli inviati all'FSK con i fronti dell'uscita, così le transizioni di simbolo sono ritardate al massimo un periodo dell'uscita, ma non ci sono momenti con frequenze "strane" o glitch in uscita
dipende anche dalla frequenza con cui vengono inviati i simboli...
o si generano dei multipli interi delle frequenze desiderate (e.g. N x 5kHz e N x 16kHz) e poi alla fine si divide tutto per N, così facendo il periodo di transizione dura la media pesata dei due periodi, pesata in funzione di quanto tempo devi trasmettere un simbolo e quanto l'altro. E questa "pesatura" è ovviamente quantizzata su N intervalli.
un qualcosa del genere, dove le linee rosse le devi immaginare "a scalino", rappresentano il conteggio accumulato ad N x fout.
Oppure si sincronizzano i simboli inviati all'FSK con i fronti dell'uscita, così le transizioni di simbolo sono ritardate al massimo un periodo dell'uscita, ma non ci sono momenti con frequenze "strane" o glitch in uscita
dipende anche dalla frequenza con cui vengono inviati i simboli...
Se ti serve il valore di beta: hai sbagliato il progetto!
1
voti
[3] Re: FSK VHDL
Allora lo schema con cui viene generata la FSK è il seguente
il divisore e il selettore sono fatti in vhdl
la bit-rate è variabile (o 300bps o da 1 bit ogni 150ms--3Hz-- fino a 1 bit ogni 20ms--20Hz--)
il divisore e il selettore sono fatti in vhdl
la bit-rate è variabile (o 300bps o da 1 bit ogni 150ms--3Hz-- fino a 1 bit ogni 20ms--20Hz--)
5
voti
[4] Re: FSK VHDL
Direi che grosso modo sei già nella prima configurazione che avevo delineato...
solo che ci devi aggiungere la dinamica del PLL... quando cambi divisore si assesterà sulla nuova frequenza con un transitorio.... se il filtro del loop è ben progettato avrai un qualcosa del secondo ordine leggermente sottosmorzato e comunque la transizione non sarà mai brusca.
Comunque il PLL mi sembra una complicazione inutile... io sintetizzerei direttamente le frequenze, magari con un DDS che è una configurazione con cui cambi di frequenza e di fase sono proprio facili facili....
Infine il symbol rate è piuttosto basso rispetto alle frequenze mark e space.... prevedo pochi problemi in qualsiasi modo tu proceda...
solo che ci devi aggiungere la dinamica del PLL... quando cambi divisore si assesterà sulla nuova frequenza con un transitorio.... se il filtro del loop è ben progettato avrai un qualcosa del secondo ordine leggermente sottosmorzato e comunque la transizione non sarà mai brusca.
Comunque il PLL mi sembra una complicazione inutile... io sintetizzerei direttamente le frequenze, magari con un DDS che è una configurazione con cui cambi di frequenza e di fase sono proprio facili facili....
Infine il symbol rate è piuttosto basso rispetto alle frequenze mark e space.... prevedo pochi problemi in qualsiasi modo tu proceda...
Se ti serve il valore di beta: hai sbagliato il progetto!
0
voti
[5] Re: FSK VHDL
Se volessi realizzare un dds come dovrei procedere? Sapresti indicarmi qualche link, o magari qualcosa già fatto in VHDL da cui partire? L'FPGA in questione è un actel 42mx09 pensi si possa fare?
Grazie
Grazie
2
voti
[6] Re: FSK VHDL
Questa AN mi pare ben fatta....
per il fit non saprei, dipende da cos'altro deve fare l'FPGA comunque per il DDS ti servono due registri ed un adder, l'ampiezza dipende da varie cose tipo la risoluzione in frequenza rischiesta, la frequenza di clock disponibile e altro... ma credo te la caverai senza grandi costi nel senso di risorse dell'FPGA...
per il fit non saprei, dipende da cos'altro deve fare l'FPGA comunque per il DDS ti servono due registri ed un adder, l'ampiezza dipende da varie cose tipo la risoluzione in frequenza rischiesta, la frequenza di clock disponibile e altro... ma credo te la caverai senza grandi costi nel senso di risorse dell'FPGA...
Se ti serve il valore di beta: hai sbagliato il progetto!
0
voti
[7] Re: FSK VHDL
Usare il divisore del PLL per modulare è come usare un metro di gomma per misure di precisione.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
[8] Re: FSK VHDL
Purtroppo è una cosa che era già fatta così e che devo modificare al fine di generare un maggior numero di frequenze non è stata una mia idea...
Ci sarebbero due strade da intraprendere una è quella col divisore frazionario + sigma delta mod e una con il dds.
Per il modulatore sigma delta ho già qualcosa di fatto, invece per il dds partirei da zero.
Hai qualche consiglio a riguardo?
Devo generare una fsk non fornendo una portante ma con due frequenze predeterminate diverse una per lo 0 e una per l'1.
Grazie fatemi sapere
Ci sarebbero due strade da intraprendere una è quella col divisore frazionario + sigma delta mod e una con il dds.
Per il modulatore sigma delta ho già qualcosa di fatto, invece per il dds partirei da zero.
Hai qualche consiglio a riguardo?
Devo generare una fsk non fornendo una portante ma con due frequenze predeterminate diverse una per lo 0 e una per l'1.
Grazie fatemi sapere
7
voti
[9] Re: FSK VHDL
mmmm il link che ho messo sembra non funzionare, allego una copia...
leggiti almeno la prima parte
Comunque quello che ci vuole per il DDS è grosso modo questo
se poi le due frequenze sono fisse al posto dei loro registri metti delle costanti e vedrai che l'ottimizzatore ridurrà notevolmente il tutto, selettore compreso
Ma che frequenza di clock hai disponibile?
leggiti almeno la prima parte
Comunque quello che ci vuole per il DDS è grosso modo questo
se poi le due frequenze sono fisse al posto dei loro registri metti delle costanti e vedrai che l'ottimizzatore ridurrà notevolmente il tutto, selettore compreso
Ma che frequenza di clock hai disponibile?
Se ti serve il valore di beta: hai sbagliato il progetto!
15 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 43 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)





