Hallo, ich habe eine, für erfahrene Digitaltechniker, einfache Frage. Ich taste mit einem ADC ein Sinus (oder AC-Signal) ab und lese anschließend mit einem FPGA die Werte ein. Die Digits entsprechen üblicherweise einem unsigned Wert z.B. 0<->4095. Meine Signalverarbeitung mache ich allerdings mit SIGNED (-2048<->+2047). Wie mache ich die Umwandlung besonders elegant. In der analogen Welt würde ich mit einem C die DC unterdrücken. Man kann auch den ADC-Wert mit 2048 subtrahieren und hoffen das der Mittelpunkt vom Sinus immer genau in der Mitte des ADC-Eingangsbereichs ist(gefällt mir nicht wirklich gut) Ich abrauche also ein DC Filter??!? Oder? Kann mirt einer auf die Sprünge helfen?
Am einfachsten wäre es wenn du in deiner Digitalen Signalverarbeitung noch einen Digitalen Filter als Hochpass einfügst. Die Grenzfrequenz ist natürlich Abhängig davon wie gering deine niedrigste zu verarbeitende Sinusfrequenz ist. Ist Sie zu niedrig könnte der Digitale Filter ggf. ungeeignet sein.
Chris Obi schrieb: > Man kann auch den ADC-Wert mit 2048 subtrahieren und hoffen Das ist mathematisch exakt und hat mit Hoffen nichts zu tun. Ob es allerdings in der Hardware einen (anderen) Offset gibt, kannst nur du beurteilen... > Ich taste mit einem ADC ein Sinus (oder AC-Signal) ab Denn hier mußt ja du selber wissen, welchen Offset dein Sinus da am ADC hat. BTW: kontrollier mal, ob eine einfache Invertierung des MSB nicht auch ausreichen würde. Manche ADCs bieten das von sich aus an... EDIT: Albert ... schrieb: > Am einfachsten wäre es wenn du in deiner Digitalen Signalverarbeitung > noch einen Digitalen Filter als Hochpass einfügst. Ich möchte nicht wissen, was für dich dann "kompliziert" ist... :-o
Natürlich weiß ich ob und welchen Offset ich habe. Es gibt aber immer Tolleranzen und nicht-linearitäten. Ich muss vielleicht erst mal verifizieren ob mir eine Ungenauigkeit im DC-Offset Schmerzen bereitet. Ich befürchte aber schon, da ich eine Mischung ins Basisband mache. Schön wäre ein idealer Integrator (auch eine Art von HP). Gibt es keinen Kondensator-IP-Core? Edit: oder Differenzierer ???
Die einfachste Art: gleitenden Mittelwert bilden: Summe aus 2^n, als Division um n schieben, und diesen dann subtrahieren. Braucht halt RAM, je nach Grenzfrequenz.
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.