Forum: Digitale Signalverarbeitung / DSP / Machine Learning Synthesizerfreak


von Maik W. (werner01)


Lesenswert?

Hallo zusammen,

ich hab da ein iir Filter in asm auf dem dspic33fj64gp802 gemacht.
Nun will ich die Fg einstellbar machen  von 10 Hz bis 10 kHz.
Sehe ich das richtig ,daß ich die koeffitienten also a und b sagen wir 
mal
in 100 Hz Schritten vorberechnen muß oder geht das auch anders?

Und dann wie kann ich die Resonanz stufenlos bis zur Selbstosillation 
ändern?

Der Filter ist glaube ich als DF2 gestrickt..

    for(n=NCoef; n>0; n--) {
       x[n] = x[n-1];
       y[n] = y[n-1];
    }

    //Calculate the new output
    x[0] = NewSample;
    y[0] = ACoef[0] * x[0];
    for(n=1; n<=NCoef; n++)
        y[0] += ACoef[n] * x[n] - BCoef[n] * y[n];

    y[0] /= BCoef[0];

    return y[0] / DCgain;

fs=64000 Hz


Danke schon mal für eure Hilfe!

von chris (Gast)


Lesenswert?

Du kannst in Pol- und Nullstellen denken. Um die Resonanzfrequenz zu 
verändern, musst Du die Pol- und Nullstellen dann kreisförmig 
verschieben und die Koeffizienten für Deinen Filter berechnen. Das geht 
online.

von Maik W. (werner01)


Lesenswert?

Danke für die Antwort!

Jetzt muß ich nur noch sehen, wie ich das online hinbekomme.


dnake....

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.