www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Vorgehen bei Rekonstruierung einer Bitfolge

Autor: Ko.Iak. (Gast)
Datum: 19.04.2008 17:43
Dateianhang: signal01.jpg (14,7 KB, 18 Downloads)
preview image for signal01.jpg

Hallo,

ich habe ein Signal wie auf dem Bild zu sehen, aus dem ich mit einem DSP
und AD-Wandler die im Bild zu sehende Bitfolge in Echtzeit
rekonstruieren möchte. Bin allerdings in Sachen digitaler
Signalverarbeitung relativer Anfänger und wollte mal fragen, ob es
eventuell effektivere (=schnellere) Möglichkeiten gibt.

Bisher mache ich das folgendermaßen:
- Ca. 8fach überabtasten (Signalfrequenz variiert während des Signals
zwischen 8 und 12 KHz)
- Schauen, ob Abtastwert positiv oder negativ
- Dann die Abtastwerte zählen, bis die nächste Flanke auftritt. Sind es
maximal 12 Werte, dann handelt es sich um eine 0 (oder 1), sind es 13-20
Werte, dann handelt es sich um eine 00 (oder 11), bei 21-28 dann 000
(oder 111)...


Im Endeffekt also ziemlich primitiv, aber leider auch rechenaufwendig,
da ich für die Flankenerkennung eine for-Schleife durchlaufe und da dann
jeden Abtastwert einzeln behandele (der AD-Wandler arbeitet blockweise,
gibt die Abtastwerte also nicht einzeln heraus, sondern stellt mir
jeweils einen Block von Abtastwerten zur Verfügung). Durch diesen
Rechenaufwand fehlt mir die Zeit, die Bitfolge noch weiter zu
verarbeiten (soll mit bekannter Bitfolge verglichen werden), da der
AD-Wandler da dann bereits den nächsten Block an Abtastwerten
"reinschiebt".

Werde sicher an meinem Code noch einiges optimieren können (evtl auch
niedrigere Abtastfrequenz), aber gibt es vom grundsätzlichen Ansatz her
noch andere Möglichkeiten so etwas umzusetzen? Wäre für jede Idee und
jedes Stichwort dankbar :)
Autor: Gerd Gerd (gege)
Datum: 19.04.2008 18:02

Da Dein Signal sehr schöne Flanken hat: schon mal die Flanken
differenziert um den 0/1 oder 1/0 Wechsel zu erkennen?
Autor: Thomas Bremer (Firma Druckerei Beste) (virtupic)
Datum: 19.04.2008 22:31

Differenzieren ist eine gute Idee. Wenn man mal ein Rechtecksignal als
Ideal ansieht, dann hat das "Störsignal" sowohl hochfrequente Anteile,
durch die die Rechtecke "schief" werden und niederfrequente Abteile,
durch die die Nulllinie verscchoben wird - und damit auch die Pegel.

Hmmm... eben hatte ich noch an einen Bandpass gedacht. Aber die
hochfrequenten Anteile kriegst du damit nicht raus weil sie im
Nutzspektrum liegen und gegen die Niederfrequenten Störungen wirkt das
Differenzieren wie ein Hochpass.

virtuPIC

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net