Vai al contenuto
PLC Forum


Che cos è questo?


dott.cicala

Messaggi consigliati

Dopo tanto lavoro, i primi vagiti.

 

Inizia a funzionare!

 

Lo so che su ebay si compra già bello e fatto per pochi euro, che con arduino è tutto già pronto, più facile e più bello o che in rete si può scaricare il firmware già fatto anche per il pic.....ma a me piace far fatica....in attesa di leucotomia da Arduino....

 

Pian piano ci sto arrivando anche io. Ecco il mio CW decoder con il 16F88 e un LM1391 pll una volta molto usato nei monitor.....

 

Il lavoro è ancora lungo, ma i primi risultati positivi, dopo tanti insuccessi, iniziano a farsi vedere :thumb_yello:

 

0951ddcacf2f9fe524aea212c8078bf6.JPG

 

569d4b3a7185977cb5bfe83fc6be2cfb.JPG

 

Olimpya Radio...dalla Grecia....con qualche errore....

 

 

Link al commento
Condividi su altri siti


Stefano un paio didomande per mia curiosità:

la decodifica punto-linea avviene per durata del segnale o per differente frequenza dei due?

Il termine carattere come lo riconosci?

 

Visto il numero di fili che vanno e vengono dal display perchè non utilizzare uno di quei display con interfaccia I2C? Va bene che li usano con arduino ed a te arduino non è simpatico però potresti adattare le librerie "C" di arduino al PIC.

Link al commento
Condividi su altri siti

Ciao Livio,

la scelta del display non è dovuta alla mia antipatia nei confronti di arduino, (L' I2C ce l'ha anche il pic)  ma perché di recente ho recuperato una decina di "scatolotti" che  facevano parte di un sistema antifurto dove, oltre ad altri integrati interessanti della serie CA, c'è un bel display LCD 2x16 verde.

Nel video ne ho utilizzato uno blu più recente, ma lo scopo è quello di riutilizzare quanto recuperato, il più possibile.

 

E poi....non è esattamente vero che mi stia antipatico arduino; nella maggioranza dei casi mi è antipatico chi lo usa, ma anche questo non è sempre vero. :)

 

Prossimamente recupererò qualche display I2C. Lo scopo è ridurre il tutto e sostituire il 16F88 con il 12F1572, quindi usare I2C e il pwm in modalità caputure...

 

Attualmente, Il segnale di bassa frequenza prelevato dalla radio, passa in un pll il quale aggancia il segnale al suo ingresso. L'uscita "Phase locked" va a zero ad aggancio avvenuto e pilota l'ingresso del pic. Il range di aggancio è circa 30Hz e questo rende la sintonizzazione un po' difficoltosa.

 

La decodifica del tono avviene per comparazione di tempo, considerando che l'unità di tempo è stabilita dalla durata del punto, la linea vale tre unità di tempo e lo spazio ne vale sei.

Il punto vale zero logico, la linea vale ovviamente uno.

Viene così riempito un buffer e quindi si va alla ricerca del corrispondente carattere che è contenuto in una tabella, quindi viene convertito nel corrispondente codice ed inviato al display.

 

Non è tutta farina del mio sacco e ho svolto molte ricerche in rete, dove ho trovato molte informazioni ed esempi, compreso il famoso cw decoder di IK3OIL ....

....ma questo è il mio....Morse Decoder

Link al commento
Condividi su altri siti

Grazie delle spiegazione.

la mia è una curiosità.....interessata perchè mi è sempre interessato capire cosa accidenti trasmettono quelle stazioni in morse.

Un mio amico, ex ufficiale marconista della marina mercantile, mi dice (con aria molto rattristata) che oramai tutte le stazioni in morse vanno scomparendo, così come son scomparsi i marconisti dalle navi (gli ultimi anni di imbarco lui diceva di essere stato trasformato in ufficiale addetto "alla piccola corruzione").

 

la cosa mi interessa, prova anche a fare delle ricerche in rete. Poi magari mi faccio una bread board con arduino, tantto per sperimentare.

 

Son tantissime le cose che faccio a livello di prototipo. Le faccio funzionare decentemente, poi perdo interesse e le abbandono. Quando saldavo mi rimanevano gli scheletri, a volte cannibalizzati, dei prototipi. Ora che faccio tutto o quasi con le brad boards, una scheda universale per PIC e DSPIC, più arduino e raspberry, non mi rimengono nemmeno gli scheletri nell'armadio.

Magari è la volta che rimetto in funzione un vecchio ricevitore con gamma di OC.

Link al commento
Condividi su altri siti

Sì è vero che il morse non viene più utilizzato quanto un tempo e che molto è delegato al satellite.

Rimangono comunque in OC molte stazioni numeriche, alcuni radio fari oltre che i radioamatori.

Sotto i 100kHz il morse è ancora utilizzato, specialmente dai russi.

