Beschäftige mich gerade mit dem vereinfachten Ansatz zur Erzeugung eines SSB-TX Signals, nach der Idee der kleinen QRP uSDX-Transceiver. Momentan noch theoretisch, hab die Idee in Octave / Matlab nachgebaut. Das resourcen-sparende Konzept basiert darauf, aus Modulationssignal fm und seiner Hilbert-Transformierten separat Delta-Phase und Amplitude für das SSB-Signal zu berechnen. Mit der Delta-Phase wird im Abtasttakt fs der Trägeroszillator gemäß fm*2*pi/fs nachgeführt. Die Amplitude moduliert den Träger wie gehabt. Hat das jemand aus dem Forum mal nachvollzogen? Wollte mir über die zahlreichen YouTube-Videos über die Qualität des SSB-Signals ein Bild machen, aber das ist wegen der mittlerweile unerträglichen Werbung kaum drin. Das was ich gehört habe, fand ich diplomatisch gesagt, ausbaufähig. Nur schwer verständlich. Hab mir das Hilbert-Filter aus der USDX-Software genauer angesehen: vom Prinzip her ok, aber viel zu kurz. Hat nur 15 Taps. Nach meinen theoretischen Experimenten müssen mindestens 41 her, auch bei optimierter Synthese. Hier scheint der Schwachpunkt des Ansatz zu liegen: kleinste Amplitudenfehler zwischen (verzögertem) Original- und Hilbert- Signal führen zu kleinen Phasenfehlern und die wiederum zu heftigen Verzerrungen im Spektrum des erzeugten SSB-Signals. Das kann anscheinend nur durch ein sehr präzises - und damit langes - Filter vermieden werden. Oder hat jemand andere Erfahrungen, egal ob theoretisch berechnet oder praktisch erprobt?
Wulf D. schrieb: > Hab mir das Hilbert-Filter aus der USDX-Software genauer angesehen: vom > Prinzip her ok, aber viel zu kurz. Hat nur 15 Taps. Lass mich raten: die kleine CPU da ist zu langsam und/oder zu klein für mehr. Geräte wie QMX und Co. benutzen deutlich größere CPUs, aber sind leider nicht opensource (wie auch (tr)uSDX dann). QMX benutzt aber, wenn ich das richtig verstanden habe, noch irgendwas ganz anderes.
Bin mir übrigens nicht ganz sicher, ob man den Thread nicht lieber ins DSP-Forum schieben sollte. Da gibt es möglicherweise mehr Expertise zu solchen Themen.
Wulf D. schrieb: > Das resourcen-sparende Konzept basiert darauf, Was für eine Ressource willst Du sparen? Strom während dem Senden, Volumen im Gehäuse, Gewicht, Kosten für die Bauteile, Entwicklungszeit,...? Das kann zu ganz unterschiedlichen Konzepten führen.
:
Bearbeitet durch User
Jörg W. schrieb: > Lass mich raten: die kleine CPU da ist zu langsam und/oder zu klein für > mehr. Geräte wie QMX und Co. benutzen deutlich größere CPUs, aber sind > leider nicht opensource (wie auch (tr)uSDX dann). > Wahrscheinlich, mit dem AT-Mega 8-Bitter sind wohl keine längeren Filter drin. Dann ist der SSB-Betrieb im USDX wohl eher zum Spielen. Oder habe ich was übersehen? Eine stärkere CPU wie im QMX wird helfen, schade das es closed Source ist. Jörg W. schrieb: > Bin mir übrigens nicht ganz sicher, ob man den Thread nicht lieber ins > DSP-Forum schieben sollte. Da gibt es möglicherweise mehr Expertise zu > solchen Themen. Schon möglich, hier ist eher das HF-Analogforum. Aber das DSP-Forum ist total verwaist. Außerdem hoffe ich noch auf eine Rückmeldung aus der Praxis, von jemanden der das USDX in SSB mal getestet hat.
Gerd E. schrieb: > Was für eine Ressource willst Du sparen? > > Strom während dem Senden, Volumen im Gehäuse, Gewicht, Kosten für die > Bauteile, Entwicklungszeit,...? QRP eben: Leistung/Strom, Hardware, Volumen. Dadurch auch Kosten. Konkret hätte ich gern Rückmeldung zum oben genannten Konzept.
Wulf D. schrieb: > Außerdem hoffe ich noch auf eine Rückmeldung aus der Praxis, von > jemanden der das USDX in SSB mal getestet hat. Was ich gehört habe, nicht besonders toll. Habe mal versucht, es für FT8 zu benutzen, recht erfolglos, und irgendwie klang das auch seltsam. Habe aber nicht versucht, ob sich irgendwo mit Aussteuerungspegel oder dergleichen da was Besseres machen lässt. FT8 mit dem QMX habe ich schon gemacht, aber der hat eh einen eigenen Digimode, bei dem er das Analogsignal erstmal digitalisiert, die Frequenz(en) ermittelt, und dann explizites FSK in der Firmware macht. Für „richtiges SSB“ bin ich allerdings der falsche Ansprechpartner. Von ein paar Contestens abgesehen, habe ich in meinem Leben nur sehr wenig SSB gemacht.
Danke, das bringt mich schon mal weiter. Ich werde im nächsten Schritt meine Octave-Simulation mit realen Audiosamples füttern und wieder Demodulieren. Mal sehen wie sich das anhört, auch im Vergleich zum USDX. Hatte übrigens im Winter einen FT8 SW-Dekoder in ein kleines SDR auf Pico2-Basis gebaut. Auf längere Sicht möchte ich das SDR TX-fähig ausbauen, incl FT8, ohne zusätzlichen PC etc.
Sowas habe ich vor einiger Zeit mal gemacht: https://dl0tz.de/polar/index.html Nicht mit dem Ansatz QRP, sondern um ein SSB Signal im GHz-Bereich zu bekommen, ohne das übliche Setup (70cm-SSB-Funke und hoch mischen). Konkret ging es mir um 2,4GHz für einen QO-100 Uplink. Ja, bei Polarer Modulation ist die Nachbarkanalunterdrückung das große Problem (siehe die Spektren auf der Webseite). Ist eher für Anwendungen geeignet bei denen das nicht so wichtig ist. Der Satellit sieht sowieso keine Nebenaussendung unterhalb -15dB weil das im thermischen Rauschen untergeht. Und bei anderen Mikrowellenbändern im Amateurfunkbereich ist der Freund auf dem Nachbarhügel vermutlich der einzige Empfänger in Reichweite.
Ja, der uSDX hätte mal eine etwas stärkere CPU nötig. Wenn man in den Code schaut sieht man dass der sich ziemlich strecken muss um mit der mangelnden Rechenleistung zurecht zu kommen. Heutzutage unnötig. Ich baue mein o.g. Projekt gerade von einem STM32F103 (haha. ja, hab mit einem Bluepill Board angefangen) auf einen STM32H523 um. Dann kann ich die Amplituden- und Phasenwerte mit 48kSps berechnen statt mit 16kSps. Davon erhoffe ich mir eine bessere Nachbarkanalunterdrückung.
Wulf D. schrieb: > Beschäftige mich gerade mit dem vereinfachten Ansatz zur Erzeugung eines > SSB-TX Signals, nach der Idee der kleinen QRP uSDX-Transceiver. Das finde ich auch sehr interessant. > Hier scheint der Schwachpunkt des Ansatz zu liegen: kleinste > Amplitudenfehler zwischen (verzögertem) Original- und Hilbert- Signal > führen zu kleinen Phasenfehlern und die wiederum zu heftigen > Verzerrungen im Spektrum des erzeugten SSB-Signals. Kann es sein, dass ein Teil der Verzerrungen vom TP-Filter (Oberwellenfilter) hinter dem Sende-MOSFET wieder eliminiert wird (oder überhaupt oberhalb von 3KHz liegt und beim Empfänger weggefiltert wird)? Vielleicht gehen diese Verzerrungen auch einfach im Kurzwellenstörnebel unter oder das menschliche Ohr kann damit gut umgehen? Mit welchen Audio-Frequenzbereichen arbeitest du bei deinen Untersuchungen? > Oder hat jemand andere Erfahrungen, egal ob theoretisch berechnet oder > praktisch erprobt? Kann man das ganze irgendwie simulieren und schauen, was dabei rauskommt? Oder in einen uSDX unterschiedliche Sinusfrequenzen einspeisen und mit einem Spectrum Analyzer schauen, was hinten rauskommt? Habe einen uSDX und nutze den hin und wieder auf 40m. SSB funktioniert so weit gut, bei der kleinen Sendeleistung würde ein leicht kratziger Klang wahrscheinlich nicht wesentlich auffallen. Von mir empfangene Stationen, die mit uSDX senden, klingen auf jeden Fall verständlich (aber eben oft eher leise). Das mit dem Pi Pico2 ist sicher eine gute Idee!!! > Wollte mir über die zahlreichen YouTube-Videos über die Qualität des > SSB-Signals ein Bild machen, aber das ist wegen der mittlerweile > unerträglichen Werbung kaum drin. Gerüchten nach kann man Browsererweiterungen wie uBlock Origin verwenden, kenne mich da aber nicht aus.
:
Bearbeitet durch User
Kurz von mir in meiner Mittagspause: Der uSDX war ursprünglich eine Modifikation des QCX. Da waren Amplitudenmodulation durch Modulation der 12V Betriebsspannung der Class.E Endstufe und Phasenmodulation am Gate der Endstufen-FETs weitgehend voneinander entkoppelt. Bei der späteren Verschlimmbesserung durch Modifikation des uSDX erfolgen dann Amplituden- und Phasenmodulation zusammen nur über die Gate-Spannung. Das erfordert eine Einstellung des DC-Wertes der Amplitudenmodulationsspannung und diese Einstellung ist auch noch vom jeweiligen Frequenzband abhängig. Die ursprüngliche Schaltung des uSDX ergibt auf jeden Fall das bessere SSB-Signal.
Georg S. schrieb: > Sowas habe ich vor einiger Zeit mal gemacht: > https://dl0tz.de/polar/index.html Klasse, dass sich hier jemand mit ganz Ähnlichem beschäftigt! Interessant auch die Versuche mit dem SI5351. Wollte den auch nutzen. Mal sehen ob ich auf die gleichen Probleme stoße. Georg S. schrieb: > Ich > baue mein o.g. Projekt gerade von einem STM32F103 (...) auf einen STM32H523 um. Dann kann ich > die Amplituden- und Phasenwerte mit 48kSps berechnen statt mit 16kSps. > Davon erhoffe ich mir eine bessere Nachbarkanalunterdrückung. Bin gespannt was dabei rauskommt. Nach meinen Octave-Versuchen sehe ich den Grund der Artefakte eher in mangelnder Filterpräzision und nicht in niedriger Abtastrate. Anbei ein (theoretisches) Beispiel mit den USDX-Filterkoeffizienten und zum Vergleich ein selbst synthetisiertes Filter nach diesem Ansatz: https://www.wirelessinnovation.org/assets/Proceedings/2011/2011-1b-carrick.pdf Dabei ganz willkürlich drei Sinustöne mit -20dB Pegel mit 400Hz, 800Hz und 1600Hz durch die Filter gegeben und mit einem Träger von 15kHz in Polarmodulation beaufschlagt. Die Abtastrate des USDX auf 4500 1/s geschätzt. Eigentlich sind die Ergebnisse des USDX absolut indiskutabel. Bei 800Hz sieht es nur deshalb gut aus, weil ich testhalber die Skalierung auf genau diese Frequenz abgeglichen habe. Genau daher komme ich auf die Vermutung, dass kleinste Amplitudenunterschiede von Original- und Hilbert- Signal zu heftigen Artefakten führen. Und die Amplitudenabweichungen kommen zweifellos aus der Welligkeit des Hilbert-Filters.
Sandra schrieb: > Bei der späteren Verschlimmbesserung > durch Modifikation des uSDX erfolgen dann Amplituden- und > Phasenmodulation zusammen nur über die Gate-Spannung. Das erfordert eine > Einstellung des DC-Wertes der Amplitudenmodulationsspannung und diese > Einstellung ist auch noch vom jeweiligen Frequenzband abhängig. Die > ursprüngliche Schaltung des uSDX ergibt auf jeden Fall das bessere > SSB-Signal. Das die Amplitudenmodulation in einigen Varianten über das Gate und in Anderen über die Versorgungsspannung läuft, fiel mir auch schon auf. Hatte das mal grob in LT-Spice simuliert, schien beides mit erträglichen Oberwellen zu funktionieren. Es wird ja mittels LUT linearisiert. Interessant aber die Abhängigkeit vom Frequenzband. Nach dem Hinweis vom Jörg W. hatte ich mir auch das QMX angeschaut. Da steckt etwas mehr Aufwand in der PA-Ansteuerung. Ansonsten gleiches Prinzip. Die Phase wird aber doch nur über den SI5351 gesteuert, hat nichts mit der PA zu tun.
Daniel schrieb: > Kann es sein, dass ein Teil der Verzerrungen vom TP-Filter > (Oberwellenfilter) hinter dem Sende-MOSFET wieder eliminiert wird (oder > überhaupt oberhalb von 3KHz liegt und beim Empfänger weggefiltert wird)? Nein, ich beziehe mich nur auf die Inband-Artefakte. > unter oder das menschliche Ohr kann damit gut umgehen? Denke auch, dass das menschliche Ohr noch die miesesten Signale verstehen kann. > Mit welchen Audio-Frequenzbereichen arbeitest du bei deinen > Untersuchungen? Siehe Antwort auf Georg S., 400Hz - 1600Hz, also mitten im Sprachband. > Kann man das ganze irgendwie simulieren und schauen, was dabei > rauskommt? Genau das habe ich versucht. Wobei ich nicht die beschränkte 8 Bit Genauigkeit berücksichtigt habe, nur auf Basis des Hilbert-Filters und der vermuteten Abtastfrequenz. > Oder in einen uSDX unterschiedliche Sinusfrequenzen > einspeisen und mit einem Spectrum Analyzer schauen, was hinten > rauskommt? > Reale Meßwerte wären wirklich spannend. Wollte mir schon einen Gebrauchten nur zum messen kaufen. Aber wie einen der minderwertigen Clones auf dem Markt vermeiden? > Habe einen uSDX und nutze den hin und wieder auf 40m. SSB funktioniert > so weit gut, bei der kleinen Sendeleistung würde ein leicht kratziger > Klang wahrscheinlich nicht wesentlich auffallen. > Von mir empfangene Stationen, die mit uSDX senden, klingen auf jeden > Fall verständlich (aber eben oft eher leise). Interessant.
Wulf D. schrieb: > Klasse, dass sich hier jemand mit ganz Ähnlichem beschäftigt! > Interessant auch die Versuche mit dem SI5351. Wollte den auch nutzen. > Mal sehen ob ich auf die gleichen Probleme stoße. Auf welchen Frequenzbereich zielst du ab? Wenn du bei 24MHz sendest ist der Effekt nur 1/100 so groß wie bei 2,4GHz und damit vernachlässigbar. Das zeigt wie kritisch Phasenrauschen und Phasenstabilität wird wenn man schmalbandige SSB Signale im GHz Bereich hat. > Nach meinen Octave-Versuchen sehe ich den Grund der Artefakte eher in > mangelnder Filterpräzision und nicht in niedriger Abtastrate. Es gibt zwei Arten der Nebenaussendungen die ich im meiner Antwort vermischt hatte. Die "echte" Nachbarkanalunterdrückung (siehe 1.Bild) kommt durch nichtideale Kombination von Amplituden- und Phasenmodulation zustande. Die war bei meinen Speki-Messugen an sich akzeptabel. Ich hatte aber auch noch den Effekt dass bei +/- 16kHz vom Träger das Signal wieder deutlich hoch kam (siehe 2.Bild). Der F103 hat nicht genügend Rechenleistung um die Signale schneller als mit 16kSps zu berechnen. Ich hatte mal die AM und PM Werte für ein 3-Ton Signal mit 48kSps vorberechnet und mit dem Controller nur abspielen lassen, da war der zweite Effekt viel geringer. Deswegen hoffe ich dass bei höherer Rechenleistung und 48kSps die Nebenaussendungen auch bei Sprachsignalen niedriger werden. Ja, ein 3-Ton Signal. Bei einem 2-Ton Signal geht die Amplitude durch Null, ganz schlecht wenn man polar moduliert. Deswegen habe ich einen 3.Ton mit -20dB dazu genommen, so dass ich dem Nullpunkt der Amplitude immer nur auf 10% nahe gekommen bin. Ist für ein Sprachsignal auch realistisch, da kommt man nur selten Nahe an den Nullpunkt der HF-Amplitude ran. Und ich wollte die Nulldurchgänge mit den hohen FM-Hüben weg lassen um zu sehen was ich sonst noch für Probleme in der Modulation habe.
:
Bearbeitet durch User
Ganz kurz, hier ein Video-Link: https://youtu.be/PzubNCuGvEQ?t=110 "DL2MAN uSDX SSB transmit demo" - Er testet hier den uSDX über Dämpfungsglieder direkt an einem ICOM-Gerät (also keine KW-Störungen im Spiel). Der Sound klingt für mich etwas übersteuert. Ansonsten hört man definitiv Artefakte, die aber auch mit der Übersteuerung zusammenhängen können. In jedem Fall ist die Sprache verständlich. Die Artefakte klingen wie KW-Prasseln, deshalb fallen sie im normalen Bettrieb wahrscheinlich kaum auf.
Georg S. schrieb: > Auf welchen Frequenzbereich zielst du ab? Wenn du bei 24MHz sendest ist > der Effekt nur 1/100 so groß wie bei 2,4GHz und damit vernachlässigbar. Ok ziele auf KW, werde dann den Effekt kaum bemerken. > Es gibt zwei Arten der Nebenaussendungen die ich im meiner Antwort > vermischt hatte. Die "echte" Nachbarkanalunterdrückung (siehe 1.Bild) > kommt durch nichtideale Kombination von Amplituden- und Phasenmodulation > zustande. Glaube dir gern, dass du Reste aus der Updatefrequenz des Taktgenerators und Signaldämpfers vorfindest. Sieht man auf deinem Analyzer-Screenshot. Die werden sich natürlich mit schnelleren Updates verändern. Ich glaube aber trotzdem noch, dass kleine Fehler in der Amplitude, egal ob ungenau berechnet oder gegen die Phase verschoben, keinen gravierenden Effekt auf die SSB-Signalqualität haben. Ganz anders sieht es bei kleinen Phasenfehlern aus. Und die berechne ich zumindest aus dem arctan (Hilbert / verzögertes Original). Sind da kleine Fehler z.B. durch Welligkeit des Hilberttransformators drin, sieht das SSB-Signal gleich ganz furchtbar aus. > > Ja, ein 3-Ton Signal. Bei einem 2-Ton Signal geht die Amplitude durch > Null, ganz schlecht wenn man polar moduliert. Deswegen habe ich einen > 3.Ton mit -20dB dazu genommen, so dass ich dem Nullpunkt der Amplitude > immer nur auf 10% nahe gekommen bin. Den Abschnitt verstehe ich nicht. Bezieht sich das auf meine gerechneten Spektrogramme? Da hatte ich die drei Töne nacheinander durchgerechnet. Daniel schrieb: > https://youtu.be/PzubNCuGvEQ?t=110 > > "DL2MAN uSDX SSB transmit demo" - Er testet hier den uSDX über > Dämpfungsglieder direkt an einem ICOM-Gerät (also keine KW-Störungen im > Spiel). > Für eine Direktverbindung sind schon deutlich Störungen zu hören. Aber klar, ist gut zu verstehen. Der Test mit dem Oszi sagt nicht viel aus, Aufbau ist auch ziemlich unklar.
Wulf D. schrieb: >> Ja, ein 3-Ton Signal. Bei einem 2-Ton Signal geht die Amplitude durch >> Null, ganz schlecht wenn man polar moduliert. Deswegen habe ich einen >> 3.Ton mit -20dB dazu genommen, so dass ich dem Nullpunkt der Amplitude >> immer nur auf 10% nahe gekommen bin. > > Den Abschnitt verstehe ich nicht. Bezieht sich das auf meine gerechneten > Spektrogramme? > Da hatte ich die drei Töne nacheinander durchgerechnet. Nein, ich hab mich auf das Bild von meinem "2-Ton-Test" bezogen der eigentlich ein 3-Ton -Test ist, nur dass der 3. Ton bei -20dB sowieso von den Intermod-Produkten der beiden Haupttöne zugekleistert wird. Wulf D. schrieb: > Für eine Direktverbindung sind schon deutlich Störungen zu hören. > Aber klar, ist gut zu verstehen. Ich habe festgestellt dass Sprache recht unkritisch ist. Wenn man die AM der polaren Modulation weg lässt, also nur die PM macht, klingt die Sprache zwar deutlich verzerrt, ist aber noch verständlich. Das Spektrum hat natürlich massiv Außerband-Abstrahlung, v.a. in den benachbarten Kanälen.
Wulf D. schrieb: > Für eine Direktverbindung sind schon deutlich Störungen zu hören. > Aber klar, ist gut zu verstehen. Es ist aber auch schwer Fehler zu suchen. Wenn ich meinen RTL-SDR per Dämpfungsglied an den Ausgang des polaren Modulators schalte hört sich die Sprache irgendwie verzerrt an. Wenn ich den Modulator für den QO-100 Uplink benutze hört es sich im Downlink viel besser an. Weiß nicht warum das so ist. Vielleicht koppelt zu viel phasenmodulierte HF an dem digitalen Attenuator vorbei in den RTL-SDR rein. Und bei 2,4GHz kann ich mit dem RTL-SDR auch nicht empfangen, mir dem kann ich nur bei 1290 oder 430 MHz testen.
Georg S. schrieb: > Es ist aber auch schwer Fehler zu suchen. Das erfahre ich auch gerade. Wollte eigentlich meine Simulation mit Audiofiles füttern. Aber schon nach einigen 100ms gehen die Signale im anschwellenden Geräusch unter. Da steckt noch ein systematischer Fehler drin. Eigentlich nichts komplexes, finde es aber nicht. Hat irgendwas mit der Delta-Phase zu tun.
Georg S. schrieb: > Wulf D. schrieb: >> Für eine Direktverbindung sind schon deutlich Störungen zu hören. >> Aber klar, ist gut zu verstehen. > > ... Wenn ich meinen RTL-SDR per > Dämpfungsglied an den Ausgang des polaren Modulators schalte hört sich > die Sprache irgendwie verzerrt an. Wenn ich den Modulator für den QO-100 > Uplink benutze hört es sich im Downlink viel besser an. Weiß nicht warum > das so ist. ... Wenn ich das SSB-Signal vom uSDX über ein Dämpfungsglied mit dem ICOM selber anhöre, hört sich das auch schlechter an, als wenn ich mein Signal mit einem entfernten WebSDR anhöre. Bisher haben alle QSO-Partner mein SSB-Signal vom uSDX für gut verständlich befunden.
Georg S. schrieb: > Weiß nicht warum > das so ist. Vielleicht koppelt zu viel phasenmodulierte HF an dem > digitalen Attenuator vorbei in den RTL-SDR rein. Eventuell sollte man bei solchen Messungen die Massen entkoppeln. z.B. mit einem symmetrischen Dämpfungsglied dazwischen, einem Übertrager oder einfach Signal und(!) Masse(n) jeweils mit einem kleinen C entkoppeln.
Danke euch erstmal für die Rückmeldungen, vor allem auch zu den praktischen Erfahrungen mit dem uSDX. Habe den Fehler in meiner SSB-Simulation nach dem polaren Ansatz gefunden. Hatte versucht, das Signal über einen ganz normalen Cosinus mit der aus dem Modulationssignal berechneten Delta-Phase abzubilden. So in der Art:
Das geht leider sehr schnell schief. Grund ist die Periodizität des cos(), wo kleinste Rechenfehler in der Phase, also hier das Delta-Phi, in kürzester Zeit t das Ergebnis ruinieren. Ich hatte in meinen Plots über 0,5s gerechnet. Da türmt sich schon ein beträchtlicher Fehler auf, die Ergebnisse sind unbrauchbar. Lösen kann man das mit der VCO-Funktion. In meiner Octave-Version steckt zwar ein kleiner Bug drin, läßt sich aber umschiffen. Jetzt funktionieren auch längere Audio-Files. Werde die Ergebnisse bei Zeiten korrigieren, sobald der eingeschränkte Wertebereich und die im uSDX verwendeten Näherungsformeln eingebaut sind.
Mein Ansatz ist ...eventuell ist es auch falsch gedacht...man könnte ja das fast komplette Pico SDR Design benutzen um zumindest CW zu machen. Den Muxer brauchet es dann nicht, aber einen mehrstufigen Verstärker mit TP. Einziges Manko wäre, die Angezeigte Sendefrequenz würde um den ZF Betrag (einige kHz) nicht mit der Sendefrequenz übereinstimmen. Wäre jetzt aber nicht so schlimm und eventuell gäbe es dafür auch eine Lösung. Ich bin da noch nicht fertig mit diesem Gedanken.
:
Bearbeitet durch User
Nachtrag :Ja ich weiß, es werden auch diverse VFO Baugruppen verkauft mit wenig Ausgangsleistung an 50 Ohm.... Auf Basis des Pico SDR arbeitet man auch an einem Allmode TX. Ist aber noch nicht so weit.
Der uSDX, der von Jörg erwähnte QMX und auch Georgs Projekt nutzen alle einen VCO. Beim uSDX ist es der sehr günstige programmierbare Taktgenerator SI5351, den ein paar SW-Tricks in einen brauchbaren VCO verwandeln. Mein mittelfristiges Ziel ist eine TX-Integration im Pico-SDR. Wollte jetzt erstmal theoretisch schauen, wo die mehr oder weniger großen Abstriche an der TX-Qualität im uSDX liegen. Das schöne an dem Projekt ist, dass alle Quellen, HW und SW, offenliegen. Jetzt kann man detailliert testen, was die einzelnen Vereinfachungen wegen fehlender Rechenleistung und beschränkter HW für Auswirkungen haben. Da wären z.B.:
1 | - recht kurzes Hilbert-Filter |
2 | - 8- / 16 Bit Integerarithmetik |
3 | - einfache Wurzel-Näherungsfunktion |
4 | - grob genäherter arccos |
5 | - niedrige (?) Abtastrate |
6 | - fehlender Anti-Aliasing-Filter |
Mit dem Pico2 bräuchte man viel weniger Kompromisse. Im RX-Zweig des Pico-SDR verzichtet man sogar auf einen externen Taktgenerator und baut den mittels Microcode der Port-IO nach. Funktioniert auch, aber das jittert ganz ordentlich. Für TX unbrauchbar, damit wird man vermutlich zu heftige Nebenaussendungen provozieren.
Wulf D. schrieb: > Das schöne an dem > Projekt ist, dass alle Quellen, HW und SW, offenliegen. Bei meinem Projekt liegen die Quellen auch offen: https://gitlab.com/dg6rs/polar Vor allem auf den Hilbert-Trafo will ich hinweisen: Meine Suche damals hat ergeben dass es einfacher ist I und Q als IIR-Allpässe zu berechnen, die untereinander 90° Phasenverschiebung haben. Das ist von der Rechenleistung her einfacher als den I-Kanal 1:1 (mit delay) durchzuschleifen und einen passenden 90° versetzen Q-Kanal zu berechnen. Man hat dann eine frequenzabhängige Phasenverschiebung im Audio, aber es heißt das menschliche Ohr hört das nicht. Ich denke eines der Haupt-Kompromisse dem uSDX ist die niedrige Abstastrate. Ich hab die Grafiken nicht auf der Webseite sondern nur im Vortrags-Skript der UKW-Tagung in Weinheim: Die Wandlung der I/Q Daten in Amplitude und Phase ist eine nichtlineare Funktion die das Spektrum aufweitet. Außerhalb der 3kHz SSB-Nutzband müssen sich Amplituden- und Phasensignal so überlagern dass sie sich im Spektrum zu Null aufheben. Und das in dem ganzen Frequenzbereich in dem das AM und PM Signal relevant Leistungsdichte haben. Dafür sind meine 16kSps (=8kHz Nyquist) eigentlich schon zu knapp. Deswegen will ich das auf 48kSps aufbohren. Ich glaube der uSDX hat nirgendwo ein Bild vom Spektrum seines TX-Signals. Ich hab da einen verdacht, warum...
:
Bearbeitet durch User
Herbert Z. schrieb: > https://github.com/kaefe64/Arduino_uSDX_Pico_FFT_Proj Danke, kannte ich noch nicht. Einiges gefällt mir gut, z.B. das schöne Display mit gut aufgelöster FFT. So was hätte auch gut meinem FT8-Decoder gestanden :-) Es hat auch auf die Pico-Schwächen verwiesen, wie den beschränkt nutzbaren Wertebreich des ADC. Immerhin bringt der Pico2 1/2 Bit mehr. Er generiert das TX-Signal aus kartesischen Daten, mit Mischer und viel nachgeschalteter HW. Ich hoffe das geht mit dem polaren Ansatz mit weniger. Georg S. schrieb: > Bei meinem Projekt liegen die Quellen auch offen: > https://gitlab.com/dg6rs/polar Klasse, Vielen Dank! > Vor allem auf den Hilbert-Trafo will ich hinweisen: Meine Suche damals > hat ergeben dass es einfacher ist I und Q als IIR-Allpässe zu berechnen, > die untereinander 90° Phasenverschiebung haben. Das ist von der > Rechenleistung her einfacher als den I-Kanal 1:1 (mit delay) > durchzuschleifen und einen passenden 90° versetzen Q-Kanal zu berechnen. > Man hat dann eine frequenzabhängige Phasenverschiebung im Audio, aber es > heißt das menschliche Ohr hört das nicht. Kannte ich noch nicht, muss man erstmal verstehen. > Ich denke eines der Haupt-Kompromisse dem uSDX ist die niedrige > Abstastrate. Möglich, aber ich komme da nicht hinter: die Abtastrate ist im uSDX in der Arduino-Loop-Schleife verborgen, wenn ich den Code richtig interpretiere. Wenn der Code der Schleife abgearbeitet ist, fängt der vermutlich gleich wieder oben an. Kenne aber Arduino kaum. > Ich hab die Grafiken nicht auf der Webseite sondern nur im > Vortrags-Skript der UKW-Tagung in Weinheim: Die Wandlung der I/Q Daten > in Amplitude und Phase ist eine nichtlineare Funktion die das Spektrum > aufweitet. Außerhalb der 3kHz SSB-Nutzband müssen sich Amplituden- und > Phasensignal so überlagern dass sie sich im Spektrum zu Null aufheben. Sorry, aber das bezweifele ich: das ist zwar zeit- und wertediskret, aber ansonsten doch linear???
1 | - Amplitude aus sqrt (Re² + Im²) |
2 | - Phase aus arctan (Im / Re) |
3 | - Delta Phase = Phase' (dt) |
4 | |
5 | => Delta-Phase steuert den Oszillator nach |
6 | => Amplitude moduliert die PA |
> Und das in dem ganzen Frequenzbereich in dem das AM und PM Signal > relevant Leistungsdichte haben. Dafür sind meine 16kSps (=8kHz Nyquist) > eigentlich schon zu knapp. Klar, der Hilberttransformator hat nur einen eingeschränkten Frequenzbereich. Deshalb muss da auch ein Bandpass (Anti-Alaisingfilter) vor. Hatte ich oben zum uSDX angemerkt. Aber 16kSps halte ich für Sprache schon für äußerst komfortabel. Musst halt sehen, dass dein Hilbert-Transformator wegen der recht hohen Abtastrate unten rum noch gut funktioniert. Ist in deinem Ansatz vielleicht gar kein Problem. > Ich glaube der uSDX hat nirgendwo ein Bild vom Spektrum seines > TX-Signals. Ich hab da einen verdacht, warum... Ja, echte Messwerte fand ich auch noch nicht. Vielleicht steckt in den zahlreichen Youtube-Videos mehr als Gelaber, ggf frage ich den werbefreien Abo-Account meiner Tochter mal an.
Wulf D. schrieb: > Sorry, aber das bezweifele ich: das ist zwar zeit- und wertediskret, > aber ansonsten doch linear??? > - Amplitude aus sqrt (Re² + Im²) > - Phase aus arctan (Im / Re) Das sind zwei nichtlineare Funktionen. Für den 16kSps Fall habe ich das Spektrum der AM und PM simuliert (mit Octave, siehe Bild). So viel Pegel wie die PM bei +/-8kHz noch hat wundert mich dass das resultierende Spektrum der echten HF bei 16kSps überhaupt so gut ist. Einer der Hauptgründe warum ich mit 48kSps probieren will um zu sehen wie viel besser das wird. Wulf D. schrieb: > Möglich, aber ich komme da nicht hinter: die Abtastrate ist im uSDX in > der Arduino-Loop-Schleife verborgen, wenn ich den Code richtig > interpretiere. Ich hatte im Kopf dass der uSDX 8kSps benutzt. Aber es ist lang her dass ich einen Blick in den Code geworfen habe. Damals als Vorbereitung,bevor ich meinen Code gestartet habe.
:
Bearbeitet durch User
Georg S. schrieb: > Das sind zwei nichtlineare Funktionen. Das stimmt natürlich. Ich hatte was anderes im Sinn, nämlich warum sollten die Funktionen das Spektrum des Eingangssignals verbreitern? Am Ende hast du auch hier Recht, da sieht man die längere Erfahrung damit. Habe meine Octave-Simulation mit realen Audiofiles gefüttert und da kommt tatsächlich ein unerwartet breites Signal raus. Verstehe ich aber noch nicht. Vor allem wenn man im Vergleich den synthetischen Sweep, einen Sinus von 200Hz bis 2800Hz, Amplitude von 0,9 auf 0,1 fallend, ansieht. Da gibt es die Verbeiterung nicht. Interessant auch die Audio-Resultate. Das reale Audio ist ein Tagesschau-Intro mit Begrüßung, mit Audacity steilflankig auf 250Hz bis 2700Hz bandbegrenzt. Abtastrate 6kSps. Der Sweep bleibt nach der Demodulation glasklar. Das reale Audio hat dagegen stark gelitten. Vermute noch einen anderen Effekt, der hier zu Fehlern führt. Denke da an die Differenzierung der Phase. Benötigst Du diesen Rechenschritt in der von dir verwendeten Methode auch? Anbei die Audio-Files. Bei den Tagesschau-Audios habe zwei verschiedene Hilbert-Filter ausprobiert. Das vom uSDX mit 15 Taps und eines mit N=41. Höre kaum einen Unterschied. > Für den 16kSps Fall habe ich das > Spektrum der AM und PM simuliert (mit Octave, siehe Bild). So viel Pegel > wie die PM bei +/-8kHz noch hat wundert mich dass das resultierende > Spektrum der echten HF bei 16kSps überhaupt so gut ist. Einer der > Hauptgründe warum ich mit 48kSps probieren will um zu sehen wie viel > besser das wird. Weiß nicht wie du das simuliert hast. Habe probehalber bei mir die Abtastfrequenz von 6kSps auf 12kSps verdoppelt, ohne die Audio-Bandbreite zu verändern. Das hatte weder auf das SSB-Signal noch auf das demodulierte Nutzsignal irgend einen Effekt.
Wulf D. schrieb: > Ich hatte was anderes im Sinn, nämlich warum sollten die Funktionen das > Spektrum des Eingangssignals verbreitern? Weil sie nichtlinear sind. Ich bin kein Mathematiker und hab keinen Ansatz das erklären zu können. War nur immer schon so... > Vor allem wenn man im Vergleich den > synthetischen Sweep, einen Sinus von 200Hz bis 2800Hz, Amplitude von 0,9 > auf 0,1 fallend, ansieht. Ein reiner Sinus ist ein Sonderfall. Da hat man in der polaren Modulation keine AM, und die FM ist eher konstant bzw. nur langsam sich ändernd. > Weiß nicht wie du das simuliert hast. Ich kann mein Octave File mal wieder ausgraben wenn du dich da durchkämpfen willst. Ist aber eher kraut&rüben. Und es ist lang her. Ich muss mich da auch erst wieder rein suchen wenn ich das was machen wollte. > Höre kaum einen Unterschied. Hören ist bei mir so ein Problem. Es hört sich "irgendwie seltsam" an, ohne dass ich die Messtechnik oder auch nur eine Idee hätte wie ich das Problem greifen oder präzisieren könnte.
Schau dir aber auf jeden fall den Hilbert Trafo an den ich gefunden habe: https://web.archive.org/web/20070814013543/http://yehar.com/ViewHome.pl?page=dsp/hilbert/011729.html https://www.mikrocontroller.net/attachment/33904/hilbert_Olli_Niemitalo.pdf Sehr breitbandig und durch die IIR Filter brauch er wenige Multiplikationen. Ist ursprünglich für 44,1kSps gedacht, geht aber auch bei kleineren Sampleraten.
Danke für die Hinweise! Der Ansatz mit den Allpässen funktioniert, habe testhalber zwei sehr einfache mit je zwei Koeffizienten ausprobiert:
1 | % Branch I (In-Phase) |
2 | aI1 = -0.735495; |
3 | aI2 = 0.459346; |
4 | % Branch Q (Quadrature) |
5 | aQ1 = -0.152135; |
6 | aQ2 = 0.855073; |
An bei das Ergebnis des Tagesschau-Testsignals nach polarer SSB-Modulation und sync. Demodulation / Filterung. Klingt anders, aber nicht unbedingt besser oder schlechter. Frage mich noch immer, warum das so verzerrt klingt. Das müsste besser gehen. Hat die Deutsche Bundespost früher auf den Fernstrecken nicht auch SSB-Trägerfrequenz-Übertragung für Telefonie genutzt? Ich glaube die Achillesferse ist die Unstetigkeitsstelle -pi => +pi des atan2 bei der Berechnung der Phase. Anschließend wird die Phase differenziert, zeitdiskret heißt das eine Differenz des aktuellen mit dem vorherigen Wert. Dabei kann die Differenz-Phase heftig springen. In Oktave gibt es dafür die "unwrap"-Funktion, die je nach Schwellwert der Differenz eine Korrektur um 2*pi vornimmt. Vermutlich funktioniert das nicht richtig, hier lohnt ggf eine Detailbetrachtung.
Wulf D. schrieb: > Hat die Deutsche Bundespost früher auf den Fernstrecken nicht auch > SSB-Trägerfrequenz-Übertragung für Telefonie genutzt? Dürfte eher A3E als J3E gewesen sein. Nicht nur Bundespost, btw. https://fernmeldemuseum-dresden.de/technik/uebertragungstechnik/tf-uebertragungstechnik/systeme-mit-12-kanaelen/
Jörg W. schrieb: > Dürfte eher A3E als J3E gewesen sein. Interessanter Link. Aber A3E kann es nicht gewesen sein. Zitat
1 | 12 Fernsprechkanäle 300 Hz – 3400 Hz werden über zwei Amplitudenmodulationsstufen frequenzmäßig hintereinander in den Bereich 60 kHz bis 108 kHz (auch Primärgruppe genannt) umgesetzt. |
48kHz / 12 = 4kHz. Ein wenig Platz brauchen die Analogfilter auch, da bleibt nur noch SSB.
Wulf D. schrieb: > da bleibt nur noch SSB oder C3E oder wie das heißt, ein Seitenband unterdrückt, aber der Träger noch dabei
Jörg W. schrieb: > Wulf D. schrieb: >> da bleibt nur noch SSB > > oder ein Seitenband unterdrückt, aber der Träger > noch dabei Das wäre auch möglich. Ist schwer, richtig detaillierte Infos darüber zu finden. Kann mich kaum noch erinnern, aber Anfang der 80er könnte die Technik bei Ferngesprächen noch im Einsatz gewesen sein, bevor auf PCM gewechselt wurde. Da gabs Rauschen, manchmal Nebensprechen und Prasselgeräusche, aber so merkwürdige Verzerrungen wie in meiner SSB-Simu gabs nicht. Vielleicht bin ich mit dem Polar-Ansatz, also Amplituden- und Phasenmodulation, auf dem Holzweg.
Hab mal ein Blockschaltbild von der Simulation angefügt. Die Symbolik zwischen zeitdiskret- und kontinuierlich geht etwas durcheinander, sollte aber das Vorgehen ausreichend erklären. Denke schon dass die Simulation halbwegs passt, das Youtube von DL2MAN klingt ganz ähnlich verzerrt. Nur in der Frage warum das so ist und wie man ggf Abhilfe schaffen kann, bin ich keinen Schritt weiter.
Wulf D. schrieb: > Denke schon dass die Simulation halbwegs passt, das Youtube von DL2MAN > klingt ganz ähnlich verzerrt. Bist du sicher, dass du den Sound vom DL2MAN-Video als Referenz nehmen kannst? Wir hatten ja weiter oben schon diskutiert, dass da wahrscheinlich über die Gerätemassen zu viel Sendeleisting reingeschwappt sein könnte: Sandra schrieb: > Wenn ich das SSB-Signal vom uSDX über ein Dämpfungsglied mit dem ICOM > selber anhöre, hört sich das auch schlechter an, als wenn ich mein > Signal mit einem entfernten WebSDR anhöre. Bisher haben alle QSO-Partner > mein SSB-Signal vom uSDX für gut verständlich befunden. Meiner Meinung nach bräuchtest du echte Aufnahmen vom uSDX unter realen Bedingungen mit optimal ausgesteuertem Mikrofonsignal.
Daniel schrieb: > Bist du sicher, dass du den Sound vom DL2MAN-Video als Referenz nehmen > kannst? Sicher bin ich nicht. Aber immerhin ist DL2MAN einer der beiden Entwickler des uSDX, sollte schon wissen was er tut. > Meiner Meinung nach bräuchtest du echte Aufnahmen vom uSDX unter realen > Bedingungen mit optimal ausgesteuertem Mikrofonsignal. Klar, das wäre optimal. Am besten mit dem gleichen Audiofile angesteuert, welches ich für die Simu verwendete. Besitze aber keinen uSDX. Einen vertrauenswürdigen findet man ab 100€. Vielleicht magst du einen Test durchführen, die Audio-Testdatei hatte ich oben angehängt. Habe mal testweise das SSB-Signal kartesisch moduliert, d.h. die I- und Q- Komponente nach Interpolation mit cos() und sin() multipliziert und addiert bzw subtrahiert, mit der Trägerfrequenz im Argument. Nach Demodulation mit dem gleichen Synchron-Detektor, wie ich in für die Polarmodulation nutzte, ist nun das Ergebnis nicht vom Original zu unterscheiden. Auch das modulierte Trägerspektrum ist deutlich schmaler. Im realen Leben bedeutet aber so ein Ansatz einen viel größeren Hardwareaufwand.
Zum Vergleich Spektrum und Demodulationsbeispiel der Simulation mit kartesischer SSB-Modulation. Ist viel sauberer. Bleibt noch immer die Frage warum, wo klemmt es beim polaren Ansatz?
Wulf D. schrieb: > Klar, das wäre optimal. Am besten mit dem gleichen Audiofile > angesteuert, welches ich für die Simu verwendete. Besitze aber keinen > uSDX. Einen vertrauenswürdigen findet man ab 100€. > Vielleicht magst du einen Test durchführen, die Audio-Testdatei hatte > ich oben angehängt. Grundsätzlich wäre das möglich. Ich könnte das File in den uSDX einspielen, dann über Dämpfungsglied ins RTL-SDR und den Sound dort (also im PC) aufnehmen. Dann müsste ich aber wissen, wie groß das Dämpfungsglied etwa sein sollte (Sendeleistung uSDX irgendwo bei 3,5W je nach Betriebsspannung) und außerdem wäre wichtig zu wissen, wie das Dämpfungsglied aufgebaut sein müsste (Abschirmung einzelner Segmente, asymm. oder symm., wie viele Einzelsegmente etc.), damit es keine unerwarteten Übersprechungen/Übersteuerungen gibt.
Daniel schrieb: > Grundsätzlich wäre das möglich. Ich könnte das File in den uSDX > einspielen, dann über Dämpfungsglied ins RTL-SDR und den Sound dort > (also im PC) aufnehmen. > Das wäre Klasse. Ich habe ein Pico-SDR, das fühlt sich ohne Preamp zwischen -40dBm und -100dBm wohl. Darüber entsteht Clipping, darunter zu viel Rauschen. 5W sind 37dBm, d.h. du müsstest mindestens 80dB dämpfen wenn der RTL-Stick ähnlich viel verträgt. Wenn du mit einem PC sowohl die Audiodatei abspielen, als auch den RTL-Stick mit Recorder betreiben willst, wird es vermutlich schwer die 80dB zu erreichen. Da koppelt immer irgendwo was rüber. Hast du nicht noch irgendwo einen Audioplayer mit Akkubetrieb, einen iPod oder ein älteres Handy mit 3,5mm Klinkenstecker wo man die Lautstärke des Analogausgangs regeln kann? Bei Bedarf erzeuge ich das Testaudio in einer gängigeren Abtastrate. Dann könnte man den ganzen Aufbau trennen und an den uSDX einfach nur einen 50-Widerstand ohne Antenne anschließen. Rund 50dB Spielraum sind drin und im Wasserfalldiagramm sollte der Empfangspegel abschätzbar sein.
Wulf D. schrieb: > Zum Vergleich Spektrum und Demodulationsbeispiel der Simulation mit > kartesischer SSB-Modulation. Ist viel sauberer. > Bleibt noch immer die Frage warum, wo klemmt es beim polaren Ansatz? Theoretisch sollte es keinen Unterschied geben, v.a. in einer Simulation bei der die Trägheit PLL nicht zum tragen kommt. Bleibt an sich nur den Fehler in der Mathe zu suchen der in der Simulation steckt.
Georg S. schrieb: > Theoretisch sollte es keinen Unterschied geben, v.a. in einer Simulation > Bleibt an sich nur den > Fehler in der Mathe zu suchen der in der Simulation steckt. Fehler in der Mathe ja, aber die Simulation orientiert sich am uSDX-Code und da könnte sie ganz dicht dran sein. Vielleicht kann das Daniel mit einem Test bestätigen. Versuche natürlich auch die Mathe zu verbessern. Bin da einen halben Schritt weiter. Wie schon zuvor gesagt, vermute den Fehler in der Phase. Der uSDX geht in der letzten auf Github veröffentlichten Version 1.02x der usdx.ino wie folgt vor:
1 | static int16_t prev_phase; |
2 | int16_t phase = arctan3(q, i); |
3 | int16_t dp = phase - prev_phase; // phase difference and restriction |
4 | prev_phase = phase; |
5 | if(dp < 0) dp = dp + _UA; // make negative phase shifts positive: prevents negative frequencies and will reduce spurs on other sideband |
Also erst den arctan() rechnen, dann Differenzieren und darauf bei Bedarf eine Korrektur um 2*pi. Das arctan3(q, i) ist hier eine schnelle Näherungsfunktion des arctan2. Habe zwei verschiedene Optimierungen versucht, beide mit exakt dem gleichen Ergebnis: 1. Die Reihenfolge oben vertauscht, d.h. arctan(), dann Phasenkorrektur und zuletzt differenziert. 2. Ganz ohne arctan() und Differenz, sondern die analytische Ableitung nach der Euler-Formel direkt berechnet. In den Spektren schlägt sich die Änderung nicht besonders stark nieder. Aber ich finde das demodulierte Signal hört sich schon deutlich besser an. Anbei die aktualisierte Übersicht und das demodulierte Audiosample mit der o.g. Verbesserung.
Wieder einen halben Schritt weiter: neben dem besser funktionierendem unwrap der atan2-Unstetigkeit das Timing zwischen Phase und Amplitude fein abgeglichen. Dazu die bereits auf Trägerfrequenz fc interpolierten Daten verwendet, auf Signal-Abtastrate umgerechnet war das Optimum bei 1,5 Ts Verzögerung der Amplitude. Ein T ging dabei sicher durch die Differenzierung der Phase verloren. Das Tagesschau-Intro hört sich jetzt noch ein wenig besser an, die Sprache ist fast sauber. Im Zip-Archiv alle drei Verfahren nebeneinander, uSDX-like, die optimierte Polarmodulation und das rein kartesische Verfahren. Spektrum sieht auch etwas besser aus: etwa 10dB bessere Unterdrückung des unteren Seitenbands USB und am oberen Ende etwa 10dB weniger Energie. Vom Spektrum her lange nicht perfekt, das sieht man beim Vergleich mit dem kartesischen Ansatz und vor allem wenn man sich das Zweiton-Testsignal 600Hz + 1kHz anschaut: jede Menge Mischfrequenzen. Wo kommen die bloß her? Der Abfall zu höheren Frequenzen beim demodulierten Signal liegt am Dezimationsfilter, hab da eine fertige Octave-Funktion genutzt. Die hätte ich besser dimmensionieren sollen, der Abfall hat also nichts mit der Modulation zu tun. Generell haben die demodulierten Signale -6dB Amplitude gegenüber Einganssignal. Die andere Hälfte landet im unteren Seitenband.
Für die, die es interessiert: habe das Thema jetzt parallel in ein zweites Forum gestellt, mit Ausrichtung auf digitale Themen: https://www.dsprelated.com/thread/18639/ Hätte hier vielleicht doch besser in den DSP-Slot gepasst. Sieht man sich die unglaubliche Beteiligung am vintage 4-Transistor-Verstärker Thread an, liegt das Interesse hier wirklich wo anders. Ist natürlich auch ok.
Ist hald ein Nischenthema. Als ich hier mein Projekt vorgestellt habe hat mich die sehr zurückhaltende Reaktion auch gewundert. Dachte ich hätte ein Alleinstellungsmerkmal: Die günstigste stand-alone(*) Möglichkeit in den Mikrowellenbändern ein SSB Signal zu bekommen. Ist aber scheinbar noch Nischichiger. Bastle damit rum wenn es dich interessiert. Alle anderen kaufen sich einen QMX oder uSDX. Ist auch verständlich, da geht verdammt viel Zeit rein. Wenn man nicht basteln sondern nur funken will. Hab ich bei meiner QO-100 Station auch so gemacht. Alles außer dem polaren SSB-Generator ist einfach gekauft und zusammengesteckt. Sonst wäre das nie in einem reellem Zeitplan fertig geworden. Diesen September gehe ich nochmal auf die UKW-Tagung in Weinheim. Vielleicht findet es da Interessenten. Vor allem weil ich vorhabe einen Fertigbausatz anzubieten, vielleicht nicht bis September, aber bis Jahresende (SMD bestückt, THT und Gehäuseeinbau selber machen) Fertig ist das noch lange nicht. Die Integration mit SDR-Software steckt in den Kinderschuhen (wichtig für reine User) und die Variante mit 48kSps hat einen schwer zu findenden Fehler den die 16kSps nicht hatte. Der vermiest das Spektrum. (*) also ohne 2m/70cm Allmode-Funke deren Signal hochgemischt wird.
:
Bearbeitet durch User
Georg S. schrieb: > Vielleicht findet es da Interessenten. Ich denke, Interessenten (im Sinne von "Leute, die das dann verwenden würden") finden sich immer, aber die wenigsten stecken da tief genug drin. Letztlich, das Einzige, was mich am QMX stört ist, dass er nicht Opensource ist.
Georg S. schrieb: > Ist hald ein Nischenthema. Sieht so aus. Simple Antennenverstärker sind gefragter ;-) Kann mich aber auch für low-tech-Themen begeistern. Wollte schon immer mal einen super-stromsparenden, schmalbandigen UHF-Regen.-Receiver mit 3-Port SAW-Filter aufbauen. Auch so ein 2- 4- Transistor Projekt. > Bastle damit rum wenn es dich interessiert. Alle anderen kaufen sich einen QMX oder uSDX. Habe ich jetzt auch getan, einen beschädigten (tr)SDX. Eigentlich nur zum Vermessen. Will wissen, was der genau leistet. Muss erst reparieren, Sender angeblich durch Verpolung zerstört. Noch ist der nicht im Haus. Im DSP-related Forum hatte auch jemand die polare SSB-Modulation mit ausreichender CPU-Power versucht. Sprache klingt ausgesprochen gut, aber er sagt auch, dass er an weiteren Optimierungen gescheitert ist. Hab ihm um Spektren gebeten, mal sehen ob was kommt. > Vor allem weil ich vorhabe einen Fertigbausatz anzubieten Das ist natürlich ein großer Schritt, was ganz anderes als ein PoC auf die Beine zu stellen. > die Variante mit 48kSps hat einen schwer zu findenden Fehler den die 16kSps nicht hatte. Ob du nun einen Zeitversatz zwischen Amplitude und Phase hast? Durch meine Simulation fand ich raus, dass bereits ein Sample (1/fs) das Spektrum deutlich verschlechtert. Jörg W. schrieb: > Letztlich, das Einzige, was mich am QMX stört ist, dass er nicht > Opensource ist. Beim SDX findet die Weiterentwicklung leider auch nur noch als closed source im (tr)SDX statt. Schade. Und der QMX hat bis heute kein Update auf SSB: damit entfällt auch so was wie FT8, oder?
Wulf D. schrieb: > Und der QMX hat bis heute kein Update auf SSB: damit entfällt auch so > was wie FT8, oder? Doch, er kann SSB (mit Polarmodulation), und er macht Digimodes ausgesprochen aufwändig: er misst die ankommenden Frequenzen, und generiert das FSK-Signal passend. Ja, dass der (tr)uSDX von Opensource abgerückt ist, macht ihn mir auch wenig sympathisch. Habe noch einen uSDX mit 9-Band-Modul, dass kann der QMX halt nicht (aber dafür ist er viel kleiner).
Wulf D. schrieb: >> die Variante mit 48kSps hat einen schwer zu findenden Fehler den die 16kSps > nicht hatte. > Ob du nun einen Zeitversatz zwischen Amplitude und Phase hast? Wenn, dann müsste dieser kleiner gewesen sein als bei der 16kSps Variante, einfach wegen der 3fachen Samplerate. Aber ich bin wegen Wasser im Keller (Gewitterregen) die letzte Woche zu nichts gekommen. Ich suche noch. Ein weiteres mal stellt sich raus dass es wertvoll ist den Source Code so zu organisieren dass man die Hardware-Abhängigen Sachen so abgetrennt hat dass man die Signalverarbeitung auf dem PC compilieren kann. Das hilft viel weil es man Zwischenwerte der Berechnung auf die Festplatte schreiben kann.
Wulf D. schrieb: > Und der QMX hat bis heute kein Update auf SSB: damit entfällt auch so > was wie FT8, oder? Bei meinem polaren Modulator sollte FT8 gehen. Selber getestet habe ich das bisher nicht, aber ein HAM aus Brasilien. Aber er hat keinen speziellen FT8-Moduls, sondern das läuft über den normalen SSB Modulator, mit entsprechend mehr Rauschen im Band als sein müsste.
Georg S. schrieb: > Ich suche noch. Ein weiteres mal stellt sich raus dass es wertvoll ist > den Source Code so zu organisieren dass man die Hardware-Abhängigen > Sachen so abgetrennt hat dass man die Signalverarbeitung auf dem PC > compilieren kann. Auf jeden Fall macht das Sinn. Wenn's kompliziert wird, gehe ich dreistufig vor. Erst "High-Level" in Matlab/Octave, dann in C/C++ auf dem PC und im letzten Schritt erst auf dem uC. Auch da nutze ich zunächst Testdaten vom PC, sonst wird die Fehlersuche zu mühsam. Hatte ich so beim FT8-Decoder auf dem RP2350 Ende letzten Jahres so gemacht. Mit dem QMX hat Jörg natürlich Recht, hab's nicht mitbekommen. Ob es davon Spektren gibt? > Bei meinem polaren Modulator sollte FT8 gehen. ... sondern das läuft über den normalen SSB Modulator, mit entsprechend mehr Rauschen im Band als sein müsste. Das Außer-Band als auch In-Band-Geräusch ist wirklich unschön. Auch bei FT8, wo man ja potentiell Nachbarn im gleichen Kanal zurauscht, wenn man wie in meiner Simu nur 30dB SNR schafft. Könnte aber sein das das in der Simu ein Artefakt aus der dort verwendeten Interpolationsfunktion interp(x, k) ist und ich da ein Phantom jage. Mit anderen Worten: die polare Modulation könnte auch fehlerfrei umsetzbar sein. Was zu beweisen wäre. Baue mal einen PoC auf, das wird aber Herbst oder später.
Wulf D. schrieb: > Das Außer-Band als auch In-Band-Geräusch ist wirklich unschön. Auch bei > FT8, wo man ja potentiell Nachbarn im gleichen Kanal zurauscht, wenn man > wie in meiner Simu nur 30dB SNR schafft. Deshalb hat er ja beim QMX auch einen separaten Digitalmodus implementiert, um nicht über den SSB-Modulator gehen zu müssen.
Jörg W. schrieb: > Deshalb hat er ja beim QMX auch einen separaten Digitalmodus > implementiert, um nicht über den SSB-Modulator gehen zu müssen. Das ist wirklich elegant. Dennoch würde ich gern ein SSB-Spektrum vom QMX sehen. Bin einfach nur neugierig, ob jemand die Polarmodulation im Griff hat. Wie oben gesagt, hatte ich mir einen defekten (tr)µSDX besorgt. Die drei BS170 waren schnell gegen 2N7002k ersetzt, was anderes hatte ich nicht da. Deshalb das TX-Bias von 128 auf 90 reduziert, außerdem TX-Drive von 4 auf 2. Das ergab die sauberste AM-Modulation. Sauber ist aber relativ. CW ist wirklich sauber, keinerlei Nebengeräusch. Ein einzelner Ton ist in AM und auch SSB ebenfalls ok. Aber schon ein Zweiton (600Hz & 1kHz) wird sowohl bei AM und besonders bei SSB von deutlichem Hintergrundgeräusch unterlegt. Das sieht man sowohl am HF-Spektrum auf einem analogen Anritsu MS2601B als auch hört man das nach Demodulation mit einem Pico-SDR. Bei optimalem Empfang bei -75dBm. Sowohl SDR als auch µSDX waren massefrei mit Akkubetrieb, auch die Generatoren. Ob das Pico-SDR das Ergebnis verfälscht, kann ich nicht zweifelfrei sagen. Aber das HF-Spektrum sagt eigentlich schon viel aus. Max. 20dB Seitenbandunterdrückung und ein sehr deutliches Außerband-Geräusch, keine 20dB unter Sendepegel. Könnte sein, dass die nicht originalen TX-Transistoren das Ergebnis verschlechtert haben. Wer Vorschläge hat wie man das Ergebins verbessern kann, bitte melden. Oder Messungen von Spektren mit Polarmodulation. Dateien im Anhang: Die Messübersicht. Sendefrequenz war 14 MHz. AM-Modulation ca 40%. Beim µSDX gabs mit dem Analog-Oszi kein Bild der Modulation. Mit dem digitalen Tektronix ging es nur als Foto. Die Screenshot-Funktion (Print) lieferte nur Artefakte. Die Audiodatei ist das vom µSDX SSB-gesendete und Pico-SDR empfangene Tagesschau-Intro, wie schon zuvor benutzt. Die leisen Plopp-Töne alle 500ms-1s sind vom Messaufbau, konnte ich kurzfristig nicht abstellen. Der Rest hat dennoch viel Potential nach oben. Eigentlich finde ich den Aufbau des (tr)µSDX ziemlich genial. Aber sollte die HF-Qualität bei allen Exemplaren so sein, wäre der für TX eher als ein PoC anzusehen.
Wulf D. schrieb: > Das ist wirklich elegant. Dennoch würde ich gern ein SSB-Spektrum vom > QMX sehen. Bin einfach nur neugierig, ob jemand die Polarmodulation im > Griff hat. Kann ich versuchen aufzunehmen. Was hättest du gern als Ansteuerung? 2-Ton-Signal? Müsste ich sehen, wo / wie ich das zusammen bekomme. Einen AWG habe ich nicht hier.
Jörg W. schrieb: > Kann ich versuchen aufzunehmen. Was hättest du gern als Ansteuerung? > 2-Ton-Signal? Wäre wirklich klasse. Hänge das 2-Ton-Signal als längeres mp3 an. Habe das von einem kleinen Player (iPod Nano) in Endlosschleife abgespielt. Geht wahrscheinlich auch vom PC, da evtl mit mehr Störungen. Oder ein älteres Handy mit 3,5mm Kopfhörer-Klinkenbuchse. Ein AWG braucht man nicht.
Player werde ich finden. Da fällt mir noch ein, dass man ja mit der Funktionsgenerator-App auch ein Zweitonsignal produzieren können sollte. Muss dann nur gucken, wie weit ich das auf Mikrofon-Level dämpfen muss.
Danke! Ich habe die Mehrfach-Töne auf dem PC mit dem freien Audio-Editor Audacity erzeugt. Einfach pro Ton eine Spur anlegen und hinterher alles in ein Mono-Audiofile exportieren. Der uSDX benötigte erstaunlich hohe Pegel an seinem Eingang. Da musste ich den Lautstärkesteller am Player gut aufdrehen.
Wulf D. schrieb: > Ich habe die Mehrfach-Töne auf dem PC mit dem freien Audio-Editor > Audacity erzeugt. Einfach pro Ton eine Spur anlegen und hinterher alles > in ein Mono-Audiofile exportieren. Stimmt, ist natürlich auch 'ne Variante.
Ich bekenne, nicht den ganzen thread gelesen zu haben, aber das scheint ähnlich zu sein wie die 3. Methode nach Weaver. Der ersetzt das 90°-Filter durch eine Multiplikation/Mischen mit sin und cos. Sin und cos fallen bei einem DDS praktisch in idealer Form ohne nennenswerten Mehraufwand für lau an. " 3rd method Weaver " ist google-AI-bekannt. Gerhard DK4XP
Gerhard H. schrieb: > aber das scheint ähnlich zu sein wie die 3. Methode > nach Weaver. Der ersetzt das 90°-Filter durch eine > Multiplikation/Mischen mit sin und cos. Sin und cos Nein, darum geht es hier nicht, es geht um polare Modulation. Das 90°-Filter ist hier ein Hilbert-Transformator. Digital läßt der sich in guter Qualität implementieren. Die Frage ist hier, wovon die Qualität der Modulation am Ende abhängt.
Jörg W. schrieb: > Muss dann nur gucken, wie weit ich das auf Mikrofon-Level dämpfen muss. Im Moment bekomme ich da gar keine Leistung im SSB-Betrieb raus. Da muss ich mal gucken, ob noch irgendwas mit dem Aufbau des Bausatzes nicht in Ordnung ist. In CW und Digi ist es kein Problem, Leistung rauszubekommen. (Digimode funktioniert über die eingebaute USB-Soundkarten-Implementierung, nicht über den Analog-Eingang.)
:
Bearbeitet durch Moderator
Kommt denn HF-Pegel mit dem eingebauten Mikrofon? Vielleicht erkennt der die gesteckte Klinkenbuchse nicht, hat soweit ich das im Schaltplan sehe keine richtige Umschaltung intern/extern. Sendepfad geht ja, wenn die Digimodes funktionieren.
Wulf D. schrieb: > Kommt denn HF-Pegel mit dem eingebauten Mikrofon? Hab ich noch nicht geschafft, aber vielleicht muss ich einfach die Bedienungsanleitung nochmal lesen. :-) SSB mach ich sonst nicht, insbesondere nicht QRP.
Beim PicoRXProjekt wurde schon einiges getestet, um eine TX-Funktion hinzu zu fügen: https://101-things.readthedocs.io/en/latest/transmitter_experiments.html
Bin schwer beeindruckt, wie tief und systematisch die das Thema bearbeitet haben: Danke für den Hinweis! Die Ergebnisse hören sich gut an, aber man sieht bei der polaren Modulation im Spektrum noch deutlich, wie das Außerband- Geräusch bei jedem Wort aufzieht. Im QMX wurde noch ein Weg dazwischen beschritten: polare Modulation mit SI5351 als NCO und class E TX (soweit gleich), aber mit analoger Modulation der TX-Versorgungsspannung. Bei dem 101-things Ansatz nutzen die class D. Insofern wären Jörgs Messungen am QMX schon noch interessant.
Jörg W. schrieb: > aber vielleicht muss ich einfach die Bedienungsanleitung nochmal lesen Hat geholfen. :-) Ich hatte nur "Audio" im Menü gesehen und da nichts relevantes gefunden – aber für "SSB" gibt es noch ein eigenes Menü, und dort auch die Möglichkeit, eine Signalquelle anzugeben. Standard war "USB", also die eingebaute (emulierte) USB-Soundkarte. Kein Wunder, dass da vom externen Signal nicht viel zu hören war. ;-) Hier mal die Messungen des Spektrums. Die beiden Diagramme 230614 und 230853 zeigen dein Zweitonsignal, wobei ich beim zweiten die RBW auf das Minimum von 30 Hz herunter genommen habe (was zu 100 s Sweep führt), um die Peaks möglichst fein aufzulösen. Die Diagramme 225646 und 230036 zeigen das Spektrum des eingebauten Zweitongenerators, den man auch als SSB-Quelle wählen kann (700 Hz + 1900 Hz). Schließlich noch das CW-Signal als Vergleich, Diagramm 224619. Für SSB habe ich die Mittenfrequenz des Analyzers allerdings so verschoben, dass das Sprachband halbwegs in der Mitte liegt, d.h. die (CW-)Grundfrequenz wäre links davon (USB-Modus). (Vor dem Analyzer ist ein 40-dB-Attenuator. Hatte die Pegelanzeige nicht korrigiert, Gesamtleistung ist ja jetzt nicht ganz so wichtig.)
:
Bearbeitet durch Moderator
Habe heute früh bemerkt, dass ich vermutlich noch nie die Autokalibrierung laufen lassen hatte. Damit korrigiert die Firmware für die einzelnen Bänder DAC-Fehler. Dauerte ziemlich lange und hat gut aufgeheizt. :-) (Rechts im Bild der Abschlusswiderstand, der ist für die IR-Kamera vermutlich zu stark reflektiv.) Hat jetzt aber für 7 MHz zumindest nichts grundlegend geändert, habe aber nur kurz den internen 2-Ton-Generator für den Test benutzt. Ich muss mir mal ein externes Mikrofon bauen, dann kann ich auch mal versuchen, einen Test mit richtiger Sprache over the air zu machen und aufzuzeichnen. Vielleicht bin ich ja bei guten Bedingungen auch mal in Twente zu hören und kann dort mitschneiden.
Vielen Dank für die Messungen! Die höhere Auflösung war eine gute Idee, hab die µSDX-Messungen auf RWB 30Hz wiederholt und per GPIB exportiert. Den QMX-Messungen gegenübergestellt und zusätzlich noch neben die PicoTX-Prototypen aus dem 101-things-Link gestellt. Auch wenn die vom Messsignal und Meßgeräten nicht dazu passen. Man sieht dennoch, dass die polare Modulation anscheinend immer mit einem deutlichen Störteppich einher geht. Am Besten sieht's noch beim QMX aus, der hat bei dem Zweiton-Signal um 40 dB Geräuschabstand. Man sieht auch gut, dass das 300Hz / 1900Hz Signal an der Grenze der 90°-Filter liegt, die Seitenbandunterdrückung ist deutlich schwächer als bei 600Hz / 1kHz. Mal sehen, ob die 101-Things-Leute da noch ran kommen. Oder mal selber was probieren.
Wulf D. schrieb: > Man sieht auch gut, dass das 300Hz / 1900Hz Signal an der Grenze der > 90°-Filter liegt, die Seitenbandunterdrückung ist deutlich schwächer als > bei 600Hz / 1kHz. Ich vermute, dass sie genau deshalb auch diese Kombi gewählt haben.
Jörg W. schrieb: > Ich vermute, dass sie genau deshalb auch diese Kombi gewählt haben. Wahrscheinlich. Ein ziemlich schmales Band. Nehme an, dass sich der QMX wesentlich besser als der uSDX anhören wird. Nach den Spektren sollte es 20dB weniger Geräusch geben.
Jörg W. schrieb: > Vielleicht bin ich ja bei guten Bedingungen auch mal in Twente zu hören > und kann dort mitschneiden. Zumindest jetzt abends auf 40 m keine Chance. Mein CW-Signal höre ich bei hinreichend schmalbandigem Filter gerade mal so, da braucht man kein SSB zu versuchen. Vielleicht passt es ja tagsüber auf 20 m besser.
Auf 80m soll es Abends z.Z. auch gut funktionieren, falls man eine passende Antenne hat.
Nach Twente komme ich nicht. Also alternativer Aufbau: senden mit der Antenne auf dem Dach, Empfang mit einem TH-F7 im Wohnzimmer, dort vom Lautsprecher aus mit dem Laptop mitgeschnitten. Die Rauschglocke am Anfang ist ein sehr stark verstärktes Eingangsrauschen der NF, das dann durch das Einsetzen der NF-AGC im QMX zurückgeht, sowie das erste Mal auf das Mikrofon gesprochen wird.
Jörg W. schrieb: > Nach Twente komme ich nicht. Hab’s heute Nacht mit dem uSDX auf 80m probiert, da kam nur ganz schwach das CW Signal an. Der Twente Signalpegel hat sich nicht gerührt. Heute Morgen ca 9:00 Uhr kam USB auf 20m an (10dB über Rauschpegel), leider vergaß ich aufzuzeichnen. Eine 1/2h Stunde später ging nichts mehr, auch kein CW. Wie auch immer, lokal gemessen hatte der uSDX viel Klirr und Geräusch. Bei QMX klirrt es subjektiv viel weniger. Das Geräusch könnte von zu wenig RX-Pegel kommen. Und das Mikrofon hat vermutlich zu viel Pegel bzw die AGC ist etwas langsam. Gut, stört die Verständlichkeit nicht im geringsten.
Wulf D. schrieb: > Und das Mikrofon hat vermutlich zu viel Pegel bzw die AGC ist etwas > langsam. Das Mikrofon ist einfach nur eine Elektretkapsel aus der Bastelkiste, ohne irgendwelche Gehäuse oder Windschutz. Den Pegel / AGC habe ich notdürftig mit dem Terminalprogramm justiert. Wenn man ständig SSB machen möchte, würde man sich wohl was besseres leisten.
Ich hab heute den polaren Modulator mit 48kSps über den QO-100 ausprobiert. die Beispiele auf der Webseite https://dl0tz.de/polar/index.html#Messungen sind bisher mit 16kSps. Der Pegel könnte etwas höher sein. Ich hab das Gefühl dass das vor einem Jahr noch etwas mehr war. Vielleicht gammelt ein Stecker oder das Kabel saugt Wasser... Was man sieht ist dass andere ein wesentlich "rechteckigeres" Spektrum haben. Ich hab schon ein 2poliges Hochpassfilter mit 2kHz Eckfrequenz um die Tiefen nach unten zu drücken. Es scheint so dass da bei den meisten TRX noch viel mehr an Sprach-DSP gemacht wird. Ich versuche nächste Woche über Arbeitskollegen das Spektrum mit einem professionellen Speki aufnehmen zu können.
:
Bearbeitet durch User
Hört sich gar nicht so übel an. Bist gerade 10 dB über dem Rauschpegel, da kann man natürlich kein Geräusch beurteilen. Wenn du Spektren messen willst, wären die Zweitöne mindestens so interessant wie Sprache als Modulationssignal. Mir ging es in dem Thread erst mal über die erreichbare Qualität der polaren Modulation und auf was man achten muss. In der Funkpraxis mag ein Präprozessing des Sprachsignals eine wichtige Rolle spielen. In Sandras Link auf die 101-things-Untersuchungen nimmt die Audioverarbeitung auch größeren Raum ein. Aus meiner Sicht schon Feintuning, zunächst sollten Klirr und Interferenzen im grünen Bereich sein. Übrigens, nutzt du Parabolantennen? Die Frequenzachse sieht nach X-Band aus.
Wulf D. schrieb: > In Sandras Link auf die 101-things-Untersuchungen nimmt > die Audioverarbeitung auch größeren Raum ein. Das muss ich bei Gelegenheit durcharbeiten. Zur Zeit ist mein Signal unnötig Basslastig, aber einfach einen noch steileren Hochpass über den Sprachbereich legen macht das Signal nur schlechter. Und auch meine AGC (automatic gain control) für den Mikrofonpegel funktioniert nicht gut. > Wenn du Spektren messen willst, wären die Zweitöne mindestens so > interessant wie Sprache als Modulationssignal. Ich hatte vor CW, Sprachsignal und ein 3-Ton Signal zu messen. Ein dritter Ton mit 20dB weniger Pegel sorgt dafür dass ich im IQ-Signal keine Nulldurchgänge habe sondern die Amplitude nur auf 1/10 des Maximalpegels runter geht. Damit will ich sehen wie hoch die Probleme der Modulation sind ohne das Nulldurchgangs-Problem. Das ist bei Polarer Modulation nicht zu vermeiden. Ist das für dich ok? Oder bestehst du auf einem 2-Ton signal? Das müsste ich noch die IQ-Tabelle mit Octave erzeugen. > Die Frequenzachse sieht nach X-Band aus. Der Uplink zum QO-100 ist bei 2,4GHz, auf der Frequenz erzeuge ich das Signal mit ca. 0dBm und schicke es dann in eine PA die ca. 10W draus macht. Der Satellit schickt das Signal bei ca. 10GHz wieder runter. Das Video ist von einem WebSDR der in England steht: https://eshail.batc.org.uk/nb/ Das erklärt die Frequenzachse bei ca. 10 GHz. Es wäre interessant einen Empfänger für die 2,4GHz zu haben, dann könnte ich es ein paar Meter neben der Antenne selber empfangen und mit mehr als den 10dB SNR hier rein stellen. Hab ich (derzeit) aber nicht.
:
Bearbeitet durch User
Georg S. schrieb: > Damit will ich sehen wie hoch die Probleme > der Modulation sind ohne das Nulldurchgangs-Problem. Das ist bei Polarer > Modulation nicht zu vermeiden. > Ist das für dich ok? Ja klar, man sieht so oder so die Signalqualität innerhalb des Bands, wenn man den Span des Analyzers und dessen Bandbreite bei dieser Messung nicht zu groß wählt. Das mit den Nulldurchgängen kapiere ich zwar nicht, aber egal. > >> Die Frequenzachse sieht nach X-Band aus. > Der Satellit schickt das Signal bei ca. 10GHz wieder runter. Das Video > ist von einem WebSDR der in England steht: > https://eshail.batc.org.uk/nb/ Spannende Sache, hatte ich zuvor noch nie von gehört.
Hier ein paar Spektren. Der Spectrum Analyzer den ich hatte ging nur bis 1,5GHz, deswegen habe ich eine Frequenz im 23cm Band genommen obwohl mich im wesentlichen der Bereich bei 2,4GHz interessiert. Beim 3-Ton Signal (2-Ton 1000/1500Hz plus ein dritter Ton mit 500Hz bei -20db) hab ich mit dem Marker das rechte Intermod-Produkt genommen weil das linke bei ca. -20dB ja mit Absicht im Signal war. Die Nebenlinie bei 48kHz (=AM/PM Updatefrequenz) ist relativ stark. Und beim SSB Audiosignal hat man das Gefühl einen Breitband-Rauschgenerator zu haben. Vielleicht sind solche Chips wie der ADF4351 einfach nicht besser.
:
Bearbeitet durch User
Wegen dem 3 Ton Signal: hier ist das IQ-Diagramm. Die Töne bei 1000 und 1500Hz machen in dem Diagramm 2 bzw. 3 Umdrehungen. Um den Nulldurchgang des 2-Ton Signals zu vermeiden ist ein dritter Ton mit 500Hz dazu genommen (d.h. 1 Umdrehung) der den Nulldurchgang und den Damit verbundenen 180° Sprung in der Phase vermeidet. Ich wollte mit dem Signal einfach die anderen Probleme testen die der Signalgenerator hat, v.a. Zeitverschiebung zwischen dem AM und dem PM Signal.
Georg S. schrieb: ..... > Vielleicht sind solche Chips wie der ADF4351 einfach nicht > besser. Vom Rauschen her schafft man damit die -60 dBc im Nachbarkanal die man z.B. für das ACP von TETRA braucht. Gruss D.W.
Falls ich die Spektren richtig zuordne und deute, sehe ich um 20dB Seitenbandunterdrückung beim Audio- und 35dB beim Dreiton- Signal, 30dB Dämpfung der Interferenzen und Klirr und 40dB Dämpfung der Abtast-Artefakte. Nehme an, beim Audiosignal verfälschen Messfehler das Bild. Das liegt alles im Rahmen des bisher gesehenen. Nicht wirklich gut im Vergleich zum I-Q-Mischer. Aber auch nicht schlechter als beispielsweise der QMX oder meine Simulations-Versuche. Frage mich noch immer wo das Geräusch her kommt. So langsam glaube ich, dass es Artefakte aus der begrenzt schnellen Steuerung von Phase und Amplitude sind. Obwohl du mit 48kHz hier schon extrem schnell bist. Aber vielleicht kommen NCO (ADF4351) und/oder die steuerbare Amplitudendämpfung (PE4302) nicht mit? Oder ist die Amplitudensteuerung mit 6 Bit zu grob? Die ganze Sache müsste doch eigentlich in einer Simulation nachweisbar sein.
> Vom Rauschen her schafft man damit die -60 dBc im Nachbarkanal die man > z.B. für das ACP von TETRA braucht. Hmm. Dann muss ich bei mir nochmal nach der fehlenden Signalqualität suchen. Bei dem Bild mit dem CW Träger sieht man dass der Rauschgrund bei ca. 60dBc gegenüber dem CW-Signal liegt, bei einer RBW von 30Hz. Das wären auf 30kHz Kanalbandbreite umgerechnet gerade mal -30dBc Nachbarkanalunterdrückung. (Tetra hat 25-150kHz Bandbreite). Da fehlen also ca. 30dB
Habe noch ein wenig in der Simulation optimiert und jetzt 40dB sowohl bei Seitenbandunterdrückung als auch Geräusch erreicht. Die letzten 10dB waren in der Interpolation der Amplituden- und Phasensamples auf die höhere Trägerfrequenz-Rate vergraben. Das hat für eine reale Implementierung wenig Bedeutung, da dort eine Interpolation verzichtbar ist. Aber vielleicht trotzdem interessant für Georg S., die 48kHz sind vielleicht auch durch Interpolation entstanden. Der Fehler wurde durch das wellige Interpolationsfilter eingebracht. Habe der Bequemlichkeit halber die Octave-Funktion
1 | datainterpol = interp (data, faktor); |
benutzt, die da gleich mit filtert. Das verschlechtert das Ergebnis der in dieser Hinsicht sehr empfindlichen polaren Modulation. Statt der function einfach die samples vervielfacht, ganz ohne Filter. Das brachte schon mal 7 dB geringeres Geräusch. Anschließend mit einem gleitenden Mittelwertfilter ganz leicht die Kanten geglättet, brachte nochmal 3 dB. Der SSB-modulierte / demodulierte Audio-Ausschnitt ist nun nicht mehr vom Original zu unterscheiden. Anbei Spektren der Simulation vom Zweitonsignal und Audiosignal. Außerdem drei verschiedene Näherungsformeln für den atan2(y,x) getestet. Zwei waren unbrauchbar, eine genau so gut wie die Library-Funktion. Eine ungeeignete Näherung produziert natürlich auch jede Menge Geräusch. Im Attachment die gute Näherung als Matlab-Code. Wieviel Rechenzeit die als C-Code gegenüber der Lib einspart wäre zu testen. Die Simulation ist nun ausgereizt, mal sehen ob sich das Vorgehen in eine reale Hard- und SW übertragen läßt.
Wulf D. schrieb: > vielleicht > kommen NCO (ADF4351) und/oder die steuerbare Amplitudendämpfung (PE4302) > nicht mit? der PE4302 ist eher zu schnell. Einregelzeit auf die neue Amplitude ca. 1us laut Datenblatt. das gibt hochfrequenten Splatter. Die FM des ADF4351 könnte die Crux sein. Ich wüsste nicht wie ich nachmessen könnte wie gut bzw. schnell er den Vorgeben für die PM folgt.
Georg S. schrieb: > Die FM des > ADF4351 könnte die Crux sein. Ich wüsste nicht wie ich nachmessen könnte > wie gut bzw. schnell er den Vorgeben für die PM folgt. Da fällt mir spontan auch nichts ein. Evtl. indirekt, also nur FM modulieren und das Ergebnis über einem vertrauenswürdigen Empfänger analysieren. Habe gesehen, dass der PE4302 nur 6 Bit hat. Könnte mal in meiner Simu die Amplitude auf 6 Bit quantisieren und schauen ob‘s schlechter wird.
Zur Zeit mache ich mir mehr Sorgen um den Rauschfuß des ADF4351. Ich hab innerhalb des SSB Signals gerade mal 35-40dB mehr Leistungsdichte als außerhalb. Dieses Rauschen ist auf meiner eigenen Platine (4-Lagig, jeder Vcc Pin hat seinen eigenen L/C Filter) gleich stark wie auf der Aliexpress-ADF4351-Eval-Platine.
:
Bearbeitet durch User
Georg S. schrieb: > Zur Zeit mache ich mir mehr Sorgen um den Rauschfuß des ADF4351. Ich hab > innerhalb des SSB Signals gerade mal 35-40dB mehr Leistungsdichte als > außerhalb. So ganz verstehe ich das nicht: im deinem Spektrum vom CW-Signal sieht es eher nach 60dB aus. Es sei denn, du berücksichtigst die vier Spices drumrum, wo auch immer die her kommen. Wären noch immer 50dB. Die Umrechnung oben im Thread auf -30dBc konnte ich nicht nachvollziehen. Kenne mich diesbezüglich aber auch nicht aus. Wie auch immer, besser als 40dB Geräuschdämpfung konnte ich in meiner ziemlich idealen SSB-Simulation auch nicht erzielen. Interessehalber die Magnitude in der Simu auf 4 Bit quantisiert. Auf das Zweitonsignal hat das keinerlei Einfluss. Beim realen Audio sieht es anders aus. Rauschanstieg und schlechtere Seitenkanalunterdrückung. Auch klingt das Audio rauer. Beides im Attachment, demoduliert ohne- bzw mit 4Bit- Quantisierung.
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.






























