Ich habe einen digitalen Filter mit fdatool von matlab entworfen und die Filterkoeffizienten mit dem Tool ermittelt.
Das Problem ist, dass ich einen Filter 4. Ordnung entworfen habe. Dies gab mir 5 Filterwerte
h[] = {0.1930,0.2035,0.2071,0.2035,0.1930}
x[k] = Discrete time input signal
Verwenden Sie nun die Formel
Output = h[k]*x[n-k];
Die Ausgabe stellt den endgültigen gefilterten Wert dar. Obwohl die Ergebnisse in Ordnung sind, kann ich nicht herausfinden, wie diese Koeffizienten durch Matlab erhalten werden und wie bloße Multiplikation (Faltung) die endgültige gefilterte Antwort für eine Probe ergibt.
Beliebige Links oder Erklärungen reichen aus. Ich möchte das komplette Back-End der Filterkoeffizientenberechnung kennenlernen.
Bitte kommentieren Sie, wenn ich in meinem Zweifel irgendwo unklar bin.
Vielen Dank :)
fdatool
)?Antworten:
Wir können eine sehr kurze Einführung versuchen:
quelle
"The Scientist & Engineer's Guide To DSP" ist eine außergewöhnliche (imo) Einführung. Es gibt Ihnen alle Konzepte ohne einen Anfänger mit der ganzen Mathematik zu überwältigen.
quelle
wow ... diese frage ist das thema eines ganzen universitätslehrgangs in diskreten zeitsignalen und systemen. Kurz gesagt, h heißt die Impulsantwort und ist eng verwandt (durch eine Fouriertransformation). Es kennzeichnet ein System (zB einen Filter) im Zeitbereich. In zeitdiskreten Systemen ist dies eine "abgetastete" Form, und die Koeffizienten repräsentieren die Abtastwerte für ein "Finite Impulse Response" - oder FIR-Filter. Hier ist ein anständiger Artikel zum Thema, aber ehrlich gesagt braucht man ein Lehrbuch, um ein gründliches Verständnis zu bekommen.
quelle