Synthesizerfreak

#2172141
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!
Gast #2173262
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren