【Dies ist kein Duplikat. Ähnliche Fragen betreffen Szenarien, in denen Menschen die Kontrolle über die Quelldaten haben. Ich nicht.】
In Japan gibt es etwas, das "Emergency Warning Broadcasting System" genannt wird. So sieht es aus, wenn es aktiviert wird: Ссылка
Im obigen Video wird um 2:37 Uhr ein FSK-moduliertes Signal gesendet. Ich möchte dieses Signal analysieren; d. h., bei einer WAV-Datei, die das Signal enthält, möchte ich mit einem StringBuilder enden, der 0s und 1s enthält, um sie später zu verarbeiten. Ich habe die Spezifikation für die Binärdaten und alle, aber das Problem ist, dass ich nichts über Audioprogrammierung weiß. : (
Dies ist nur für ein Hobby-Projekt, aber ich wurde süchtig. Fernseh- und Radiomacher können dieses Signal aufnehmen und ihre Geräte als Reaktion darauf reagieren lassen, also kann es nicht so schwer sein, oder? : (
Fakten über das Signal:
Was ich bis jetzt gemacht habe:
Die Probleme, die ich habe:
Meine Fragen:
Der Code zum Lesen der Beispiele ist (vereinfacht):
%Vor%Der Audioprozessor ist nur eine Klasse mit:
%Vor%Danke fürs Lesen. Ich hoffe du kannst mir helfen.
So würde ich es machen (High-Level-Beschreibung)
Nach dem Umschreiben der Sample-Parsing-Loop- und Silence-Detection-Parts habe ich jetzt etwa 90% gearbeitet. Es gab zwei Hauptprobleme bei meiner Implementierung. Der erste war, dass der Silence-Detektor übereifrig war, also änderte ich ihn von der Verarbeitung jeder Millisekunde von Samples zu jeder halben Millisekunde von Samples. Das brachte mich genau zum Start der FSK-Daten.
Das nächste Problem war, dass ich dann dachte, ich könnte naiv den Demodulator 15.625ms von Samples betrachten lassen, während er sich selbst durch die WAV-Datei arbeitet. Es stellt sich heraus, dass, während dies für die ersten 90 Bits oder so gut funktioniert, die Töne eventuell etwas länger oder kürzer als erwartet werden und der Demodulator nicht mehr synchron ist. Der aktuelle Code findet und korrigiert 13 Bits mit einer solchen zeitlichen Nichtübereinstimmung. Besonders anfällig dafür sind Punkte, an denen das Signal von Markierung in Raum und umgekehrt wechselt.
Es gibt einen Grund, warum das Wort "analog" "anal" enthält. Es ist. Ich wünschte wirklich, ich wüsste mehr über Signaltheorie und digitale Signalverarbeitung. : (
Wie ich das alles entdeckt habe: Ich habe die MP3 importiert und mit Audacity auf den FSK-Part getrimmt. Dann habe ich Audacity Etiketten für jedes Bit erzeugen lassen. Danach ging ich durch die Hervorhebung von Bits nach den Etiketten.
Tags und Links algorithm c# audio signal-processing frequency-analysis