| Passwort vergessen?
Sie sind nicht angemeldet. |  Anmelden

Sprache auswählen:

Wumpus-Gollum-Forum von "Welt der Radios".
Fachforum für Sammler, Interessierte, Bastler
Sie sind nicht angemeldet.
 Anmelden

SAQ-DSP-Empfänger für die Soundkarte
 1
 1
30.01.25 19:27
Volker 

WGF-Premiumnutzer

30.01.25 19:27
Volker 

WGF-Premiumnutzer

SAQ-DSP-Empfänger für die Soundkarte

Hallo zusammen,

eben in ChatGPT folgenden Prompt eingegeben:

"Ich möchte mit Hilfe von DSP und Python einen einfachen Empfänger für die Empfangsfrequenz 17,2 kHz erzeugt haben. 17,2 kHz ist die Frequenz vom Längstwellensender Grimeton. Empfangen werden soll diese direkt über den Mikrofoneingang der Soundkarte, an der für den Empfang eine Ferritantenne mit Kondensator als Parellelschwingkreis angeschlossen ist und relativ breitbandig auf die Empfangsfrequenz abgestimmt ist. Das DSP-Eingangsfilter soll eine Mittenfrequenz von 17,2 kHz haben mit einer Bandbreite von 500 Hz für den Empfang von Morsezeichen. Nach dem Eingangsfilter soll die Frequenz auf 650 Hz heruntergemischt werden und von der Soundkarte ausgegeben werden, damit man die Morsezeichen hört. Das Skript läuft auf Ubuntu auf einem 10 Jahre alten Laptop mit eingebauter Soundkarte."

Und diese Skripte hat ChaGPT vorgeschlagen, welche hier zu finden ist:

https://chatgpt.com/share/679bc1cb-f420-...8d-faef39227039

Nach erneutem Nachfragen soll das Skript die Morsezeichen nicht nur akustisch wiedergeben. Es kann den Morsecode als Text zum Mitlesen anzeigen. Getestet habe ich das Skript noch nicht. Es ist jedem natürlich freigestellt, dass Skript zu verbessern oder verbessern lassen. Man kann es auch von DeepSeek verbessern lassen. Ähnliches habe ich schon gemacht. Übliche Vorgehensweise: Man kopiert das Skript heraus und startet es mit einem Pyhton-Interpreter. Ich nehme Thonny unter Ubuntu - und dann sieht man, was passiert. Sollte eine Fehlermeldung auftreten, dann kopiert man diese heraus und schickt sie als Prompt an die KI, also ChatGPT oder oder DeepSeek. Meistens findet er eine Lösung. Manchmal ist die KI auch auf dem Holzweg. In einem Fall musste ich den Code selber durchlesen und entdeckte eine falsche geschriebene Variable und deshalb funktionierte das Skript natürlich nicht. Wenn ich Zeit habe, probiere ich in den nächsten Tage das Skript aus. Mit DeepSeek habe ich auch sehr gute Erfahrung mit dem Coding von Python gemacht. Allerdings ist scheint DeepSeek derzeit ständig überlastet zu sein.

Die Arbeit mit der Fehlersuche ist noch etwas umständlich, weil man den vorgeschlagenen Code und die die Fehlermeldungen immer zwischen dem Python-Interpreter und der KI hin- und herkopieren muss. Aber es gibt in der kostenpflichtigen Version von ChatGPT schon KI-Agenten, die diese Arbeit auch noch selbständig erledigen und den eigenen Rechner bedienen. Dann muss man praktisch nur noch zuschauen, bis das Skript läuft. Es ist unglaublich, wie schnell sich die KI weiterentwickelt. Und wir stehen erst am Anfang dieser Umwälzungen. In ein paar Jahren macht mir die KI automatisch gleich noch eine schicke Oberfläche.

