| 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

Software Defined Radio
  •  
 1 2 3 4 5 6
 1 2 3 4 5 6
05.01.18 21:34
HB9 

WGF-Premiumnutzer

05.01.18 21:34
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

die wilden Schwingungen sind jetzt beseitigt, somit wartet die Hardware nur noch auf den neuen DDS-Chip, der ist noch auf dem Anflug.

Auf der Software-Seite habe ich einen ersten Versuch mit FFT für eine Panorama-Anzeige gemacht, das sieht vielversprechend aus. Die Rechenleistung reicht bei 1024 Punkten (ergibt eine Frequenzauflösung von 2kHz) für über 10 Updates pro Sekunde und ist somit voll echtzeitfähig. Der sinnvoll anzeigbare Frequenzbereich wird durch das ZF-Filter definiert und beträgt ca. 250kHz. Der Frequenzgang des ZF-Filters kann in der Anzeige korrigiert werden, indem er einmalig ausgemessen und als Referenz abgelegt wird.
Für eine saubere Darstellung braucht es allerdings noch eine "Fensterfunktion", damit die FFT korrekt wird, der zusätzliche Rechenaufwand hält sich dabei in Grenzen. Weiter kann man mehrere FFT mitteln, um das Rauschen zu reduzieren, sowie simuliertes "Nachleuchten", da gibt es noch eine grosse Spielwiese... Hier macht sich die Digitaltechnik bezahlt, analog war eine Panoramada-Anzeige ein schon fast unbezahlbarer Luxus.

Gruss HB9

!
!!! Photos, Graphiken nur über die Upload-Option des Forums, KEINE FREMD-LINKS.    

!!! Keine Komplett-Schaltbilder, auf denen Urheberrechte Anderer liegen!

Nicht nur den neuesten Beitrag eines Threads lesen.

Keine Fotos, auf denen Personen erkennbar sind, ohne deren schriftliche Zustimmung.
07.01.18 17:23
HB9 

WGF-Premiumnutzer

07.01.18 17:23
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

die Software hat Fortschritte gemacht, die FFT ist jetzt fertig, inklusive simuliertem Nachleuchten. Die Frequenzauflösung beträgt ca. 1kHz (1024 Samples bei 1MHz Samplingfrequenz). Die Berechnung der FFT ist so schnell, dass aus 16 FFT gemittelt werden kann, was das Rauschen stark reduziert, und trotzdem sind ca. 4 Updates pro Sekunde möglich, die Beschränkung liegt bei der Anzeige. Weiter gibt es eine Cursor-Funktion, wo man mit dem Drehgeber einen Cursor im Spektrum verschieben kann, und durch Tastendruck wird der Empfänger auf die Cursor-Frequenz abgestimmt, eine ganz praktische Sache bei der Sendersuche.
Weiter sieht man bei Radio China international auf KW, wie dieser Sender richtig breitbandig sendet, hier hat man bei einer ZF-Bandbreite von 20kHz Hifi-Ton, schon fast UKW-Qualität, dafür braucht er Platz für zwei Sender, aber auf KW kann man sich das leisten...

Hier noch ein Bild des Panorama-Bildschirms. Die rote Linie ist die eingestellte Empfangsfrequenz, die grüne der Cursor. Eingestellt ist der Sender Europa auf 183kHz (hier ist die Modulation durch das farbige "Nachleuchten" der Seitenbänder sichtbar), schön sichtbar sind die Träger auf 198kHz (BBC), 216kHz (Monte Carlo), 225kHz (Polen, schwach) und 234kHz (Cursor, Luxemburg), sowie auf der linken Seite ansatzweise 171kHz (Marokko), 162kHz (Allouis) und 153kHz (Rumänien). Danach folgen die Steuersender und ganz links auf 100kHz ein Störer.



Gruss HB9

Datei-Anhänge
P1020076.jpg P1020076.jpg (24x)

Mime-Type: image/jpeg, 62 kB

14.01.18 17:50
HB9 

WGF-Premiumnutzer

14.01.18 17:50
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

hier das aktualisierte Blockschaltbild. Im Software-Teil hat sich bei der Signalverarbeitung nichts geändert, während die Hardware um eine weitere Misch- und ZF-Stufe zum Dreifachsuper erweitert wurde. Das Blockschema ist hier angehängt.

