Ja, Projekt habe ich hier keines vor zu stellen. Zunächst stelle ich Überlegungen zur digitalen Filterung und Demodulation an. Die Anwendungen, wenn es denn überhaupt so weit kommt, könnten digitaler Kurzwellenfunk, Funkfernsteuerung oder auch Fernsteuerung über moduliertes Licht sein. In jedem Fall soll alles ohne PC funktionieren. Das Ziel sind kleine MC basierte Gräte zum Anschluss über Audio ans Funkgerät oder für die Zusammenarbeit mit einem Funkmodul oder Lichtfernsteuerung (IR). Funkmodul oder Lichtfernsteuerung würde evtl selbst bauen. So etwas habe ich schon gebaut und auch mehrere Controller Boards, z.T. mit Display und rs232, und auch MC basierte Geräte. Ich will mich jetzt vor Allem praxisorientiert in einfache DSP einarbeiten. Mir geht es Moment nicht um das Anwenden fertiger Softwarepakete, oder das Nutzen fertiger Geräte oder Bausätze. Als Anregung sind mir diese Dinge aber sehr willkommen. Jetzt habe ich mal die Mathematik für eine synchrone Demodulation durch Korrelation zusammen gestellt. Die Rechnerei ist in den Grundzügen einfach und nicht mal Speicheraufwändig. Um die grundsätzliche Eignung dieses Ansatzes zu testen, habe ich mal die Mathematik simuliert. Das ist etwas Anderes, als die Simulation einer Schaltung, aber netter Weise eignet sich ltspice auch für diesen Zweck. Im Anhang ist das stark verrauschte Signal und das decodierte Signal im wav Format abgespeichert. Das Signal hört sich so grauslich an, wie die entsprechende Kurve aussieht. Der getastete 1 kHz Ton ist nicht zu hören, der liegt unter dem Rauschen. Die Filterung und Rückgewinnung des Ursprünglichen Signals funktioniert gut. Das kann man sich anhören und im Kurvenverlauf ansehen. Jetzt suche ich zweierlei: 1. Info, über mögliche Fallstricke und Fehlerquellen, die bei einem Projekt dieser Art auftreten können. 2. Hinweise auf bereits bestehende ähnliche Projekte. Bisher habe ich natürlich CCW gefunden. Da sehe ich aber keine Aktuellen Arbeiten. Vielleicht ist es einfach von psk und anderen, bis hin zu wspr überholt worden und obsolet geworden?
TL;DR Schon mal drangedacht, MW-10.asc auch hochzuladen?
Nach dem ersten Anhören des gefilterten Signals und nach dem Vergleichen mit dem Ursprungssignal, fand ich, dass die Filterung ganz passabel funktioniert. Und ich habe ähnliches noch auf keinem Kurzwellenempfänger gehört. Aber in Wahrheit habe ich keine Ahnung, ob das für einen der oben genannten Einsatzzwecke ausreicht. Und ich weiss nicht, ob man mit sehr einfacher Audio DSP nicht noch mehr rausholen könnte, und mit einer anderen Variante besser bedient wäre. Vielleicht hat jemand Erfahrung und kann die mitteilen.
Die Filterung mit Korrelation habe ich mal in C auf PC relisiert. Das Ergebnis als Filterkurve zeigt keine Überraschungen: Schmalbandig, ca 10Hz, die Weitabselektion finde ich eher schwach.
Mich irritiert daß das decodierte Signal einerseits praktisch kein hörbares Rauschen mehr beinhaltet, andererseits aber so knackig breitbandig ist daß es schwer fällt zu glauben Du würdest da mehr als eine Periode korellieren. Das widerspricht allem was ich aus der praktischen Anschauung kenne! Auf die Schnelle werd ich aus den LTSpice Rattenschwänzen da nicht schlau, kannst Du mal beschreiben was Du da genau gemacht hast? Ich vermute mir wird nicht ganz klar was Du die sicht- und hörbaren Kurvenverläufe bedeuten sollen, ist da irgendwo noch ne ganz erheblich höhere Trägerfrequenz im Spiel von der Du tausende von Perioden korellierst?
Hallo Bernd, du sprichst ziemlich genau die Fragen an, die mich auch zur Zeit bewegen. Gerade das Hinterfragen finde ich da so wichtig. Bernd K. schrieb: > Mich irritiert daß das decodierte Signal einerseits praktisch kein > hörbares Rauschen mehr beinhaltet, ... Das ergibt sich daraus, dass das ausgegebene Signal ein synthetischer Sinuston mit der Wunschfrequenz, multipliziert mit dem Korrelationskoeffizienten, ist. Beides enthält kein Rauschen. Ich habe hier Filterung, Decodierung und Synthetisierung angewendet. > ... andererseits aber so knackig > breitbandig ist ... Das wiederum liegt daran, dass ich den Signaltakt kenne. Der beträgt 100ms. Und ich setze den Beginn als bekannt voraus. Darauf bezieht sich die Bezeichnung sychrone Korrelationsfilterung. Bernd K. schrieb: > daß es schwer fällt zu glauben Du würdest da mehr als > eine Periode korellieren. Ich korreliere über eine Signalperiode von 100ms, das heisst über 100 Perioden des 1kHz Tons. Den Korrelationskoeffizienten erfasse ich ein Mal am Ende der Signalperiode und gebe daher mit 100ms Latenz das Ergebnis aus. Je länger die Signalperiode gewählt wird, umso schmäler wird die Durchlasskurve. bei 100ms habe ich die ca 10 Hz Bandbreite (3dB). Bernd K. schrieb: > Auf die Schnelle werd ich aus den LTSpice Rattenschwänzen da nicht > schlau, kannst Du mal beschreiben was Du da genau gemacht hast? Der Knoten comp ist obsolet, der ist irrtümlich dringeblieben. Die linke Seite ist die Signalerzeugung, mit key (Tastung), noise, car(rier), sig(nal). Die Rechte Seite enthält nur: die Tastung mit Latenz für Vergleichszwecke, die Berechnung des Korrelationskoeffizienten, die Abfrage dessen am Ende der Signalperiode (100ms), die Multiplikation mit dem Ton und Pegelanpassung für die *.wav Ausgabe. Die einzelnen Rechenschritte sind eigentlich unspektakulär. Vielleicht ist jetzt einiges klarer geworden, sonst bitte detailliert nachfragen.
Um die Weitabselektion etwas zu verbessern, habe ich einmal 3 und einmal 4 Korrelationsfilter kombiniert. Die Kerben im Sperrbereich ergänzen einander und das bringt die gewünschte Verbesserung, wie im Anhang zu sehen ist. Dafür muss ich nur eine Summe, eine Quadratsumme und zwei (je eine für sin und für cos) Produktsummen, das sind 4 Variablen, aufsummieren und zu verschiedenen Zeitpunkten auswerten. Die Abstände der Auswertezeitpunkte bestimmen die Bandbreiten und damit auch die erwähnten Kerben im Sperrbereich. Speicher- und vor Allem Rechenzeit Bedarf scheint mir im Vergleich zu anderen DSP Filtern gering zu sein. Darüber habe ich aber nicht wirklich einen guten Überblick. Vorerst habe ich einer Samplerate von 22050 verwendet. Es wird sich zeigen, wie das mit 4k oder 8k geht.
Mit Fensterung sieht die Weitabselektion noch viel besser aus. Mal sehen, welche Teilaufgaben sich als Nächstes stellen.
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.