Was noch fehlt in dem Program ist ein Mitziehen der Mittenfrequenz des Eingangsfilters, da der SAQ-Sender nicht sehr frequenzstabil. Übrigens war ich noch nie in Grimeton, obwohl ich nur 5 Fahrstunden entfernt wohne. Das kann ich ja nachholen, wenn ich mal alt bin.

Die beigefügte txt-Datei ist das Python-Skript. Der Suffix ist von "txt" nach "py" zu ändern. Schade, dass ChatGPT im öffentlich zugänglichen Link die Skripte entfernt hat.

Darf ich deine Skripte veröffentlichen? ChatGPT: "Ja, du darfst das Skript gerne veröffentlichen! 😊

Es wäre aber gut, wenn du eine **Erwähnung oder einen Link zu dieser Quelle** hinzufügst. Falls du das Skript in einem Open-Source-Projekt verwendest, empfehle ich, es unter einer **MIT-Lizenz** oder einer anderen passenden Open-Source-Lizenz bereitzustellen.

Falls du möchtest, kann ich auch eine **README.md** oder eine **Lizenzdatei** hinzufügen, damit das Projekt vollständig ist. Lass mich einfach wissen, was du brauchst! 🚀"

Viele Grüße Volker

Zuletzt bearbeitet am 30.01.25 19:55

Datei-Anhänge
SAQ-CW-DSP-Receiver.txt SAQ-CW-DSP-Receiver.txt (15x)

Mime-Type: text/plain, 5 kB

!
!!! Fotos, Grafiken nur über die Upload-Option des Forums, KEINE FREMD-LINKS auf externe Fotos.    

!!! Keine Komplett-Schaltbilder, keine Fotos, keine Grafiken, auf denen Urheberrechte Anderer (auch WEB-Seiten oder Foren) liegen!
Solche Uploads werden wegen der Rechtslage kommentarlos gelöscht!

Keine Fotos, auf denen Personen erkennbar sind, ohne deren schriftliche Zustimmung.
30.01.25 21:22
Volker 

WGF-Premiumnutzer

30.01.25 21:22
Volker 

WGF-Premiumnutzer

Re: SAQ-DSP-Empfänger für die Soundkarte

Jetzt habe ich das obige Skript von DeepSeek untersuchen lassen. Seine Antwort:

"Das Skript ist grundsätzlich gut strukturiert und enthält die notwendigen Komponenten, um einen einfachen Empfänger für Morsezeichen auf 17,2 kHz zu implementieren. Es gibt jedoch einige potenzielle Fehler und Verbesserungsvorschläge, die berücksichtigt werden sollten:

### 1. **Fehler in der Signalverarbeitung:**
- **Mischung des Signals:** Die Mischung des Signals mit dem Cosinus-Träger scheint korrekt zu sein, aber es könnte ein Problem mit der Phasenverschiebung geben. Der Cosinus-Träger sollte möglicherweise eine Phasenverschiebung von 90 Grad haben, um eine korrekte Demodulation zu gewährleisten. Dies könnte durch die Verwendung von `np.sin` anstelle von `np.cos` erreicht werden.
- **Tiefpassfilter:** Der Tiefpassfilter wird auf `IF_FREQ * 2` gesetzt. Dies ist korrekt, da die Mischung eine Frequenzverdopplung verursacht. Es sollte jedoch sichergestellt werden, dass die Grenzfrequenz des Filters korrekt ist, um unerwünschte Frequenzen zu entfernen.

### 2. **Fehler in der Morse-Code-Erkennung:**
- **Zeitmessung:** Die Zeitmessung für die Erkennung von Punkten und Strichen basiert auf `time.inputBufferAdcTime`. Dies könnte problematisch sein, da `inputBufferAdcTime` nicht unbedingt die aktuelle Zeit widerspiegelt, sondern die Zeit, zu der der Block aufgezeichnet wurde. Es könnte besser sein, eine separate Zeitmessung zu verwenden, z.B. `time.time()`.
- **Schwellenwert:** Der Schwellenwert `THRESHOLD` ist fest auf 0.05 gesetzt. Dies könnte zu Problemen führen, wenn die Signalstärke variiert. Es könnte besser sein, den Schwellenwert dynamisch anzupassen, z.B. basierend auf dem Durchschnitt der Signalamplitude.

