Moin,
ich baue gerade einen CIC-Filter mit VHDL. Bin schon recht weit, mein
Filter steht -- aber ich habe Probleme die Ergebnisse zu interpretieren.
Vielleicht könnte mir jemand helfen meinen Gehirnknoten zu lösen?
Die zentrale Frage: Was sieht die Antwort des Filters auf diverse
Eingänge aus? Gebe ich einen Impuls auf den Eingang, erhalte ich mit
einer FFT den Phasengang des Filters, soweit ist mir das klar. Gebe ich
kein Signal (Dauernull) auf den Eingang, gibt es den maximalen negativen
Ausschlag am Ausgang. Gebe ich einen Wechsel 010101010 auf den Eingang
entspricht das genau der "mitte" -- mein Filterausgang pendelt sich bei
Null ein.
Gebe ich jedoch eine Dauereins auf den Eingang, sollte der Ausgang doch
irgendwann auch dem Eingang folgen, und nach oben gehen? In meinem
Filter bildet sich aber auch der maximale negative Wert heraus.
Oder habe ich hier grundsätzlich etwas beim CIC-Filter nicht verstanden,
und stehe völlig daneben?
Eine weitere Unklarheit: Der CIC-Filter hat einen 2Bit-breiten Eingang.
Meine Anwendung liefert nur ein 1Bit-Signal welches gefiltert werden
muss. Wie erweitere ich die Bitbreite meines Nutzsignals korrekt?
1 | - 0/1 -> -2/1
|
2 | - 0/1 -> 0/1
|
3 | - 0/1 -> -1/1
|
Witzigerweise ist die letzte die einzige Variante mit sinnvollen
Antworten, und auch die, welche ich oben verwendet hab -- aber wieso?
Das macht in meinen Augen am wenigsten Sinn. Könnte man es vielleicht
interpretieren, das bei dem 1Bit-Signal nur das Vorzeichen repräsentiert
wird?
Irgendwie seltsam alles...