mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP FIR-Filter mit Matlab


Autor: Olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, hab da Probleme mit der FIR-Filter Anwendung unter Matlab.
//MATLAB:
fg=4;
fa=125;
B = FIR1(30,fg/fa/2);

B enthält insgesmat 30 Koeffizienten der Impulsantwort.
Ich verstehe da nicht warum fg/fa/2 ??

Autor: Unit* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hä? Willst du jetzt filtern, oder ein Filter entwerfen!?

Autor: Detlef_A (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Ich verstehe da nicht warum fg/fa/2 ??
Solltest Du aber, um erfolgreich zu filtern. Digitalen Filtern ist es 
egal, ob sie Audio 20kHz oder Mikrowellen 20GHz filtern, das ist in 
beiden Fällen ne Zahlenfolge. Aus diesem Grund wird die Grenzfrequenz 
von digitalen Filtern in der Regel relativ zur Abatstfrequenz oder der 
Hälfte davon angegeben, der Nyquistfrequenz. Mach ma 'help firl', da 
sollte dann sowas stehen wie 'with 1 corresponding to half the sample 
rate' oder sinngemäß.

frohes filtern
Cheers
Detlef

Autor: Olli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Matlab File:

% Ordnung n:
n = 100; % Anzahl der Nullstellen in der kompl. Ebene
fa = 48000; % Abtastfrequenz in Hz passend zur
            % Signalverarbeitungs-Hardware wählen
fn = fa/2;  % Nyquistfrequenz
Wn = 1000/fn; % -6 dB - Grenzfrequenz in Hz
FIRkoeff = fir1(n, Wn, 'low'); % TP-Filter

Warum verändert sich eigntlich die Impulsantwort, wenn man Wn 
verkleinert bzw. vergrößert? - Siehe Grafik im Dateianhang -

Autor: Olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum ist das Maximum bei N=50 ? Das verstehe ich nicht.

Autor: Tommi Huber (drmota)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum verändert sich eigntlich die Impulsantwort, wenn man Wn
>verkleinert bzw. vergrößert?

Aus der Laplacetransformation geht hervor L[x(aT)]=1/|a|*X(s/a) a>0
Grundlagen sind im Mathebuch zu finden, oder selbst ins Laplace Integral 
einsetzen.

Das bedeudet das eine Zeitdehnung |a|<1 einer Frequenzpressung 
entspricht
und eine Zeitpressung |a|>1 eine Frequenzdehnung erzeugt.

>Warum ist das Maximum bei N=50 ? Das verstehe ich nicht.

Bei Ordnung n=100 wird der Eingangsimpuls max. um 100 Takte später am 
Ausgang die letzte Wirkung zeigen (nach 101 Takten zeigt der 
Eigangsimpuls  keine Wirkung mehr und der Ausgang ist NULL(siehe FIR)). 
Und weil die Impulsantwort  sysmetrisch ist, ist bei 50 das Maximum.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.