Hallo, wer kennt effektive DSP algorithmen, um rauschen aus der Sprache heraus zu filtern? Es geht um eine Funkanwendung im Sprachfrequenzbereich 300-3000Hz. Würde da noch ganz gerne auf meinem Cortex M7 einen Rauschfilter realisieren. Habe aber in die DSP Richtung noch keine Versuche gemacht. Gruß Sascha
http://www.hoerfabric.de/2/Technologie/ http://www.youtube.com/watch?v=zSAm44xABto Die werden den Algorithmus zwar nicht rausrücken, aber vielleicht kann man sich Anregungen holen für eigene Gedanken. Auf der Webseite ist auch einiges beschrieben. Und ein Hörbeispiel ist auch angehängt.
Literatur: Vaseghi, Saeed V. Advanced digital signal processing and noise reduction. John Wiley & Sons, 2008. Gibt viel wissenschaftliche Literatur auf scholar.google.de
Wenn die Varianz vom Rauschen bekannt ist, dann kann man ein Wiener-Filter benutzen. Wenn sie nicht bekannt ist, dann kriegt man das Rauschen auch weg mit einem LMS oder NLMS Filter. Als Eingangssignal fürs Filter verwendet man das Sprachsignal, und als Referenzsignal benutzt man das um einige Abtastperioden verzögerte Sprachsignal. Da das Rauschen nahezu 0 Autokorrelation besitzt, das Sprachsignal aber schon, bringt man das Rauschen so weg. Hab ich selbst mal in Simulink und auf einem kleinen DSP implementiert.
Hallo, und schon mal vielen Dank für die Diskussion und Anregungen. Ich habe die Komplexität zwar schon geahnt, aber es ist doch ein ganz ordentliches Thema muss ich feststellen. Werde eins nach dem anderen nachlesen und auf implementierbarkeit prüfen. Da die DSP Leistung meines Controllers nicht ins unendliche reicht sind doch deutliche Grenzen gesetzt. Gruß Sascha
Sascha schrieb: > Hallo, > und schon mal vielen Dank für die Diskussion und Anregungen. > Ich habe die Komplexität zwar schon geahnt, aber es ist doch ein ganz > ordentliches Thema muss ich feststellen. > Werde eins nach dem anderen nachlesen und auf implementierbarkeit > prüfen. > Da die DSP Leistung meines Controllers nicht ins unendliche reicht sind > doch deutliche Grenzen gesetzt. > > Gruß Sascha Naja, also bei "lahmer" Sprachverarbeitung ist die DSP Leistung eines Cortex M7 schon als ungefähr unendlich anzunehmen, wenn man nicht nach Matlab-Manier drauf los programmiert.
Hallo, Horst du machst mir Mut, ich programmiere den CM7 was DSP angeht komplett in Assembler. Das Ding ist schon schnell, nur weis ich nicht was die FFT und IFT so verschlingt? Gruß Sascha
Hallo Sascha, für ein adaptives FIR-Filter mit LMS-Algorithmus benötigst Du keine FFT (siehe Vorschlag Hubertus oben). Die Adaption der Filterkoeffizienten erfolgt rein im Zeitbereich. Damit würde ich das Problem angehen. Viele Grüße und viel Erfolg! Gerrit
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.