### 3. **Fehler in der Ausgabe:**
- **Stereo-Ausgabe:** Die Ausgabe des demodulierten Signals erfolgt in Stereo (`np.column_stack`). Dies ist korrekt, aber es könnte zu Problemen führen, wenn die Soundkarte nicht korrekt konfiguriert ist. Es könnte besser sein, die Ausgabe in Mono zu belassen, falls die Soundkarte dies unterstützt.

### 4. **Verbesserungsvorschläge:**
- **Fehlerbehandlung:** Es gibt keine Fehlerbehandlung für den Fall, dass die Soundkarte nicht korrekt initialisiert wird oder dass der Stream unterbrochen wird. Es wäre sinnvoll, eine Fehlerbehandlung hinzuzufügen, um solche Fälle abzufangen.
- **Logging:** Es könnte hilfreich sein, Logging hinzuzufügen, um den Empfang und die Dekodierung von Morsezeichen zu protokollieren. Dies könnte bei der Fehlersuche und Optimierung helfen.
- **Performance-Optimierung:** Da das Skript auf einem älteren Laptop läuft, könnte es sinnvoll sein, die Performance zu optimieren, z.B. durch die Verwendung von effizienteren Algorithmen oder die Reduzierung der Blockgröße.

### 5. **Potenzielle Fehlerquellen:**
- **Soundkarten-Konfiguration:** Es könnte Probleme mit der Soundkarten-Konfiguration geben, insbesondere wenn die Sampling-Rate oder die Blockgröße nicht korrekt eingestellt ist. Es wäre sinnvoll, die Soundkarten-Einstellungen zu überprüfen und sicherzustellen, dass sie mit den Parametern im Skript übereinstimmen.
- **Antennen-Empfindlichkeit:** Die Empfindlichkeit der Ferritantenne könnte ein Problem sein, insbesondere wenn das Signal schwach ist. Es könnte sinnvoll sein, die Antenne zu optimieren oder eine Verstärkung hinzuzufügen.

### Zusammenfassung:
Das Skript ist grundsätzlich funktionsfähig, aber es gibt einige potenzielle Fehlerquellen und Verbesserungsmöglichkeiten. Insbesondere die Signalverarbeitung und die Morse-Code-Erkennung sollten überprüft und gegebenenfalls optimiert werden. Zusätzlich wäre es sinnvoll, Fehlerbehandlung und Logging hinzuzufügen, um die Robustheit des Skripts zu erhöhen."


Die Antwort haut mich um. Insbesondere auch "Die Empfindlichkeit der Ferritantenne könnte ein Problem sein, insbesondere wenn das Signal schwach ist. Es könnte sinnvoll sein, die Antenne zu optimieren oder eine Verstärkung hinzuzufügen.", was ja nichts mit der Programmierung zu tun hat. Woher kennt DeepSeek die Problematik der oft sehr schwachen Signalpegel von SAQ und hat dieses praktische Wissen?


Viele Grüße Volker

Zuletzt bearbeitet am 30.01.25 21:31

 1
 1
DSP-Eingangsfilter   Verbesserungsmöglichkeiten   SAQ-DSP-Empfänger   Open-Source-Projekt   Pyhton-Interpreter   Parellelschwingkreis   Soundkarten-Einstellungen   Signalverarbeitung   inputBufferAdcTime`   Frequenzverdopplung   Morse-Code-Erkennung   könnte   Längstwellensender   Fehlerbehandlung   Performance-Optimierung   Verbesserungsvorschläge   `inputBufferAdcTime`   Phasenverschiebung   Soundkarten-Konfiguration   Antennen-Empfindlichkeit