Newsgroup: it.hobby.elettronica.digitale
Titolo: Codificare audio a pacchetti con micro 8 bit

Salve.
Sono alle prese con un progettino apparentemente banale:
ho la necessità di controllare a livello audio, soprattutto nelle ore notturne, un ambiente che contiene una persona anziana debole in salute.
Niente di meglio di un semplice TxRF tipo quelli usati per controllare i neonati ma non gradisco inviare l'audio in chiaro e vorrei avere anche un controllo sul guadagno in BF per percepire il respiro/russare del soggetto.
Non escludo anche l'implemetazione di altre utility (squelch digitale, sensore di luce accesa, ecc.).
Visto che inciampo negli AVR quando cammino per casa, ho pensato di utilizzarne un paio per fare una coppia codificatore/decodificatore con campionamento a 10bit.
La trasmissione avverrebbe a pacchetti con un oscillatore quarzato molto semplice, tipo apricancello.
Parecchi anni fa, però, mentre smanettavo con simili questioni provai ad ascoltare il flusso PWM dell'audio convertito e ci rimasi di stucco quando verificai che era (seppur scarsamente) intelleggibile quindi non mi dispiacerebbe crittare un minimo la conversione.
Altra questione è quella di garantire la sincronizzazione tra Tx ed Rx in modo che se il segnale decade un po' si sia sempre in grado di codificare qualcosa.
 
Quindi: codifica e sincronizzazione stanno alla base del problema.
 
La mia pensata è questa: inviare il semplice PWM derivato dal campinamento, quindi un'onda quadra con duty-cycle variabile.
Il periodo del PWM dovrebbe potere assumere due valori in modo che al cambiare del periodo corrisponda anche il valore di un bit.
La sequenza di bit ottenuta costituirebbe lo stream idoneo ad una UART ed in tal modo posso inviare informazioni digitali sovrapposte al PWM audio (magari sulla codica stessa).
 
Sapete o avete per mano qualcosa?
 
Grazie.
Piccio.

 Sapete o avete per mano qualcosa?
 
Ti servono 64kbit/s non trovi niente di gia fatto che trasmetta in RF i classici 115200 dell rs232 ?
 
Giulia
 
 

 Ti servono 64kbit/s non trovi niente di gia fatto che trasmetta in RF i classici 115200 dell rs232 ?
 
 
Il TxRF lo farei io stesso e non avrei problemi di banda.
Li avrei sul ricevitore usando i chip consolidati per impieghi BF.
Comunque credo che un delta resti la soluzione migliore, magari me la cavo con 20Kb.
Oppure trasmetto l'audio in chiaro che faccio prima.
So che esistono degli scrambler ma non ricordo la sigla...  :(
 
Piccio.

 Oppure trasmetto l'audio in chiaro che faccio prima. So che esistono degli scrambler ma non ricordo la sigla... :( Piccio.
 
Penso che ormai gli scrambler audio siano robe antiche.
Nemmeno io mi ricordo le sigle, ma si andava dai semplici inversori di spettro (mi pare AMS e altri), a quelli piu' complessi multibanda (Philips), a quelli militari a segmentazione e rimescolamento (Plessey).
Se trovi qualcosa, diccelo, grazie.
 
p.s.: per il tuo problema hai pensato ai vecchi interfoni a onde convogliate? Oppure qualche dispositivo bluetooth.


Una trentina di anni or sono, ho aveto per  le mani la serie Fx della 
CML (124/128). Era una serie di scrmbler usati, a quei tempi, sulle 
radio ricetrasmittenti di livello medio alto.
Non sono in grado di dirti, pero', se la ditta sia ancora attiva ne', 
tantomeno, se siano ancora nel settore.
ciao
Angelo
 
 

> So che esistono degli scrambler ma non ricordo la sigla...  :(
 
Perche non ricodifichi l'audio tabellando i valori pcm a 8 bit in valori casuali e
rifacendo il passo opposto all' arrivo?
 
Probilmente una trasmissione pcm e' intellegibile poiche' ad un segnale piu' alto corrispondono piu' bit a uno (o zero),
ma se spezzi questa correlazione lineare e' difficile che rimanga intellegibile.
 
Giulia
 
 

 Probilmente una trasmissione pcm e' intellegibile poiche' ad un segnale piu' alto corrispondono piu' bit a uno (o zero), ma se spezzi questa correlazione lineare e' difficile che rimanga intellegibile.
 
In effetti funziona ma il problema in RF sono gli errori di ricezione.
Vorrei trasmettere uni e zeri in modo da essere fault-tollerant in modo che se qualche bit viene corrotto non devo riattendere la sincronizzazione.
A dire il vero potrei risolvere parzialmente col bit-stuffing come carattere di sincronismo ed inviare pacchetti intervallati a, diciamo, 20ms per generare anche un fastidioso ronzio all'ascolto diretto in BF.
In altre parole:
- campionare 20ms di audio (160 byte a 8kHz)
- traslare i campioni tramite tabella (o algoritmo)
- inviare il pacchetto con bitstuffing in 18ms (magari invertendo l'ordine dei campioni)
- utilizzare la pausa di 2ms come ulteriore sync
 
Si... può... fare!!!
 
Piccio.