Das Antennensignal gelangt als erstes auf einen in 5dB-Schritten schaltbaren Abschwächer auf die umschaltbaren HF-Filter, welche für die Spiegelfrequenzunterdrückung und Verbesserung des Grosssignalverhaltens sorgen. Hier sind noch ein paar Versuche angesagt, um den besten Kompromiss zwischen Anzahl Filter und Empfangsqualität zu finden.
Nach den Filtern kommt ein abschaltbarer HF-Verstärker zur Erhöhung der Empfindlichkeit, vor allem bei Verwendung von kleinen Antennen oder höheren Frequenzen, wo der Störpegel kleiner ist.

In der ersten Mischstufe wird das Eingangssignal mit einem einstellbaren DDS-Oszillator auf die 1. ZF von 33.25MHz gemischt. Hier gibt es zwei Fälle: für den Lang- bis Kurzwellenbereich (0..30MHz) wird 'hochgemischt' und die Oszillatorfrequenz liegt immer über der Eingangsfrequenz. Weiter ist auch noch das 6m-Amateurfunkband (50..52MHz) vorgesehen, hier wird 'runtergemischt' und die Oszillatorfrequenz liegt unterhalb der Empfangsfrequenz (also Empfang der Spiegelfrequenz), da der DDS-Oszillator nur bis etwa 70MHz brauchbar ist. Das muss in der Software beachtet werden, da so das untere mit dem oberen Seitenband vertauscht wird.

Nach dem Mischer folgt der 1. ZF-Verstärker, der im Wesentlichen die Verluste des passiven Mischers kompensiert und das ZF-Signal mit einer Breite von ca. 2MHz vorfiltert, so dass es beim 2. Mischer keinen Spiegelfrequenzempfang geben kann.

Der 2. Mischer hat einen Quarzoszillator mit fix 30MHz und setzt somit auf die 2. ZF von 3.25MHz um, die mit einer Bandbreite von ca. 200kHz gefiltert und auf den für den ADC notwendigen Pegel verstärkt wird. Durch die Samplingfrequenz von 1MHz 'sieht' der Softwareteil eine ZF von 250kHz durch das Aliasing, die dann digital gefiltert und demoduliert wird.

Durch die Wahl der Frequenzen kommt man mit einem einzigen (genauen) 30MHz-Quarzoszillator aus, der auch als Referenz für den DDS-Oszillator (AD9851) und den Prozessor dient.

Nun müssen noch die Filter, der Eingangsverstärker, Abschwächer und DDS-Oszillator sauber aufgebaut werden, danach bekommt der Prozessor noch eine passende Leiterplatte, damit das Display effizienter angesteuert werden kann, zudem können hier auch die Spannungsregler und Signalanpassungen integriert werden.

Auf der Softwareseite habe ich noch eine Kalibrierfunktion für die Panorama-Anzeige realisiert, damit der Frequenzgang des ZF-Filters 'weggerechnet' wird und so die angezeigten Pegel relativ zueinander stimmen. Weiter habe ich an der Bedienung und Anzeige weiterprogrammiert, die nimmt immer mehr Gestalt an.

Bei Gelegenheit wird noch ein NF-Verstärker mit Klangregler gebaut. Den Klangregler könnte man auch digital realisieren, aber die Bedienung über Potis ist bequemer und die Rechenleistung kann man auch anderweitig brauchen, z.B. für Notchfilter zur Unterdrückung von Pfeiftönen.

Gruss HB9

Datei-Anhänge
Blockschema.pdf Blockschema.pdf (41x)

Mime-Type: application/pdf, 22 kB

14.01.18 20:43
Bernhard45 

WGF-Nutzer Stufe 3

14.01.18 20:43
Bernhard45 

WGF-Nutzer Stufe 3

Re: Software Defined Radio

HB9:

Bei Gelegenheit wird noch ein NF-Verstärker mit Klangregler gebaut. Den Klangregler könnte man auch digital realisieren, aber die Bedienung über Potis ist bequemer und die Rechenleistung kann man auch anderweitig brauchen, z.B. für Notchfilter zur Unterdrückung von Pfeiftönen.

Gruss HB9

Hallo HB9,

