Newsgroup: it.hobby.elettronica.digitale
Titolo: Conversioni audio 48000 <-> 8000 campioni/sec

sapete dove posso rimediare questi algoritmi ?
preferibilmente in C, devo implementarli nella tesi.
devo convertire dei campioni acquisiti a 48ksps dalla scheda sonora a 8ksps
e viceversa un segnale pcm da 8000 campioni/sec a 48000.
grazie

 wrote in message
FC61c.51883$gk.21...@news3.tin.it...

Convertirli in che senso? Qualunque procedura ti porta alla
perdita di informazioni. Nel caso piu' semplice, devi rinunciare
alle frequenze piu' alte, con 8 ks/s puoi acquisire segnali con
frequenza inferiore ai 4 KHz. E questo cio' che vuoi?

lo so che sto perdendo informazioni, ma è quello che voglio!!
il segnale deve essere demodulato dopo..
il demodulatore l'ho implementato in C e funziona
il downsample di cooledit mi conferma il modello: demodulo correttamente
però devo implementare anche il downsampling in C da
48000 a 8000 ( devo usare una sinc campionata a passi di pigreca/6 per farlo
?)
( magari anche il contrario 8k->48k mi farebbe comodo in fase sperimentale )
grazie a tutti
Valeria Dal Monte ha scritto nel messaggio ...


 ( magari anche il contrario 8k->48k mi farebbe comodo in fase
sperimentale )
Procedimento opposto: crei un file dove copi 6 volte ogni campione.
Poi filtri passa basso in modo identico al precedente.
Probabilmente per fare il tutto esistono algoritmi piu' efficienti,
ma io preferirei fare cosi'.

Si per ora lavoro in "differita" ma devo farlo in tempo reale :o ..
in effetti ho fatto come dici te moltiplico i campioni e decimo perň senza
filtrare.. forse sta lě la differenza ^_^
conviene forse prendere prima un max e poi un min per il 48k->8k..
grazie ancora..
se vi vengono in mente altre soluzioni
l'ideale č trovare un libro di ricette in C ( ne ho visto uno ) che contenga
questi algoritmi.. faccio prima..
perň che li contenga ..

se interessa a qn
( da comp.dsp )
<    
http://www.mega-nerd.com/SRC/
<
<it is released under the GNU GPL, but a commercial use
<license is also available with a very reasonable price
<and conditions.
<Erik

 perň che li contenga ..
Sicuramenti ne trovi anche cercando sul web.
Purtroppo di DSP io ne so pochissimo, prova a chiedere
su qualche gruppo di DSP in inglese.

news:P9j1c.53661$gk.22...@news3.tin.it...

non so se lo contiene ma puoi provare a dare un'occhiata su 
www.dspguide.com
.
Ciao ciao e buo lavoro

 Poi filtri passa basso in modo identico al precedente.
Inserirei 5 zeri al posto di ripetere 6 volte lo stesso campione: se 
ripeti il campione introduci una funzione di trasferimento di tipo sinc 
(e` l'equivalente numerico di un sample and hold: il segnale a gradinata 
ha uno spettro diverso), mentre se introduci gli zeri non alteri lo spettro.
Ciao
-- 
Franco
Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)

 ha uno spettro diverso), mentre se introduci gli zeri non alteri lo
spettro.
Si', ma le diversita' degli spettri sono sopra i 4 KHz, percio' dopo
il filtro passa basso il risultato e' lo stesso. L'unica differenza
sara' nell'ampiezza inferiore del segnale se lo "diluisci" con degli zeri.
O sbaglio?

 sara' nell'ampiezza inferiore del segnale se lo "diluisci" con degli zeri.
Dipende dal grado di precisione che vuoi. A 4 kHz la riduzione dovuta al 
mantenimento di 1+5 campioni e` del 36% (-4 dB), a 3 kHz  del 21 % (-2 
dB), a 2 kHz del 10% (0.9 dB) e a 1 kHz del 2.5% (-2 dB). Chissa` che 
cosa ci deve fare!
Per quanto riguarda la riduzione della dinamica, e` vero, perdi un paio 
di bit, ma il rumore viene distribuito anche in alta frequenza.


>da it-alt.scienze.acustica ^_^
<
http://shibatch.sourceforge.net/
 (uno dei migliori)
<
http://www.mega-nerd.com/SRC/
 (meno accurato ma più veloce)
<
http://www.spies.com/Sox/
 (credo sia lo stesso algoritmo della precedente,
<analisi dettagliata in 
http://leute.server.de/wilde/resample.html
)
<
http://ccrma-www.stanford.edu/~jos/resample/
 (un classico, a parte
<l'algoritmo della ShiBatch tutti gli altri sono bene o male partiti da qua)
<Tutti i software citati contengono anche i sorgenti, in C.
L'ultimo è interessante.. controllo anche gli altri

sto multiplando dei sengali biomedici 0-4khz da mandare in ingresso ad una
scheda sonora per poi splittarli :o
moltiplico il numero di canali modulando analogicamente prima e demodulando
digitalmente dopo .. che dio mi aiuti ! :o
((specialmente nella differenza che ci potrà essere tra l'analogico ed il
digitale ))
Non pensavo di incotrare tanti problemi.. per ora digitalmente tutto va
bene..
modulo digitalmente riproduco e riacquisisco in loop sulla scheda sonora e
demodulo digitalmente ( mi serve solo la decimazione e l'interpolazione che
non ho implementato preferendo quella di cool edit per concentrarmi sui
modem ).
Il risultiato per ora è sorprendente sia in immunità al rumore che nella
separazione dei canali :o
Danke
Franco ha scritto nel messaggio ...


 ha scritto nel messaggio
news:c251ta$1ppncu$1...@ID-60973.news.uni-berlin.de...
