Gast
#3100282
Hallo Leute Vielleicht interessiert sich ja noch jemand dafuer in weit man heutige Microcontroller als DSP verwenden kann. Um dafuer ein Gefuehl zu bekommen habe ich mal schnell mit Oktave ein Bandpass berechnet: fs=40000 Nyquist=fs/2; F=[3000 4000 6000 8000]; A=[0 1 0]; dev=[0.004 10^(0.1/20)-1 0.004]; [M,Wn,beta,typ]= kaiserord(F,A,dev,fs); [H,freq]=freqz(b,[1],512); Im Anhang einmal der berechnete Filter aus Octave, und einmal das Messergebnis mit meinem Oszi (Huellkurve) und Signalgenerator. Das Sampling laeuft mit 40khz, der Filter ist noch in keiner Weise speziell auf die CPU optimiert und das Problem optimiert (16Bit*16Bit=32Bit multiplikation) // So machen das Renesascontroller, aber dafuer sind ARM zu doof. // filsum=rmpa_w(0,MAXTAP,Taps,data+MAXTAP-filpos); // Fuer jede CPU: for (i=0; i<MAXTAP; i++) { filsum = filsum + (signed long) ( RingData[MAXTAP-filpos+i] * Taps[i]); } In der Praxis benoetigt der Controller dann 55% seiner Rechnenleistung bei 168Mhz und 187Taps. Mit anderen Worten damit kann man schon was machen. :-) Olaf