finde deine Arbeit toll, komme aber leider wegen eines ähnlichen Projektes nur gelegentlich zum Lesen. Wie sieht es denn mit dem aktuellen Ressourcenverbrauch CPU/MEM-Load auf dem Cortex aus? Ich sehe deinen roten Faden im Projekt und verstehe warum entsprechende Sachen eher in Hardware statt in Software zu realisieren sind. Das ist eine tolle Art die gerade genau im Gegensatz zu meinen Transceiver-Projekt steht. Da versuche ich alles "Software-Defined" as possible zu machen. Irgendwann wird das in einem weiteren Gerät im Direktsampling eines 30 MHz-Bereiches enden, aber da ist noch einiges an Zeit zu investieren und klar ein (kleiner) STM32 ist dann nicht mehr das geeignete Gerät. FPGA grüßt...

Mach weiter so!

Mit freundlichen Gruß
Bernhard

Zuletzt bearbeitet am 14.01.18 21:02

15.01.18 08:19
HB9 

WGF-Premiumnutzer

15.01.18 08:19
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo Bernhard,

die Signalverarbeitung 'frisst' 60% der Rechenleistung, hier gibt es also noch etwas Reserve, wobei eine Erhöhung der Auslastung dazu führt, dass der Display-Update und damit auch die Bedienung langsamer wird. Allerdings gibt es beim Display noch 'stille Reserven', denn jetzt hängt es an der Arduino-Schnittstelle, und dort sind die Pins so 'gut' verteilt, dass die 8 Bits des Datenbusses für das Display von 3 verschiedenen Ports kommen und man so jedes Bit einzeln per Software ausgeben muss. Das wird aber noch geändert. Aber viel mehr als 1MHz Samplingfrequenz liegt nicht drin, ausser man macht grössere Abstriche in der Signalverarbeitung, also schlechtere Filter. Aber genau hier liegt ja die Stärke der digitalen Signalverarbeitung, und eine Samplingfrequenz von 2MHz (mehr schafft der Prozessor sicher nicht) bringt für die analoge Seite auch nicht viel.
Speicher (RAM und Flash) hat es mehr als genug, da ist noch über die Hälfte frei. Mittlerweile habe ich noch ein FRAM spendiert, so dass die Einstellungen nichtflüchtig gespeichert werden können und so beim Ausschalten der Zustand erhalten bleibt, so wie man es sich von einem Radio eigentlich gewöhnt ist. Gegenüber EEPROMs hat das FRAM zwei wesentliche Vorteile: es altert nicht durch die Schreibzugriffe, so dass man es beliebig oft beschreiben kann, und das Schreiben geht genau gleich schnell wie das Lesen, so dass das Speichern der Daten den Prozessor nicht ausbremst und man jede Änderung ohne Nachteile sofort speichern kann.

Ein reiner SDR für Kurzwelle hätte natürlich seinen Reiz, aber bei einer notwendigen Samplingfrequenz von 80MHz oder mehr braucht es ein FPGA für die Vorfilterung und Dezimation der Samples, was die Sache verteuert, ist aber problemlos machbar. Das grössere Problem ist die A/D-Wandlung. Es gibt zwar bezahlbare Wandler mit hervorragenden Eigenschaften, aber der Takt-Jitter ist ein grosses Problem, die Qualitätsanforderungen an das Taktsignal steigen proportiional mit der Samplingfrequenz. So wird das Intermodulationsproblem einfach vom Mischer zum A/D-Wandler verschoben. Ein analoges Frontend mit Vorverstärker, Abschwächer und Filter braucht man aber trotzdem noch, man spart sich aber den Mischer samt Oszillator.

Noch zu meinem Empfänger: Auf der analogen Seite ginge auch ein Einfach-Super. Ich habe den Doppelsuper gewählt, weil man so eine erste hohe ZF wählen kann und damit eingangsseitig breitbandige Filter verwendet werden können, die nicht abgestimmt werden müssen. Bei einer niedrigen ZF geht das mit vertretbarem Aufwand nicht mehr, da die Filter zu steilflankig sein müssen und auch die Anzahl steigt entsprechend an. Andererseits werden die Daten vom A/D-Wandler mit höherer Frequenz immer schlechter, so dass dieser eine Obergrenze setzt. Ein schmalbandiges Anti-Aliasing-Filter ist für tiefere Frequenzen ebenfalls einfacher.

Gruss HB9

04.02.18 15:16
HB9 

WGF-Premiumnutzer

04.02.18 15:16
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

es geht weiter. Hier stelle ich das HF-Frontend vor. Es besteht aus diversen umschaltbaren Hoch- und Tiefpässen und einem Vorverstärker, so dass keine Spiegelfrequenzen empfangen werden und auch durch Unterdrückung starker Ausserbandsignale die Grosssignalfestigkeit verbessert wird. Das Schaltbild ist angehängt.