In un'altra discussione ho pubblicato un video nel quale sono alle prese con un segnale morse a 16kHz.

 

Il satellite potrà far tutto, ma di certo non potrà arrivare nelle profondità degli oceani oltre ad esistere condizioni in cui la ricezione da satellite non è possibile.

Link al commento
Condividi su altri siti

Io invece l'ho praticato per poco, sempre col tasto verticale e senza mai riuscire a perfezionarmi, poi per vari motivi ho abbandonato il radiantismo per anni.

 

In ogni caso, in rete ci sono molti progetti e sorgenti per arduino. Interessanti quelli basati sull'algoritmo di Goertzel...che sto cercando di implementare nel pic al fine di elimiare il pll.

Link al commento
Condividi su altri siti

Quote

ci vuole una logica fuzzy

 

Magari potrei riesumare la vecchia scheda neurallogix per lo sviluppo fuzzy.:lol: Dovrei solo trovare un PC XT per inserircela.

 

Il morse, come sostiene il mio amico marinaio, ha un grandissimo vantaggio pratico: è una lingua universale e non ci sono problemi di pronuncia. Chi ha cercato di capire l'inglese dun un indiano di cultura non elevata sa di cosa parlo.;)

Link al commento
Condividi su altri siti

Per riconoscere un tono o più di uno, è sufficiente l'algoritmo ottimizzato di Goertzel che è facilmente implementabile anche in un pic a 8pin...e infatti ieri ci sono riuscito.

 

Ho usato un 12F1572 (il solito lo so...ma ne ho 50 :)) con clock interno a 32MHz, un suo ingresso analogico a 10bit al quale applicare il segnale di bassa frequenza, un'uscita digitale per comandare un led.

 

Ho calcolato il filtro dsp centrato per i 1000Hz bw 25Hz.

 

Ho applicato col generatore dds il segnale da 1000Hz...ma il led non si accendeva e così ho sweeppato da 0 a 2K....e ho visto il led lampeggiare, buon segno. Il filtro funziona!....Anche se la frequenza di taglio non corrisponde ai calcoli.

Così sono andato a cercare la frequenza esatta che comportava l'accensione del led che è risultata essere 946Hz.

 

Non so se ho arrotondato troppo qualche valore, come ad esempio il pigreco che ho approssimato a 1.41 o dipenda da imprecisione del clock interno....

 

L'ultima prova è stata quella di valutare la deriva termica dell'oscillatore interno....e in una nottata di funzionamento, il led questa mattina era ancora acceso come l'ho lasciato ieri sera.

La larghezza di banda è meno di 25Hz come avevo calcolato, ma vista l'ora tarda che ho fatto ieri...non ho ancora approfondito...magari lo farò questa sera....se riuscirò a stare sveglio tutto il girono....:whistling:

 

 

Link al commento
Condividi su altri siti

interessante.

ora, la potenza di calcolo del sistema orecchio-cervello è maggiore di quella del pic indolor. Quindi risulta difficile fare ciò che il bravo marconista (come il bravo presentatore di frassica..) fa naturalmente.

 

Ho avuto diversi amici marconisti (cioè ufficiali in seconda) ai tempi in cui il satellitare era un pensiero, e quindi esisteva l'obbligo del tasto a bordo. Poi erano anche radioamatori e quindi le due cose si sommavano positivamente.

Questoi avevano la capacità di ascoltare anche due o tre conversazioni contemporaneamente, lavoravano sempre con i filtri di banda aperti al massimo, io invece stringevo più che potevo. Però ai contest loro erano sempre i primi, perchè lavorando a banda larga scovavano i QSO interessanti fra dieci o quindici che passavano nella banda ascoltata..... Tutti gli altri poveri grafisti invece li cercavano spazzolando la banda!

Link al commento
Condividi su altri siti

E' proprio quello che mi succedeva ieri sera in 80m.

 

Il segmento cw era affollatissimo e se usavo il filtro a 25Hz (sul ricevitore) , riuscivo a decodificare benissimo un solo segnale, mentre se salivo a 500Hz comparivano almeno altri tre segnali contemporaneamente portando il decoder all'errata decodifica.

 

Con il filtro a 1,25K già si sentivano numerosi qso e con quello da 3K era tutto un trillare.

 

Una volta ottenuto il buon funzionamento di questi decodificatori, nell'uso ci si accorge velocemente del loro più grande limite.

 

E' necessario che i partecipanti al qso siano isofrequenza o al limite abbiano una frequenza che rientri nella bada passante del dsp che però, al fine di selezionare un segnale solo, sarà tenuta molto stretta, fra i10 e i 30Hz e questo comporta nella maggior parte dei casi a perdere la risposta del corrispondente.

 

Il funzionamento è invece impeccabile nella ricezione di stazioni numeriche, utility, o per i radiofari dove non c'è l'interlocutore da tenere agganciato.

 

