Synthesizerfreak

OP #2172141
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
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.