Zur Funktion: Das Antennensignal von K1 gelangt als erstes auf die beiden abschaltbaren Abschwächer mit 20dB und 5dB, um übermässig starke Signale abzuschwächen. Die Abschwächer sind so dimensioniert, dass die Impedanz von 50 Ohm am Ein- und Ausgang erhalten bleibt, solange beide Seiten mit 50 Ohm abgeschlossen sind.
Nach diesen Abschwächern folgt mit Relais Re7 die Wahl zwischen 0..30MHz (gezeichnete Schalterstellung) oder 50..55MHz (6m-Amateurband). Im Fall des 6m-Bandes sorgt der elliptische Tiefpass aus L14 und L15 mit Umgebung für eine Begrenzung auf ca. 60MHz nach oben und der anschliessende Hochpass mit L16 und L17 für die Begrenzung nach unten auf ca. 45MHz. Über den 2. Schalter Re7B gelangt das Signal auf den mit Relais Re1 abschaltbaren Vorverstärker aus T1 und T2 und danach über den mit Re3 zuschaltbaren Abschwächer 10dB zum Mischer.
Für den Bereich 0..30MHz ist als erstes der Tiefpass 30MHz mit L10 und L11 im Signalpfad, der die Spiegelfrequenz in den oberen KW-Bereichen unterdrückt. Da die ZF mit 33.25MHz hoch ist, ist die Spiegelfrequenz entsprechend hoch, so das ein recht einfaches Filter genügt. Da der Diodenmischer eine gute Unterdrückung der ZF hat und auf 33.25MHz auch keine starken Sender arbeiten, gibt es keine Probleme mit ZF-Durchschlägen. Falls doch, kann man durch Parallelschalten eines passenden Kondensators zu L10 oder L11 einen Sperrkreis für die ZF realisieren (dann wird das Filter elliptisch).
Nach dem 30MHz-Tiefpass folgt mit Relais Re5 wählbar ein Hoch- oder Tiefpass von 2MHz, um zwischen dem Bereich 0..2MHz oder 2..30MHz umzuschalten. Daran anschliessend folgt dasselbe mit einer Eckfrequenz von 8MHz (mit Re6 umschaltbar), wobei hier der Tiefpass als elliptisches Filter realisiert ist, damit die Flanke steiler wird und so die starken Rundfunksender vom 31m-Band ausreichend gedämpft werden. Am Schluss folgt noch ein mit Re8 zuschaltbarer Hochpass mit einer Eckfrequenz von 13MHz, um allfällige Probleme mit starken Rundfunksendern vom 31m-Band in den höheren KW-Bereichen zu vermeiden. Dieses Filter ist nicht zwingend erforderlich.

Somit ergeben sich folgende Bereiche:
0..2MHz: alle Relais abgefallen (wie gezeichnet)
2..8MHz: Re5 ein, Re6 und Re8 aus
8..30MHz: Re5 und Re6 ein, Re8 aus
14..30MHz: Re5, Re6 und Re8 ein

Der Vorverstärker mit T1 und T2 wurde auf Rauscharmut und Grosssignalfestigkeit optimiert. T1 arbeitet dabei in Basisschaltung und T2 als Emitterfolger zur Impedanzanpassung. Da die Eingangsimpedanz von T1 mit ca. 10 Ohm sehr niedrig ist, wird mit dem Breitband-Trafo L1 (2:1) die Impedanz auf ca. 50 Ohm angepasst. Dieser Trafo wird auf einen Doppelloch- oder Ringkern passenden Materials (z.B. K1 von Epcos) gewickelt. Die Anzahl Windungen richtet sich nach dem Kern und dem gewünschten Frequenzbereich. Mit dem Doppellochkern von Epcos und 2*2Windungen ergibt sich ein nutzbarer Frequenzbereich von 400kHz..60MHz. Wer lieber langwellig unterwegs ist, sollte somit etwas mehr Windungen spendieren, was aber auf die obere Grenzfrequenz geht. Ohne Trafo habe ich einen fast geraden Frequenzgang bis ca. 150MHz gemessen, nicht schlecht für eine so einfache Schaltung. Allerdings ist noch anzumerken, dass diese Transistoren sehr potent sind und gerne UHF-Schwingungen erzeugen, deshalb sind die Leitungen so kurz wie möglich zu halten. Schwingungen erkennt man daran, dass der Stromverbrauch ändert, wenn man einen Transistor mit dem Finger berührt.
Der Verstärker hat eine Verstärkung von ca. 25dB.

