Forum: Digitale Signalverarbeitung / DSP / Machine Learning Filterkoeffizient mit Scilab


von Xion (Gast)


Lesenswert?

Hallo Leute,
ich hab mit Scilab eine kleine Filter Programm geschrieben um mir daraus 
natürlich Filterkoeffizient einer IIR Filter zu berechnen. So weit so 
gut, nun spukt scilab am ende eine Polynom raus mit den entsprechneden 
Filterkoeffizienten dies sind aber auf die nyquistband normiert. Die 
Frage ist wie kann ich nun die Filterkoeffizienten denormalisieren.

von ajax (Gast)


Lesenswert?

Zeig mal die Parameter, mit denen Du den Filter entworfen hast: 
Fs,Frequenzgang,Ergebnispolynom.
Übrigens gibt es in diesem Forum eine spezielle DSP-Rubrik ( siehe linke 
Seite )

von Xion (Gast)


Lesenswert?

// Display mode
mode(0);

// Display warning for floating point exception
ieee(1);

//Tiefpassfilter
fa = 10000; //Abtastfrequenz
N = 1;         // Filterordnung
fg = 10;//grenzfrequenz
Wn = (fg/fa);
[hi] = iir(N, 'lp', 'butt', [Wn Wn], [0 0]);
return

von ajax (Gast)


Lesenswert?

jetzt wäre die berechneten Filterkoeffizienten noch praktisch.
Zeigt Dir Deine Routine den Frequenzgang?

Bei fab von 10KHz entspricht die 0.5 auf der X-Achse normalterweise 
2.5Khz.
Damit läst sich der Frequenzgang leicht umrechnen.

von Xion (Gast)


Lesenswert?

Es geht doch einefacher aber ich frage mich was willst du denn mit dem 
Frequenzgang das macht auch die Funktion freq  (requency response) die 
Frage wie denormalisiere ich.

von ajax (Gast)


Lesenswert?

Das Problem ist Deine Frage.

Üblicherweise werden die Filterkoeefizienten relativ zu Abtastfrequenz 
berechnet.

Es gibt nichts zu denormalisieren. Koeefizienten eintragen, Filter 
filtert entsprechend den Entwurfskriterien. Läuft der Filter dann mit 
der ensprechenden Abtastfrequenz besitzt er auch den Frequenzgang, der 
beim Entwurf vorgegeben ist.

von Xion (Gast)


Lesenswert?

Siehst du das nicht dass die Variable Wn auf die Abtastefrequenz 
normalisiert ist, du hättest recht wenn ich die Filterkoeffizienten in 
Scilab verwenden würde aber dies will ich in eine DSP Anwendung 
eisetzen. Deshalb muss ich die  Filterkoeffizienten denormalisieren.

von Chris c. (chris78)


Lesenswert?

@ Xion

ajax wrote:
> Das Problem ist Deine Frage.
> Üblicherweise werden die Filterkoeefizienten relativ zu Abtastfrequenz
> berechnet.

Xion wrote:
> Siehst du das nicht dass die Variable Wn auf die Abtastefrequenz
> normalisiert ist, du hättest recht wenn ich die Filterkoeffizienten in
> Scilab verwenden würde aber dies will ich in eine DSP Anwendung
> eisetzen. Deshalb muss ich die  Filterkoeffizienten denormalisieren.

Ich glaube einfach, dass Du nicht aktzeptiren kannst: ein digitales 
Filter richtet seine Koeffizienten nuneinmal nach der Abtestfrequenz 
aus.
Dein DSP kann doch auch nicht mit denormalisierten Werten arbeiten !?!
Auch die gesuchte Frequenz kannst Du doch einfach bestimmen, wenn Du den 
Frequenzgang an der gesuchten Stelle anschaust, den Wn Wert abliest, die 
bekannte Grenzfrequenz !edit:sorry Abtastfrequenz! einsetzt und Wn = 
f/fa nach f umstellst, ist das evtl. mit denormieren gemeint?
Deine Funktion braucht halt die Angabe Wn = fg/fa, um die Koeffizienten 
des IIRs zu bestimmen.

MfG

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
Noch kein Account? Hier anmelden.