Signalcodierung lernen

9

Ich habe eine große Anzahl von Samples, die Manchester-codierte Bitströme als Audiosignale darstellen. Die Frequenz, mit der sie codiert werden, ist die primäre Frequenzkomponente, wenn sie hoch ist, und im Hintergrund ist eine konstante Menge an weißem Rauschen zu sehen.

Ich habe diese Streams manuell dekodiert, aber ich habe mich gefragt, ob ich eine Art maschinelles Lernen verwenden könnte, um die Codierungsschemata zu lernen. Dies würde viel Zeit sparen, wenn diese Schemata manuell erkannt werden. Die Schwierigkeit besteht darin, dass unterschiedliche Signale unterschiedlich codiert werden.

Ist es möglich, ein Modell zu erstellen, das lernen kann, mehr als ein Codierungsschema zu decodieren? Wie robust wäre ein solches Modell und welche Techniken würde ich anwenden wollen? Die unabhängige Komponentenanalyse (ICA) scheint nützlich zu sein, um die Frequenz zu isolieren, die mir wichtig ist, aber wie würde ich das Codierungsschema lernen?

RagingSloth
quelle

Antworten:

3

Ich schlage die Verwendung von Hidden-Markov-Modellen mit zwei möglichen Zuständen vor: (1) hohe und (0) niedrige Werte.

Diese Technik kann hilfreich sein, um Ihr Signal zu dekodieren. Wahrscheinlich benötigen Sie für jede Kodifizierung ein bestimmtes HMM.

Wenn Rauschen ein Problem darstellt, können Sie mit einem FIR-Filter mit einer Blackman-Harris-Fensterfunktion die Frequenz isolieren, um die es Ihnen geht.

Adesantos
quelle
Würde dies bei einem Manchester-codierten Signal funktionieren, bei dem der Wert in den Zustandsübergängen codiert wird?
RagingSloth
Es hängt von der Manchester-Kodifizierung ab, aber ich würde es sagen. Trotzdem würde ich vor einem HMM-Training vorschlagen, einen Nulldurchgangsalgorithmus zu verwenden, um Flanken des Signals zu erkennen. Auf diese Weise können Sie die Mindestzeit für eine Änderung ermitteln, die Ihnen einen Hinweis auf die Taktrate geben kann.
Adesantos
Warum sollte ich Taktrate brauchen? Die Manchester-Codierung ist selbsttaktend. Das Timing sollte unwichtig sein.
RagingSloth
Ich denke, es könnte hilfreich sein, die Taktrate zu kennen, um zu wissen, wie schnell die Übergänge zwischen niedrigen / hohen Werten sind.
Adesantos