Der Grund, warum der 10dB-Abschwächer hinter dem Verstärker liegt, ist die Optimierung des Rauschabstandes. Hat man einen schwachen Sender in unmittelbarer Nähe eine starken, besteht beim Einschalten des Vorverstärkers die Gefahr, dass man den A/D-Wandler übersteuert, während ohne Vorverstärker der Sender im Rauschen untergeht. Durch den Abschwächer hinter dem Vorverstärker kann die Verstärkung ohne Verschlechterung des Rauschabstandes verringert werden.

Mit dem 5dB-Abschwächer kann man Intermodulation leicht feststellen: Sinkt beim Einschalten die Amplitude wesentlich mehr als 5dB ab, liegt Übersteuerung oder Intermodulation vor, bei 5dB Abschwächung dagegen ein 'echter' Sender oder eine Nebenempfangsstelle.

Als Nächstes folgt die definitive Verschaltung des Displays mit dem Prozessor, die Ansteuerung der Relais, die Stromversorgung und der NF-Verstärker.

Gruss HB9

Zuletzt bearbeitet am 04.02.18 15:20

Datei-Anhänge
HF Frontend Schema.pdf HF Frontend Schema.pdf (62x)

Mime-Type: application/pdf, 34 kB

11.02.18 21:04
HB9 

WGF-Premiumnutzer

11.02.18 21:04
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

nach der Hardware vom letzten Beitrag geht es jetzt mit Software weiter. Hier noch als Ergänzung ein Bild des aktuellen Versuchsaufbaus:


Neu gibt es ein einstellbares Notchfilter, um lästige Pfeiftöne oder benachbarte CW-Stationen auszufiltern. Neben der Frequenz ist auch die Bandbreite einstellbar. Im Prinzip könnte man das mit entsprechenden Parametern mit dem bereits implementierten BiQuad-Filter realisieren. Das hat aber 2 gravierende Nachteile: die Bandbreite ist frequenzabhängig und die Parameterwerte haben keinen einfachen Zusammenhang mit der Frequenz. Deshalb wählte ich ein geregeltes System, das Blockschaltbild ist als PDF angehängt. Das Prinzip ist simpel: Ein Oszillator, der auf der Frequenz des zu unterdrückenden Signals schwingt, wird in Amplitude und Phase so geregelt, dass das Signal genau gegenphasig zum Störsignal ist. Dieses Signal wird zum NF-Signal addiert, und damit ist die Störung weg.
Die Realisierung ist wie folgt (siehe PDF):

Ganz links erfolgt die Subtraktion des Kompensationssignals (kommt von ganz rechts) vom Eingangssignal, das Resultat ist einerseits das gefilterte Ausgangssignal, andererseits geht es auf einen I/Q-Mischer, der mit den beiden Multiplikationen mit dem Oszillatorsignal (0 und 90 Grad) gemacht wird. So bekommt man einerseits ein konstantes Signal (wenn die Oszillatorfrequenz genau der Störfrequenz entspricht) und ein Signal mit der doppelten Frequenz, jeweils um 90 Grad gegeneinander verschoben. Der folgende Skalierungsfaktor K bestimmt die Regelgeschwindigkeit der Phasenlage und damit die Filterbandbreite (hohe Verstärkung = schnelle Regelung und damit hohe Bandbreite). Danach folgt ein Integrator, der die höherfrequenten Anteile unterdrückt und gleichzeitig für DC eine unendliche Verstärkung bedeutet, so dass der Phasen- und Amplitudenfehler Null und damit die Kompensation perfekt wird. Die anschliessende Multiplikation mit den Oszillatorsignalen erzeugt sinusförmige Signale, deren Amplitude den Werten der Integratoren entspricht, die Phasen sind 90 Grad gegeneinander verschoben. Durch die anschliessende Addition ergibt sich das gewünschte Kompensationssignal, dessen Amplitude und Phase durch die beiden Integratorwerte bestimmt wird.
Bei der Anwendung ist noch eine Tücke des Aliasings zu beachten: durch die eingangsseitige Multiplikation entsteht ein Signal mit der doppelten Oszillatorfrequenz, daher muss die maximale Filterfrequenz kleiner als 1/4 der Samplingfrequenz sein, was man gerne vergisst, weil es nicht offensichtlich ist.
Die Praxis zeigt ein hervorragendes Verhalten. Die Dämpfung ist erwartungsgemäss 100%, und da es sehr schmalbandig ist, bemerkt man es auch bei Musiksignalen kaum. CW-Signale kann man hervorragend unterdrücken, dann hört man nur noch schwach die Knackgeräusche während dem Tasten. Bei FSK-Signalen (z.B. die Baken auf dem 10m-Band) kann man gut den 'Space'-Ton ausblenden und hat so ein normales Morsesignal.
Im Prinzip kann man das Filter nach dem Prinzip des Synchrondemodulators noch erweitern, so dass es sich in Grenzen selbständig auf die Störfrequenz einstellt. Dazu kann man mit einer PLL die Oszillatorfrequenz in Grenzen so nachregeln, dass einer der beiden Integratoren Null wird. Das probiere ich bei Gelegenheit noch aus.

