Gast
#2097621
Hallo, ich arbeite an einem ADSP-21469 von Analog Devices und will auf diesem einige FIR filter laufen lassen, die ein Eingangssignal filtern und dann wird das ganze auf 16 Kanälen wieder ausgegeben. Ich habe einen Beispielkode von Analog Devices genommen, benutze ein Audio EZ-extender, der mir die nötigen Kanäle gibt und wenn ich ADC->DAC ohne dazwischen zu filtern einstelle läuft das alles. Jetzt will ich meine Filter berechnen und die Performance vom DSP ist mit 900MMACS angegeben. Ich benötige 8 Filter (4 rechts, vier links) und meine Samplerate ist 48kHz. Das bedeutet, wenn ich alles richtig verstanden habe, dass ich 48000 samples die Sekunde habe, X Filtertaps und 900 millionen Operationen die Sekunde zur verfügung. Die maximale Anzahl Filtertaps wäre demnach: 48000 * X = 900*10^6 <==> X = 18750 Ich kann also maximal 18750 Filterkoeffizienten verwenden. Wenn ich das Ganze jetzt allerdings teste, indem ich das Signal filtere und in variabeln abspeichere, dann verlangsamt das Filtern meinen Prozessor so sehr, dass auch das ungefiltert durchgelassene Signal statt einem schönen Sinus, wie ich ihn in den Audio Codec des Kittes einspeise, mir zwar ein Sinusförmiges Signal auch wieder rausgibt, allerdings sehr verzerrt, scheinbar Quantisierungsrauschen weil der Prozessor es nicht mehr schafft, die Samples rechtzeitig auszuspucken. Ca. bei 5000 Filterkoeffizienten ist schon Schluss, bis dahin sieht das Signal normal aus, danach Rauschen. Hab ich mich verrechnet? Oder läuft was ganz anderes Schief? Vielen Dank schonmal für die Hilfe! Im Anhang ist der aktuelle Code.