G
gvanto
Guest
Sam sagradio malo DAC konverter za rad na paralelnom portu.
Ja sam koristeći Dev-cpp za izlaz uzorke kosinus val (vidi kod ispod) u C ...
Najbrži izlaz frekvencija mogu dobiti od DAC je samo po 700 Hertz (ie. najbrže 'for' petlja mogu sjetiti).To je korištenjem 255 uzoraka / perdiod - manje uzoraka očito može dobiti veći frekvencijski izlaz na skupo i rezolucije.
Ovo je malo dissapointing kao što sam se nadao da može konstruirati frekvencije do 20KHz reći najmanje.
Im koristeći 800MHz CPU laptop btw.
Bilo koji pomoć / savjet o povećanju izlazne brzine (mogu to biti učinjeno?) Bi bilo mnogo poštovati.Čuo sam da se koristi direktni pristup memoriji (DMA) je brži, ali sam dobio utočište faintest ideju gdje početi i da li povećanje brzine je značajan?
Na kraju je ideja bila / je provesti digitalni (audio) filter in software - ovo je moguće, ili će jednostavno ne zamaram?
Pomoć mnogo poštovati,
gvanto
Šifra:int N = 255; / / Broj uzoraka / period
int k;
double pi = 3,1459;while (1) (
for (k = 0; k <= n; k )
(rezultat = 0.5 * cos (2 * k * pi / N) 0.5; / / prepoloviti val, dodati 0,5 DC dobiti ve samo
value = staviti strop (rezultat * 255);
Out32 (BASE_ADDRESS, vrijednost)
)
Ja sam koristeći Dev-cpp za izlaz uzorke kosinus val (vidi kod ispod) u C ...
Najbrži izlaz frekvencija mogu dobiti od DAC je samo po 700 Hertz (ie. najbrže 'for' petlja mogu sjetiti).To je korištenjem 255 uzoraka / perdiod - manje uzoraka očito može dobiti veći frekvencijski izlaz na skupo i rezolucije.
Ovo je malo dissapointing kao što sam se nadao da može konstruirati frekvencije do 20KHz reći najmanje.
Im koristeći 800MHz CPU laptop btw.
Bilo koji pomoć / savjet o povećanju izlazne brzine (mogu to biti učinjeno?) Bi bilo mnogo poštovati.Čuo sam da se koristi direktni pristup memoriji (DMA) je brži, ali sam dobio utočište faintest ideju gdje početi i da li povećanje brzine je značajan?
Na kraju je ideja bila / je provesti digitalni (audio) filter in software - ovo je moguće, ili će jednostavno ne zamaram?
Pomoć mnogo poštovati,
gvanto
Šifra:int N = 255; / / Broj uzoraka / period
int k;
double pi = 3,1459;while (1) (
for (k = 0; k <= n; k )
(rezultat = 0.5 * cos (2 * k * pi / N) 0.5; / / prepoloviti val, dodati 0,5 DC dobiti ve samo
value = staviti strop (rezultat * 255);
Out32 (BASE_ADDRESS, vrijednost)
)