Für eine einfache Einstellung habe ich eine Funktion mit NF-Spektrumanzeige gemacht, da sieht man die Störung als Nadel. Die Notchfrequenz wird als Cursor dargestellt, den man mit dem Drehgeber verschieben kann, siehe Bild:



Hier sieht man auch schön, dass sich der Sender (Radio Romania International auf KW) mit einer NF-Bandbreite von 10kHz ordentlich breit macht. Die Farben im Spektrum sind für das simulierte Nachleuchten: von weiss über gelb, orange, rot nach braun verschwinden die Kurven in 8 Stufen.

Hier noch ein paar Schirmbilder:

Panoramadarstellung: Durch die Kalibration der Amplitude wird die analoge Filterkurve 'auf dem Kopf' als verbogene Nullinie dargestellt, da durch die reduzierte Verstärkung an den Rändern durch die Korrektur der gemittelte Rauschpegel höher wird. In der Mitte ist derselbe Sender Romania international, man sieht, dass er deutlich breiter als die anderen Sender ist.



Hier noch der Hauptschirm, der die Bedienung aller 'normalen' Funktionen erlaubt. Direkt unter der Frequenzanzeige wird bei FM und Synchron-AM die Frequenzabweichung angezeigt. So kann man z.B. die Frequenz eines AM-Senders exakt einstellen und danach auf SSB wechseln, wenn ein Seitenband gestört ist.


Hier noch die Zusatzfunktionen:


Als Nächstes folgt der Rest der Hardware, damit der Bastelaufbau (endlich) zu einem alltagstauglichen Gerät wird, das dann ausserhalb des Störnebels seine Qualitäten zeigen kann.

Gruss HB9

Zuletzt bearbeitet am 11.02.18 21:14

Datei-Anhänge
Notch.pdf Notch.pdf (22x)

Mime-Type: application/pdf, 12 kB

Hardware.jpg Hardware.jpg (22x)

Mime-Type: image/jpeg, 114 kB

Hauptschirm.jpg Hauptschirm.jpg (21x)

Mime-Type: image/jpeg, 85 kB

NF-Spektrum.jpg NF-Spektrum.jpg (20x)

Mime-Type: image/jpeg, 71 kB

Panorama.jpg Panorama.jpg (20x)

Mime-Type: image/jpeg, 70 kB

Zusatz.jpg Zusatz.jpg (17x)

Mime-Type: image/jpeg, 79 kB

12.02.18 11:25
HB9 

WGF-Premiumnutzer

12.02.18 11:25
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo zusammen,

das Radio kann übrigens auch sehr gut als Spektrum-Analyser genutzt werden, wenn man die Software entsprechend erweitert. Ein Spektrum-Analyser ist ja nichts anderes als ein Empfänger, der über den interessierenden Frequenzbereich abgestimmt und bei jedem Frequenzpunkt die Amplitude gemessen wird. Das kann einerseits ein am Radio angeschlossener PC machen, dann braucht es in der Software nur ein Kommando für die Frequenzeinstellung und eines zum Auslesen des Empfangspegels, andererseits kann das aber auch das Radio selber und wird so zum eigenständigen Gerät, allenfalls mit einem besseren Display, je nach Anforderungen.
Der Frequenzgang direkt am Mischereingang ist dabei sehr flach, und bei Verwendung eines Vorfilters zur Unterdrückung von Aliasing sieht es immer noch gut aus. Wenn man es genau haben will, muss man einmalig den Frequenzgang des Empfängers messen und als Korrekturkurve ablegen, mit der man danach die Messwerte korrigiert.