Link al commento
Condividi su altri siti

tra l'altro leggendo la tua risposta, mi è venuto in mente come siano migliorati i trasmettitori nel tempo, negli anni sessanta e settanta ad esempio la maggior parte dei radioamatori oltrecortina avevano dietro il tasto delle cose terribili, trasmettitori senza stabilizzazioni di tensione che sulle linee si spostavano di centinaia di Hz pigolando come un intero pollaio. L'orecchio non si faceva problemi, ma un filtro stretto sarebbe stato un masso piantato sulla ricezione.

Link al commento
Condividi su altri siti

Quote

E' necessario che i partecipanti al qso siano isofrequenza o al limite abbiano una frequenza che rientri nella bada passante del dsp che però, al fine di selezionare un segnale solo, sarà tenuta molto stretta, fra i10 e i 30Hz e questo comporta nella maggior parte dei casi a perdere la risposta del corrispondente.

 

Potresti implementare una "batteria" di filtri con selezione automatica a tempo. Facevamo qualche cosa di simile sui radar 45 anni fa, ,a allora si doveva fare tutto in Hw e la cosa era veramente pesante. Oggi implementare 5 o 6 filtri pb vicini non dovrebbe essere un grosso problema.

Link al commento
Condividi su altri siti

Quote

Perchè? Il beep-beeeeeb -beep è a 1000Hz?

No non è a 1000Hz, dipende dalla sintonia.  La frequenza di 1000Hz l'ho scelta per eseguire la prova.

 

Avevo pensato anche di implementare più filtri e magari usare la red pitaya che è molto più potente. Il vero problema è che l'evanescenza determina una continua variazione di magnitudo dei segnali e succederebbe che verrebbero di volta in volta agganciati qso diversi.

 

C'è appunto un programmino da far girare sul pc che si chiama CwGet e che sfrutta la scheda audio per l'interfacciamento con la radio il quale implementa anche questa funzione.

In pratica può mantenere il tracking del segnale con ampiezza maggiore, ma se si attiva questa funzione, a causa dell'evanescenza, continua ad agganciare di volta in volta quello con maggior ampiezza. Il risultato della decodifica è un mix fra i vari segnali agganciati.

Link al commento
Condividi su altri siti

parlo perchè ho la bocca:

-a occhio viene fuori una porcata e non si becca niente.

-converrebbe avere una logica di questo tipo, una batteria di pll che si agganciano a frequenze esclusive (cioè se uno è agganciato, un altro non puo' agganciarsi sulla stessa frequenza) e una logica predittoria, pll per pll, che verifica l'appartenenza del decodificato ad una tabella di simboli (filtro a imbuto) in modo da scartare quel segnale se le sequenze che si costruiscono man mano non sono fra quelle tabellate. (--..-- è ammessa!)

-mantenere la frequenza agganciata per un timeout anche in assenza della portante.

-ammettere che il pll agganci "successivamente" anche frequenze di poco distanti fra loro, decine di Hz, in modo da decodificare anche il corrispondente, che di solito non è perfettamente isofrequenza.

Link al commento
Condividi su altri siti

C'è un sistema forse più semplice e redditizio; spostare automaticamente la frequenza di centro del filtro Sw per massimizzare la risposta. Questo compensa la deriva ma non farebbe agganciare il risponditore.

Un'altro metodo sarebbe variare in automatico la sintonia per mantenere costante la frequenza. Una specie di BFO variabile automaticamente.

Link al commento
Condividi su altri siti

Diventa un macello....:)

 

La cosa più semplice a mio parere,

 

partendo dal fatto che l'algoritmo di Goertzel permette di realizzare un filtro dsp con una determinata frequenza di taglio e banda passante,

quindi non c'è bisogno di agganciare il segnale,

 

è possibile richiamarne,

in base alle caratteristiche del processore,

mettiamo un dual core come sulla red,

10 filtri

e contemporaneamente

 

lanciare 10 volte, cioè una per ogni filtro, la subroutine che decodifica e gestisce il display.

 

Il display dovrà essere un po' grandino :lol:

 

 ma così è possibile seguire 10 qso contemporaneamente....

 

e tutto ciò è già fattibile...con la red pitaya....ma a questo punto costa di meno usare un pc e la sua scheda audio....

Link al commento
Condividi su altri siti

Puoi usare arduino2 che ha un core a 32bits, oppure una scheda microchip che supporta un dspic a 32 bits. Costan molto meno della redpitaya

Link al commento
Condividi su altri siti

E..ma la red ce l'ho già........comunque l'obbiettivo è quello di rimpicciolire e rendere economica la realizzazione,

quindi al massimo display 2 righe x 16 e micro a 8 pin 12f1572....e chi si accontenta gode :thumb_yello:

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...