Im Empfänger von Frank Dziock, (Rufzeichen DD4WH) werden verschiedene innovative DSP- Algorithmen verwendet, deshalb habe ich für meinen Beitrag dieses Forum gewählt. Die Hardware besteht im Wesentlichen aus einem SI5351 DDS- Generator, einem Tayloe- Mischer und als Prozessor dient ein "Teensy3.6"- Modul. Für die Umsetzung der HF in das Basisband habe ich eine Platine entworfen, bestückt mit FST3253 (Tayloe- Mischer), LT6321 (NF- Verstärker) und 74ALVC74 (Vorteiler 4:1) und mit PLatz für die SI5351- Baugruppe (von SV1AFN). Frank hat die Software, die mit der Arduino- IDE übersetzt werden kann, hier offengelegt: https://github.com/DD4WH/Teensy-ConvolutionSDR/ Mich persönlich interessieren ganz besonders die verschiedenen Algorithmen zur Signalverarbeitung. Deshalb habe ich ein Exemplar aufgebaut und erfolgreich in Betrieb genommen. Grüße aus dem Vogtland, Wolfgang
:
Bearbeitet durch User
Da steht, das geht mit Zusatzsoftware zur Arduino-Entwicklungsumgebung https://www.sparkfun.com/products/14057 "...or you can install the Teensyduino add-on for the Arduino IDE and write Arduino sketches for it" Ich wundere mich immer noch, wie OM Tayloe ein seit Jahrzehnten bekanntes Schaltungsprinzip Anfang der Neunziger patentieren lassen konnte.
Christoph db1uq K. schrieb: > das geht mit Zusatzsoftware zur Arduino-Entwicklungsumgebung ... oder mit einer IDE eigener Wahl. Also z.B. mit C und einer C- IDE, z.B. EmBitz, ...
Martin O. schrieb: > Wie entwickelt man Software für das Teensy Board ? Das ist recht easy! Sieh dir mal die Doku dazu an. Es gibt auch spezielle Libs von user für Messtechnikanwendungen und USB.
Falls jemand keine Lust verspürt, die Software selber zusammenzustricken, kann er meine übersetzte Datei ausprobieren: Vielleicht hilft es, die fertig compilierte Datei zu verwenden. Sie ist hier: http://wkiefer.de/x28/test/Teensy_Convolution.hex Den Lader findet man hier: https://www.pjrc.com/teensy/loader_win10.html Meine HW- Verbindungen habe ich nochmals beschrieben: http://wkiefer.de/x28/test/Teensy_DD4WH.xls
:
Bearbeitet durch User
Nach dem Studium des Quellcodes würde ich folgende neue Struktur vorschlagen: DD4WH Convolution SDR 1_Settings 1_1_Buttons_encoders 1_2_Zoom_factors 1_3_Sample_rates 1_4_Modulation 1_5_Frequency_bands 1_6_Constants 1_7_Display_constants 1_8_Menu_settings 1_9_Menu_text 1_10_Windowing 1_11_Filter_constants 2_Global_variables 2_1_FFT_structures 2_2_Arbitrary_variables 3_Receive_functions 3_1_General_functions 3_1_1_DC_rejection_and_mixer 3_1_2_Digital_convolution 3_1_3_Filter_design 3_1_3_Filters 3_1_4_WFM_demodulation 3_1_5_AM_demodulation 3_1_6_SSB_demodulation 3_2_Utilities 3_2_1_I_Q_balancer 3_2_2_AGC 3_2_3_Noise_blanker 3_2_4_Noise_reduction 3_2_5_SSB_autoTune 4_User_interface 4_1_User_input 4_2_Screen_output 4_2_1_Menu 4_2_2_Spectrum 4_2_3_Time_date
Woher Hast Du Dein Display und woher die Si5351 Baugruppe? Wird das Display mit 5V versorgt oder mit 3.3V?
Hallo Martin, Display (mit Touchscreen): https://www.ebay.de/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=TJCTM24024-SPI+2%2C4%22+TFT+240&_sacat=0 SI5351A Modul: https://www.ebay.de/itm/Si5351-A-CLOCK-GENERATOR-for-ARDUINO-or-other-MCU-with-3-3-5V-I2C-bus-10ppm-xtal/152138743695?hash=item236c2cff8f:g:wyAAAOSwNJ9ZqAz1 War beides bereits vorhanden. Herzliche Grüße, Wolfgang
Ich finde die Liste der Verdrahtungen etwas verwirrend. In Spalte G fehlt die Überschrift, muss vermutlich "audio-shield" heissen. In der gr0ssen Tabelle wäre es meiner Meinung nach besser, statt der Sterne die jeweiligen Bezeichnung des Pins darzustellen. In der ersten Spalte sollte dann stehen GPIO1, GPIO2 , usw. Oder verstehe ich die Tabellen falsch?
Hallo Wolfgang, ein sehr interessantes Projekt! Kannst du eine Aussage treffen, bis zu welchen Frequenzen der Mischer aus dem Multiplexer-IC sinnvoll einsetzbar ist? Und noch ein kleiner Hinweis: DH1AKF W. schrieb: > Die Hardware besteht im Wesentlichen aus einem SI5351 DDS- Generator, Der SI5351 ist kein DDS-Generator. Viele Grüße
Martin O. schrieb: > In der ersten Spalte > sollte dann stehen > GPIO1, GPIO2 , usw. Nein, es sind die Anschlusspins der Teensy3.6 Baugruppe gemeint. Kalle schrieb: > bis zu > welchen Frequenzen der Mischer aus dem Multiplexer-IC sinnvoll > einsetzbar ist ... Da bin ich selber gespannt, ob man vielleicht die 3. Harmonische ausnutzen kann, um das 2 m- Band zu empfangen. Aber zunächst geht es mir darum, - das Programm überschaubar zu strukturieren, - die Bedienerführung zu verbessern und - den vorhandenen Touch- Screen zu nutzen.
Gibt es eigentlich eine Bedienungsanleitung zu den diversen Bedienelementen? Ich werde da nicht so recht schlau draus.
Hallo Martin, das Einzige, was ich finden konnte: https://github.com/DD4WH/Teensy-ConvolutionSDR/wiki/Menu
Hallo Wolfgang, gibt es irgendwo eine kompilierte version OHNE eeprom_load() ? Mein sdr scheint festzuhängen. Ludger
Liebe Funkfreunde, ich habe mehrere Versionen des Programms zusammengestellt (mit Quarz 25/27 MHz). Wenn Sie das Programm zum ersten Mal starten, benötigen Sie - die SD-Karte wird in das Hauptmodul (4 ... 8 GB und nicht in das Audiomodul) eingesetzt. - Das Programm zum ersten Mal mit "...first_time.." verwenden. Dann beginnt Teensy. Der Bildschirm zeigt bereits ein Bild. Jetzt ausschalten und das Programm "... run..." benutzen. Dann sollten die Tasten und Encoder funktionieren. 73 + 55, Wolfgang (DH1AKF) http://wkiefer.bplaced.net/funk/TEENSY_RX/
Hallo Wolfgang, das ging ja schnell... zwischen der "firsttime" und der "run" Version MUSS man die Einstellungen mit "save EEprom" sichern, sonst geht's nicht. Ludger
Hallo Wolfgang, der SDR läuft soweit, aber es gibt das Problem das ich auf 57,5 kHz den Sender 139 kHz höre. Das habe ich so nicht erwartet. Im Moment interessiert mich vor allem der VLF Bereich. Als Antenne habe ich ein Mini Whip. Ludger
Es könnte sein, dass der Tayloe Mischer auf einer Oberwelle die 139kHz mischt. Welche Samplerate verwendest Du?
Ich verwende die Hex-Datei, die Wolfgang online gestellt hat. Die Samplerate ist damit 96kHz. Es scheint wirklich 2. Oberwelle vom Oszillator zu sein, die sich da mischt. Ludger
Rechnerisch kommt es hin mit der 2. Oberschwingung: Der SDR stellt seinen LO auf 4*(fRX+fSample/4)=4(57.5kHz+96kHz/4)=4*81.5 kHz. Die zweite Oberschwingung des LO liegt bei 4*81.5kHz*2=4*163kHz, die 163kHz mischen sich mit 139kHz und ergeben wieder die Zwischenfrequenz 163-139=24kHz. Trotzdem kann da was nicht stimmen, denn der Rechteck des Tayloe Mischers hat normalerweise keine (oder sehr schwache) geradzahligen Oberschwingungen.
Ich kann mit Samplerate 48kHz den Sender RTL (auf 234kH) auf 62kHz empfangen. Das entspricht der 3. Oberschwingung. RTL auf 234 kHz müsstest Du ganztägig stark empfangen können. Dann noch die BBC auf 198 kHz.
Ich hab mal versucht bei 48k Samplerate (=12k IF) zu sehen, auf welchen Frequenzen ich einen Sinus von 120k "Empfangen" kann. Das war an den Stellen 120kHz,54kHz,42kHz und 32kHz und eventuell noch mehr.
Hallo Martin, "Trotzdem kann da was nicht stimmen, denn der Rechteck des Tayloe Mischers hat normalerweise keine (oder sehr schwache) geradzahligen Oberschwingungen." Das behauptet die Uni Twente auch, das Tayloe Mischer nur Probleme mit den ungeradzahligen Oberwellen haben. https://www.pa3fwm.nl/technotes/tn17c.html Welchen QSD, mit welchen Kapazitätswerten verwendest Du ? Ludger
@ludger: Was bedeutet QSD ? Mein Tayloe Mischer besteht aus nem 74AC74 mit CD4066 und dann relativ kleine Kondensatoren so dass ich vermutlich mindestens 100kHz Bandbreite habe. Ich habe vorhin mal folgendes Experiment gemacht: Ich hab den FastConvolutionSDR auf 50kHz Empfangsfrequenz abgestimmt und dann einen durchstimmbaren Sinus auf den Eingang gegeben. Dann hab ich geschaut welche Frequenzen empfangen werden: das waren 50kHz,112kHz,136kHz,175kHz,198kHz,236kHz,260kHz,298kHz und eventuell noch weitere. Die Abstände zwischen den Empfangsfrequenzen sind 24kHz oder 38kHz oder 62kHz=38kHz+24kHz. Die 62kHz sind 50kHz+12kHz, die 38kHz sind 50kHz-12kHz Abtastrate war 48kHz, d.h. 12 kHz Zwischenfrequenz. Der SDR regelt aber irgendwie die Amplitude nach, so dass ich die Empfangsfeldstärken nicht wirklich messen konnte. Es gibt aber "dicke" Signale und schwächere Signale.
QSD steht für Quadratur Sampling Decoder. Mein Tayloe arbeitet mit einem FST3253, 74HC74 und einem OPA2356. Die Schaltung habe ich schon mit verschiedenen Kondensatoren/Bandbreiten gesehen. Als ADC habe ich ich ein Teensy Audioboard. Der verwendete SGTL5000 hat wohl auch keinen Tiefpass, so das er höher frequente Anteile heruntersampled. Das ganze Konzept scheint auf VLF nicht so gut zu funktionieren. Ludger
Der SGTL5000 hat, denke ich, ein Anti-Aliasing Tiefpassfilter eingebaut, das sich mit der Abtastrate umschaltet. Zumindest in meinen Messungen sieht es so aus. Mir ist noch völlig schleierhaft, warum mein (und Dein) Tayloe Mischer auf der zweiten Oberschwingung empfängt. Alle Messungen an meinem Mischer bestätigen das, auch Messungen am Tayloe ohne TeensyConvolutionRx. Ich hab den Tayloe mal mit SPICE simuliert, da empfängt er nicht auf der zweiten Oberwelle.
Ich glaube ich weiss warum mein (Dein) Tayloe auf der zweiten Oberwelle empfängt. Zuerst mal habe ich den Tayloe ohne OpAmp betrieben. Dann "empfängt" er nicht auf der zweiten Oberwelle. Daraus folgt, dass vermutlich der OP entscheidend ist. Ich glaube dass bei niedrigen LO Frequenzen die Kondensatoren im Tyloe das HF-Signal nicht genug abschwächen. Dann gelangt die HF in den OP und dieser gerät in die Begrenzung (das sieht man messtechnisch). Damit ist der OP im nichtlinearen Bereich und es können weitere Mischprodukte auftreten.
also bei meiner Simulation taucht das Problem mit der 2. Oberwelle auch auf. Vor den OP's und nach den OP's.
Ich habe einen etwas anderen Mischer. Jeder Kanal (I und Q) wird von zwei Rechtecken angesteuert die jeweils 180 Grad Phasenverschiebung aufweisen und 1:1 Tastverhältnis. Zwischen I und Q habe ich 90 Grad. Damit unterdrückt schon der Schaltermischer die zweite Oberwelle. Dein Mischer arbeitet in der Schalteransteuerung ja mit 1:3 Tstverhältnis. Kann sein dass dann nach dem Schalter bei 100kHz schon das NF Signal auftaucht. Dann müsste aber eigentlich der OP dafür sorgen, das das wieder verschwindet, da ja angeblich der Tayloe auf der zweiten Oberschwingung unempfindlich ist. Wie prüfst Du in Spice, ob ein Signal empfangen wird? Ich kann deine Simulation laufen lassen, werde aber nicht ganz schlau daraus.
Ich prüfe in der Simulation mittels FFT wie stark der 24kHz pegel ist am Q Ausgang. .param clock=326k ;ist die 4*Lo für 57.5kHz SINE(1.5V 10m 139k) ; Empfangsfrequenz 139k Ich denke ich weiss wo der Hund begraben ist... wir zerhacken hier z.B. mit 81.5k die 57.5k um 24kHz heraus zubekommen. Das Resultat sieht dem entsprechend grausam aus. Versucht man das mit 198k BBC4 oder 693k BBC5 kommt da schon was Sinus ähnliches raus, und die geraden Oberwellen sind schon mal mit >40dB abgeschwächt. Es bleiben nur die ungeraden Oberwellen , wie Twente es behauptet. Geholfen hat : http://www.waves.utoronto.ca/prof/svhum/ece422/labs/sdr/qsd.html Die Simulation scheint demnach zu funktionieren. Nur mein SDR hört nichts auf 693kHz, obwohl das Signal da ist, ich höre es mit meinem AOR 3000. Ich suche gerade den Unterschied zwischen Simulation und Realität. Ludger
Mittelwelle geht auch.. ein schlechter Übertrager im Eingang hat das Signal zu Stark gedämpft. Es ist schon erstaunlich wie gut das Teil funktioniert. Nur VLF kann mann wohl vergessen. Ludger
Ich glaube ich habe jetzt eine gute Demo (siehe Fileanhang) um zu verstehen was passiert. Die Simulation im Anhang stellt den lokalen Oszillatorauf 200/4=50kHz. Die Eingangsfrequenz stellt man entweder auf 50.1kHz oder auf 100.1 kHz ein. Am Ausgang Out1 sieht man, was der Tayloe inkl. Opamp am Ausgang gibt als 100Hz Signal. Bei fInput=50.1kHz ist es 1.5 Volt gross, bei fInput=100.1k ist es nur 6mV gross. Der simulierte Tayloe ist also für 100kHz ca 1 Tausendstel so empfindlich wie auf 50 kHz. Der Unterschied zum gebauten Tayloe ist, dass alle Widerstande um den Faktor 100 größer sind (und C2par um den Faktor 100 kleiner). Mit der Originaldimension arbeitet der OP nicht ordentlich als Subtrahierer, wel der invertierene Eingang eine Eingangsimpedanz von 100Ohm hat, was das entsprechende Signal stark dämpft, wohingegen der nichtinvertierende Eingang hochohmig ist. Das kann man an den Ausgängen B1 und B2 sehen. Und daran liegt die schlechte Dämpfung bei 100.1 kHz.
Hallo Martin, ich habe Deine Simulation noch nicht komplett durchgearbeitet, aber dern realen Differenzverstärker durch einen Idealen ersetzt. Nun arbeitet der Tayloe wie in der Theorie - nur mit den ungeraden Oberwellen. Das mit der ungleichen Belastung der Tayloe Ausgänge hatte ich auch schon gesehen, aber noch keine richtige Lösung gefunden. Ich hatte versucht die Belastung gleich zu machen, aber mit 100 Ohm ist die Belastung wohl zu groß. Ludger
Hallo Ludger, Dein Ersatz des OpAmps durch eine gesteuerte Quelle ist eine gute Idee. Damit zeigt sich deutlich, dass die Subtrahierer-Schaltung die Ursache des Problems ist. Aber selbst wenn man das Problem für die zweite Oberwelle lösen kann, bleibt der Empfang auf den Stellen 3f,5f,7f usw. Und daran kann man nichts ändern.
ja, die ungeraden Oberwellen bleiben, aber die 3.liegt schon mal ein Stück höher. Ich habe den Tayloe jetzt mit 33n 2k2 220k und 10pF bestückt,damit ist die 2. schon mal weg. Für die anderen sitzt ein Cauer Tiefpass davor, der macht den Rest. Der ist mir aber noch nicht steil genug, ich muss noch bessere Berechnungstools finden. Zur Zeit stört mein Solar Laderegler 27V 20A. Der setzt mir einen Träger von 40kHz mit -30 dBm. Daneben gibt es noch starke Träger bei 16kHz + 48 kHz , das kann die Solaranlage sein, die liefert gerade 2,5kW. Ludger
Schön dass die Änderung am Tayloe eine Verbesserung gebracht hat. Dann hat unsere Nachforschung doch das richtige Resultat ergeben. Wie gut funktioniert deine Miniwhip eigentlich im Kurzwellenbereich? Ich habe eine selbst gestrikte Miniwhip da habe ich den Eindruck, dass die auf Kurzwelle eher taub ist.
Ja kann ich mal testen, welchen Kurzwellenbereich meinst Du ? Oder welche Stationen, dann man vergleichen. Ludger
also meine Whip steht in Marl 70km unterhalb von Twente. Sie ca 50cm Draht und 2m Höhe im Garten. Ich kann die Zeitzeichen auf 14.996 laut und deutlich , und auf 9.996 im Rauschen empfangen. Die 14.996 höre ich nur mit dem AOR , aber nicht mit dem SDR.
Das Problem mit demn 14.996 kHz liegt am 74HC74 der kommt nur bis 10 MHz. Der andere ist schon bestellt. Ab morgen ist dann Zwangpause bis nach Ostern. Ludger
Ich habe ne Software geschrieben die auf der fastconvolutionSDR Hardware läuft mit der man die EFR-Funkdienste auf 129.1kHz, 135.6kHz und 139kHz empfangen kann. Wenns jemanden interessiert: PN an mich...
Martin O. schrieb: > Aber selbst wenn man das Problem für die zweite > Oberwelle lösen kann, bleibt der Empfang auf den Stellen 3f,5f,7f usw. > Und daran kann man nichts ändern. Doch kann man, suche mal nach Walsh-Demodulator. Dieser kann auch diese Oberwellen unterdrücken. Mit den Nachteilen das dieser Demodulator mit immer höheren Abtastfrequenzen arbeiten muß, je besser man die Oberwellen unterdrücken möchte, und das die Anzahl an Schaltern ebenfalls immer weiter zunimmt.
Im Anhang mal eine kleine Simulation. Die Schaltung mit dem OpAmp Addierer kann man aber auch anders aufbauen.
Ändere in V6 die Frequenz auf 1/16u um einen Synchronen Demodulator zu simulieren und schau dir dann V(Out) per FFT an.
In diesem Thread war neulich ein Gast namens Ludger aktiv. Wäre nett wenn derjenige sich nochmal melden könnte.
Hallo Martin, ich mach gerade Experimente mit dem ARM Radio von I2PHD. Allerdings wird dort der interne ADC verwendet nur 12bit, da leidet natürlich die Dynamik. Ludger
Martin O. schrieb: > Ich habe ne Software geschrieben die auf der fastconvolutionSDR Hardware > läuft mit der man die EFR-Funkdienste auf 129.1kHz, 135.6kHz und 139kHz > empfangen kann. Ich habe das Programm von Martin erfolgreich getestet. Vielen Dank! Bei mir im Vogtland ist der Sender Burg (139 kHz) am stärksten. Als Antenne verwende ich einen Ferritstab 20 cm mit Vorverstärker. An der Hardware musste ich lediglich den Eingangsübertrager austauschen gegen einen mit tieferer Grenzfrequenz.
:
Bearbeitet durch User
Nachdem mir Martin ein weiteres Programm für RTTY zukommen ließ, habe ich auch den Wetterdienst DDH47 auf 147,3 kHz fehlerfrei aufnehmen können, mit derselben Hardware.
:
Bearbeitet durch User
Hallo Ludger, wenn Du auch die Software für 139kHZ bzw. 147.3kHz haben möchtest, sag einfach Bescheid, dann sende ich sie Dir zu.
Guten Abend Martin, Habe den teensy SDR nachgebaut. Wolfgang hat mich unterstützt . . Wäre es möglich die Software für 139 kHz und 147,3 kHz zu bekommen. Wollte Mal probieren, ob das auf meiner Hardware funktioniert. Gruß Peter + 73's DG2NPE
Hallo Peter, anbei die beiden Programme: DDH für Wetterdienst auf 147.3kHz und EFR für Funkruf auf 129,1 139,0 135,6 kHz für den Teensy 3.6 . Teil mir bitte mit ob Du Erfolg hast. Beste Grüsse Martin
Hallo Martin, Vielen Dank für Deine rasche Hilfe! Werde mich mal mit dem Decodieren beschäftigen! Ein sehr interessantes Projekt! Gruß Peter + 73 DG2NPE PS: bei der teensy Programmierung muss ich allerdings noch Einiges dazu lernen. Bemühe mich !
Hallo Martin, mittlerweile habe ich den Teensy 3.6 hin bekommen und 147.3 zeigt Ergebnisse! Vielen Dank nochmal! Peter
EFR auf 129.1kHz solltest Du eigentlich auch noch hinbekommen. Viel Erfolg!
Moinsen, kann man mit dem Empfänger auch NAVTEX Nachrichten auf 490 bzw. 518kHz decodieren. Gesendet wird im SITOR-B-Verfahren, FSK Modulation mit 100 Baud u. 170Hz Frequenzshift. Sven
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.