Für diie Messung von Frequenzgängen kann man zudem einen weiteren DDS-Oszillator spendieren, der von der Software auf die gerade eingestellte Empfangsfrequenz gesetzt wird und als Signalquelle für den Prüfling dient (Tracking- oder Mitlaufgenerator). Diese Funktion habe ich in der Hardware bereits vorgesehen, wobei dieser Generator nur bei Bedarf extern angeschlossen wird und nicht im Gerät eingebaut ist. Für diesen Fall wird die Kalibration besonders einfach: Man verbindet den Generator einfach direkt mit dem Antenneneingang und misst den Frequenzgang, der dann als Korrekturwert gilt. So hat man die Abweichungen vom Generator und Empfänger korrigiert, wo die Abweichungen sind, spielt keine Rolle.

Der Frequenzbereich ist mit ca. 0..60MHz zwar wesentlich kleiner als von einem 'richtigen' Analyser, dafür ist es auch einiges billiger und für die Messung an ZF-Filtern und bis in den KW-Bereich völlig ausreichend.

Gruss HB9

12.02.18 13:13
Bernhard45 

WGF-Nutzer Stufe 3

12.02.18 13:13
Bernhard45 

WGF-Nutzer Stufe 3

Re: Software Defined Radio

Bei meinem STM32F7 SDR habe ich so einen SA auch implementiert. Der Empfänger bietet mir dadurch einen Überblick über zum Beispiel das ganze LW und MW-Band. In der finalen Softwareversion (gibt es soetwas überhaupt?) möchte ich eine zoombare "Live"-Spektrumanzeige über das ganze KW Band haben, so wie es die WebSDR-Software der Uni-Twente macht (http://websdr.ewi.utwente.nl:8901/). Der Prozessor wird dadurch nicht mehr belastet als sonst, an der Anzahl der Abtastpunkte für die grafische Darstellung ändert sich ja nichts. Vielleicht wäre sogar eine Übertragung der Daten über USB an eine externe Software möglich, so könnte man den noch besser aufgelösten Monitor eines PCs nutzen. Zum Beispiel für ein Wasserfalldiagramm etc.

Mit freundlichen Gruß
Bernhard

Zuletzt bearbeitet am 12.02.18 13:18

12.02.18 13:36
HB9 

WGF-Premiumnutzer

12.02.18 13:36
HB9 

WGF-Premiumnutzer

Re: Software Defined Radio

Hallo Bernhard,

die Datenübertragung sollte kein Problem sein, die Datenmenge ist recht bescheiden. Wenn man den gesamten KW-Bereich nimmt (0..30MHz) und eine Frequenzauflösung von 1kHz vorsieht (das gibt eine FFT mit 65536 Punkten, da hat das FPGA etwas zu tun), gibt es 30kByte pro Messung (ein Byte für die Amplitude reicht, das gibt 128dB Dynamik bei einer Auflösung von einem halben dB). Über USB dauert diese Übertragung weniger als 100ms, wenn man die Daten als Block überträgt.

Die Einschränkung liegt in der Datenerfassung, denn eine Panoramadarstellung im laufenden Betrieb geht nur innerhalb der halben Samplingfrequenz, und somit braucht es für das obige Beispiel eine Samplingfrequenz >60MHz, was nur mit einem FPGA möglich ist.

Wenn man den Empfänger nicht zur Demodulation, also zum Empfang eines Senders, braucht, kann man natürlich durch Scannen des Frequenzbereichs die Aktivitäten registrieren, um z.B. die Ausbreitungsbedingungen über den Tag aufzuzeichnen. Diese Daten könnten direkt auf einen USB-Speicher geschrieben werden, so braucht man den PC nur zur Anzeige, aber nicht zur Aufnahme der Daten. Die Hardware dazu ist schon mal vorhanden...

Gruss HB9

 1 2 3 4 5 6
 1 2 3 4 5 6
Floating-Point-Signalprozessoren   Frequenz   Bandbreite   natürlich   Mischer   bearbeitet   Vorwärts-Verstärkungsfaktoren   Synchron-Zweiseitenband-Demodulation   Prozessor   D-Wandler   Spiegelfrequenzunterdrückung   Display   einfach   Samples   zusammen   Software   Defined   braucht   Samplingfrequenz   funktioniert