Hallo, kaum das eine Problem gelöst, folgt sogleich das nächste: Ich habe eine Sammlung von Sinus-Schwingungen mit unterschiedlicher Frequenz aber gleicher Amplitude. Um den 'Knick' von z.B. 1kHz-Sinus -> 4kHz-Sinus zu verschmieren habe ich einen FIR-Filter in C geschrieben. Klappt auch wunderbar, aber bei den Nullstellen macht er irgendeinen Mist (siehe Bild). Woran kann das liegen? Rundungsfehler von Float/Double? Den FIR hab ich entworfen nach der Formel: FIR = (n+1)/(Sum(Eingangswerte, n-z bis n+z) *n) + akt. Eingangswert (n) für n von 1 bis Filterwert (z.B. 300). Woran könnt's liegen?
Die Summe deiner Eingangswerte wird beim Sinus-Nulldurchgang ~0 werden und damit auch der Nenner -> Ü-fkt explodiert. Wie kommst du auf diese Form des FIRs?
Hat sich erledigt. Aufgabe wurde gerade von höherer Instanz gecancelt. Vielen Dank.
das ist ein generelles problem bei adc/dac wandlern: "Ein Problem tritt auf, wenn einzelne Stufen nicht synchron umschalten. Ahnlich wie beim asynchronen Zahler treten Zwischenzustande | sogenannte Glitches | ein. Bei einer Anderung um nur 1 LSB kann so der Ausgang kurzfristig den vollen Spannungshub uberstreichen." SO z.B. kurzzeitige falsche Ausgangswerte. Am schlimmsten meist beim Schalten des MSB: Beim Schalten von 7 ⇒ 8 (4 bit DAC): 0111 ⇒ 0000 ⇒ 1000 Ausgang kurzzeitig auf Null
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.