ciao Massimo,
a ricordo, mi pare che per avere una certa fedeltà si debba campionare
almeno
al doppio della frequenza d'uso
dove o come si può trovare un programmino che converte le forme d'onta
in codici binari
a 8 bit ?....io devo riprodurre un gong a due note con le frequenze di
660 e 550Hz
Bruno
massimo ha scritto:
>
> si ho lavorato anche io su un modem 1200 AFSK per trasmissioni APRS per
> radioamatori
> fondamentalmente usi un interrupt per prelevare dati da una tabella di
> lookup e inviarli a un DAC
> in pratica rigeneri un segnale audio a partire da una tabella
> segue frammento di codice che usai (non l'ho fatto io !!! :)
>
> interrupt void modem_isr(void)
> {
> TMR0 = modem_dly;
> modem_cnt++;
> modem_wave++;
> modem_wave &= 0x1f;
> #asm
> movlw HIGH get_wave
> movwf _PCLATH, f
> movf _modem_wave, w
> movwf _modem_wave
> call get_wave
> movwf _PORTB
> #endasm
> T0IF = 0;
> return;
> #asm
> get_wave:
> addwf _PCL, f
> retlw 8
> retlw 9
> retlw 10
> retlw 12
> retlw 13
> retlw 14
> retlw 14
> retlw 15
>
> retlw 15
> retlw 15
> retlw 14
> retlw 14
> retlw 13
> retlw 12
> retlw 10
> retlw 9
>
> retlw 8
> retlw 6
> retlw 5
> retlw 3
> retlw 2
> retlw 1
> retlw 1
> retlw 0
>
> retlw 0
> retlw 0
> retlw 1
> retlw 1
> retlw 2
> retlw 3
> retlw 5
> retlw 6
> #endasm
> }
>
> la tabella è costruita con una banale funzione geometrica di seno
> dato che in questo caso occorreva una forma d'onda sinusoidale
>
> ho visto qualcosa in internet per generare dei DTMF ad esempio
> piu che altro è importante avere la tabellina già fatta...
> era una AN ma non ricordo dove :(
> un idea: campiona il segnale che ti serve con una scheda audio e poi
> analizza il file...
> campiona a bassa frequenza però altrimenti non ti passa + !!! :)
>
> ciao
>
> Bruno Benente wrote:
>
> > Ciao a tutti
> >
> > devo generare due note , ma purtroppo non posso utilizzare il sae800 in
> > quanto,
> > con la sua resistenza di carico, assorbe molto per cui pensavo di
> > adottare un metodo
> > visto in una applicazione con micro picxxx.
> > In pratica , per quello che ho visto, riempiono la memoria con una
> > sfilza di codici binari
> > e successivamente li sparano a raffica in uscita su un
> > partitore/integratore.
> >
> > qualcuno sa darmi qualche info in più su questo metodo
> >
> > grazie
> > Bruno
> >
> > [Non-text portions of this message have been removed]
> >
> >
>
> --
>
> OS problems ?
> Linux is your solution !!!
>
> IZ4GHA
> web: www.fuso-luci.it
> email: fuso@... <mailto:fuso%402ainfo.it>
> registered Linux user n.91585
>
> Unix... since 1969 on your computer !
>
>
[Non-text portions of this message have been removed]