| 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

Etwas digitale Theorie
  •  
 1
 1
15.08.17 15:08
HB9 

WGF-Premiumnutzer

15.08.17 15:08
HB9 

WGF-Premiumnutzer

Etwas digitale Theorie

Hallo zusammen,

da SDR (Software defined Radio) hier bereits ein Thema ist, möchte ich mit diesem Beitrag etwas Licht in die mysteriösen digitalen Begriffe bringen, so dass möglichst viele verstehen können, was hinter diesen komischen digitalen Dingern steckt.

Zuerst mal zu den Begriffen in der digitalen Welt:

zeitkontinuierlich und zeitdiskret
Ein zeitkontinuierliches Signal y(t) hat zu jedem beliebigen Zeitpunkt t einen definierten Wert y. "Natürliche" Signale sind alle von diesem Typ.
Ein zeitdiskretes Signal z(t) hat nur zu bestimmten Zeitpunkten t = t0 + n * Delta(t) einen definierten Wert z. Typische Vertreter dieser Signale sind die "digitalisierten" Werte in Speichern z.B. von Digital-Speicheroszilloskopen.

abtasten (englisch sampling)
Damit ist gemeint, das zeitkontinuierliche ("analoge") Signal zu genau definierten Zeiten zu messen. Damit die Information nicht verloren geht, müssen die Intervalle zwischen den Abtastungen exakt gleich sein (Abtastzeit t oder Samplingfrequenz 1/t) und die Samplingfrequenz muss höher als der doppelte Wert der höchsten Signalfrequenz sein (Abtasttheorem).

quantisieren
Damit meint man die Abbildung der unendlich vielen analogen Werte eines Signals auf eine begrenzte Zahl von Werten, z.B. bildet der A/D-Wandler eines typischen Oszilloskops den analogen Wertebereich auf 256 verschiedene diskrete Werte ab (8bit-Wandler).

Der häufig als "Digitalisierung" bezeichnete Vorgang, nämlich die Wandlung eines analogen Signals in ein "digitales" Äquivalent, besteht aus den beiden Schritten "Abtastung" und "Quantisierung". Die Quantisierung ist notwendig, weil in der digitalen Welt ein Wert mit einer endlichen Anzahl Bits und damit auch einer endlichen Anzahl verschiedener Werte dargestellt wird, während es in der analogen Welt beliebig viele verschiedene Werte gibt.
Die Abtastung ist notwendig, weil digitale Signalverarbeitung nicht kontinuierlich möglich ist, sondern nur in diskreten Zeitschritten. Der Prozessor liest ja bekanntlich einen oder auch mehrere Eingangswerte, berechnet daraus Ausgangswerte und gibt die aus, und dieser Ablauf ist nicht kontinuierlich, sondern nur in diskreten Zeitschritten möglich.

Die beiden Operationen "Quantisierung" und "Abtastung" macht dabei der Analog/Digital-Wandler. In welcher Reihenfolge die Operationen ausgeführt werden, ist im Prinzip egal, aber da ausser den Flash-Wandlern alle A/D-Wandler zeitdiskret arbeiten, erfolgt die Abtastung vor der Quantisierung. Dabei bestimmt die Abtastfrequenz die maximal verarbeitbare Signalfrequenz (oder Bandbreite) und die Quantisierung bestimmt die mögliche Dynamik und den Signal/Rausch-Abstand des Signals in der digitalen Domäne.

Für die A/D-Wandlung werden hauptsächlich 3 Verfahren angewendet:

- schrittweise Annäherung (successive approximation)
- Sigma/Delta
- Flash-Wandler

Die schrittweilse Annäherung wird am häufigsten eingesetzt und bietet Auflösungen bis etwa 20 Bit und Abtastfrequenzen bis mehrere 100MHz. Die Wandler brauchen ein Taktsignal, pro Taktflanke wird ein Bit bestimmt. Diese Wandler werden überall eingesetzt, wo keine speziellen Anforderungen bestehen oder die Durchlaufzeit trotz hoher Auflösung kurz sein muss.

Die Sigma-Delta-Wandler erzeugen aus dem analogen Signal einen Bitstrom, der mit einem digitalen Tiefpassfilter gefiltert wird. Implizit ist die Samplingfrequenz viel höher als die Frequenz, mit welcher der Wandler Werte liefert, es gibt also Oversampling, was die analoge Seite vereinfacht. Ebenfalls implizit hat der Wandler einen sehr geringen Klirrfaktor und hohe Linearität, daher ist er für Audio- und Messanwendungen beliebt. Die Auflösung (Anzahl Bits) ist nur durch das Digitalfilter bestimmt und kann beliebig hoch sein, wobei hohe Auflösung tiefe Samplingrate bedeutet. Durch das Verfahren gibt es eine recht grosse Durchlaufzeit, so dass der Wandler für Regelschleifen ungeeignet ist.

Die Flash-Wandler sind die schnellsten, aber auch ungenauesten Typen und haben eine niedrige Auflösung (8..10 Bit). Hier gibt es für jeden analogen Eingangswert einen Komparator (also für einen 8Bit-Wandler 256 Komparatoren) und hinter den Komparatoren eine Logik, welche den digitalen Wert aus den Komparatorausgängen bildet. Hier ist kein Taktsignal erforderlich und die Geschwindigkeit hängt nur von der Durchlaufzeit durch die Komparatoren und der digitalen Schaltung ab. Einsatz ist haupfsächlich in besseren Digital-Speicheroszilloskopen, erreichbar sind Abtastfrequenzen von 20GHz.

Kenngrössen von A/D-Wandlern:

Auflösung: Anzahl Quantisierungsschritte in Bits
effektive Anzahl Bits (ENOB): theoretisch notwendige Anzahl Bits, welche dem Signal-/Rauschabstand des Wandlers entsprechen
"no missing code": Qualitätsmerkmal, die Fehler in der Quantisierung sind so klein, dass kein digitaler Wert "übersprungen" wird.
möglicher Signal-Rauschabstand (ca., n ist Anzahl Bits): SNR = 6dB + n * 6dB

Im nächsten Teil folgt etwas Signalverarbeitungstheorie.

Gruss HB9

Wolle, BernhardWGF, joeberesf, RWA, regency, Bernhard45 und wumpus gefällt der Beitrag.
!
!!! Fotos, Grafiken nur über die Upload-Option des Forums, KEINE FREMD-LINKS auf externe Fotos.    

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

Keine Fotos, auf denen Personen erkennbar sind, ohne deren schriftliche Zustimmung.
15.08.17 15:52
HB9 

WGF-Premiumnutzer

15.08.17 15:52
HB9 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Teil 2: Signal-Theorie

Damit bei der "Digitalisierung" keine Information verlorengeht, also das ursprüngliche Signal korrekt rekonstruiert werden kann, müssen zwei Bedingungen erfüllt sein:
1. Sampling-Theorem eingehalten, also Samplingfrequenz grösser als doppelte höchste Signalfreqenz (oder Bandbreite, siehe unten)
2. Quantisierung mit ausreichend viel Bits, damit die Dynamik und der Signal-Rausch-Abstand ausreicht.

Punkt 2 entspricht dem Rausch- und Aussteuerungsproblem in analogen Schaltungen, wo es darum geht, dass das Signal weder im Rauschen versinkt noch Spitzenwerte zu Übersteurung führen. Im Gegensatz zur analogen Übersteuerung, die sehr sanft sein kann, ist die Übersteuerungsgrenze eines A/D-Wandlers "hart", es gibt eine klar definierte Grenze. Weiter bestimmt auch die Linearität des A/D-Wandlers die Verzerrungen und Intermodulationen im System. Eine weitere, häufig vergessene Quelle für Verzerrungen und Intermodulation ist ein "Jittern" des Samplingtakts vom A/D-Wandler, also eine Variation des Abtastzeitpunkts. Diese Problematik steigt proportional mit der abzutastenden Eingangsfrequenz und ist unabhängig von der Samplingfrequenz und ist der Hauptgrund für die viel schlechteren Werte in den Datenblättern bei hohen Eingangsfrequenzen.

Bei Punkt 1 gibt es zwei Fälle zu unterscheiden. Der bekanntere und häufigere Fall ist, dass das analoge Signal ab DC (oder sehr tieffrequent) bis zu einer gewissen Frequenz-Obergrenze genutzt wird (z.B. Audiosignale). In diesem Fall muss die Samplingfrequenz höher als die doppelte Maximalfrequenz sein, wobei die tatsächliche Maximalfrequenz relevant ist, also was nach dem Tiefpassfilter noch vorhanden ist.
Der zweite Fall ist der, dass nur ein gewisser Frequenzbereich interessiert, z.B. beim Digitalisieren der Zwischenfrequenz, hier interessiert nur die ZF-Bandbreite. Hier kann durch passende Wahl der Zwischenfrequenz erreicht werden, dass die Samplingfrequenz nur grösser als die doppelte ZF-Bandbreite sein muss, in der digitalen Wert wird dann die ZF in den Bereich von DC bis zum Wert der ZF-Bandbreite abgebildet. Dazu später mehr.

Oversampling
Damit das Sampling-Theorem bei vertretbarem analogen Filteraufwand eingehalten werden kann, braucht es recht hohe Samplingfrequenzen. Da aber nicht der gesamte so abgebildete Frequenzbereich interessiert, wird anschliessend mit einem digitalen Tiefpass der nicht interessierende Frequenzbereich ausgefiltert und anschliessend die Samplingfrequenz für die weitere Verarbeitung reduziert. Durch die Tiefpassfilterung wird zudem die effektive Auflösung des Signals erhöht, und zwar ca. 3dB (1/2 Bit) pro Verdoppelung der Samplingfrequenz. Somit kann man also ein Audiosignal (20kHz) mit 800kHz und 8 Bit abtasten, tiefpassfiltern und danach die Samplingfrequenz auf 1/16 reduzieren, was dann 2 zusätzliche Bits bringt, das Signal hat dann eine effektive Auflösung von 10 Bits, was 12dB mehr Dynamik und Rauschabstand bringt.
Der umgekehrte Weg wird bei der Digital-Analog-Wandlung gemacht: Um den analogen Filteraufwand für die Glättung des Signals vom D/A-Wandler niedrig zu halten, wird die Samplingfrequenz erhöht, indem man zwischen 2 originale Samples Nullwerte einfügt und das so erzeugte digitale Signal tiefpassfiltert, bevor es zum D/A-Wandler kommt. Die bekannteste Anwendung sind die CD-Spieler mit "klassischen" Wandlern.

Die eigentliche Signalverarbeitung erfolgt mit einem digitalen Signalprozessor, das kann ein Mikrocontroller (langsam, billig), DSP (Prozessor mit spezieller Architektur, viel schneller) oder einem FPGA (teuer, aber sehr schnell) sein. Viele heutige Mikrocontroller haben Befehle, welche die digitale Signalverarbeitung beschleunigen.
Die Hauptfunktion in der digitalen Signalverarbeitung ist das Skalarprodukt, also eine Rechnung nach folgendem Muster:
y = a1 * x1 + a2 * x2 + a3 * x3 + ... + an * xn
Dabei sind die "a" Konstanten oder Parameter und die "x" die Eingangsgrössen zu verschiedenen Samplingzeitpunkten und y die Ausgangsgrösse zum aktuellen Samplingzeitpunkt. Diese Operation wird in der DSP-Welt "MAC-Operation" genannt (Multiply an accumulate). Dazu braucht der Prozessor ein Register zum Aufsummieren der Produkte (Akkumulator) sowie einen flotten Multiplizierer. Ein "richtiger" DSP kann dabei im selben Befehl die beiden Operanden für die Multiplikation lesen, das Produkt zum Akkumulator addieren und die Pointer für die Zugriffe auf die Operanden inkrementieren. Ein "normaler" Mikroprozessor braucht dazu 4 Befehle (2 für Lesen der beiden Operanden, einer für die Multiplikation und einer für die Addition). DSP-fähige Mikrocontroller haben Befehle, welche die Multiplikation mit der Addition kombinieren, und mit Einschränkungen können auch 2 Operanden mit einem Befehl gelesen werden, so dass man nur noch 2 Befehle braucht, aber das ist immer noch das Doppelte von einem echten DSP. Allerdings ist ein DSP eher speziell zum Programmieren, wenn man die Stärken auch nutzen will.

Gruss HB9

15.08.17 16:23
HB9 

WGF-Premiumnutzer

15.08.17 16:23
HB9 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Teil 3: digitale Filter

Es gibt hauptsächlich 3 verschiedene Typen von digitalen Filtern: CIC, FIR (finite impulse response) und IIR (infinite impulse response).

Die IIR-Filter haben dasselbe Verhalten wie ihre analogen Kollegen und haben dieselben Kennwerte (Anzahl und Lage der Pole und Nullstellen). Ein Universalfilter zweiter Ordnung kann wie folgt dargestellt werden:

y(n) = a1 * x(n-2) + a2 * x(n-1) + a3 * x(n) + b1 * y(n-2) + b2 * y(n-1)

Dabei sind die "a" und "b" die Filterkoeffizienten, die mit einem Filter-Tool berechnet werden können. Die "x" sind die Eingangswerte zu den entsprechenden Zeitpunkten (x(n) ist das aktuelle Sample, x(n-1) das vorherige, usw.). Die "y" sind die Ausgangswerte, hier sieht man, dass man zur Berechnung neben dem aktuellen Eingangswert noch die Ein- und Ausgangswerte der beiden vorherigen Abtastzeitpunkte braucht. Durch die Einbeziehung alter Ausgangswerte ergibt sich eine Rückkopplung wie in der analogen Welt, welche die Güte beeinflusst und auch zur Instabilität (Schwingen) führen kann. Diese Rückkopplung gibt dem Filter auch den Namen, ohne Rundungsfehler ist die Impulsantwort unendlich lang, weil der Ausgangswert der vorherigen beiden Samples zum Wert des aktuellen Samples beiträgt, genau wie das Ausschwingen eines schwach gedämpften Schwingkreises. Hier ist zu beachten, dass bei unzureichender Rechengenauigkeit durch die Rundungsfehler die Filterkurve bis zur Unbrauchbarkeit verfälscht werden kann.

FIR-Filter können theoretisch auch analog aufgebaut werden, wird aber wegen hohem Aufwand und fragwürdigem Nutzen nicht gemacht. Ein FIR-Filter sieht wie folgt aus:

y(n) = a1 * x(n) + a2 * x(n-1) + a3 * x(n-2) + ... + ak * x(n-k+1)

k ist dabei die Filterordnung, also die Anzahl Filterkonstanten "a", wobei diese Filterordnung nicht mit der Ordnung analoger Filter oder IIR-Filter vergleichbar ist. Da der Ausgangswert nur von Eingangswerten, aber nicht von alten Ausgangswerten abhängt, ist die Impulsantwort endlich und entspricht maximal k Samples, daher der Name "finite impulse response".
FIR-Filter haben einen linearen Phasengang, also eine frequenzunabhängige Verzögerung, was analog nur näherungsweise möglich ist. Es lassen sich alle üblichen Filtertypen realisieren, wobei gegenüber IIR-Filtern der Rechenaufwand viel höher ist. Die Koeffizienten "a" entsprechen dabei der inversen Fourier-Transformation des gewünschten Frequenzgangs. Da diese Transformation für "wünschbare" Filterfunktionen unendlich viele Koeffizienten liefert, muss durch einen geeigneten "Beschiss" die Anzahl Koeffizienten reduziert werden, was "Fensterung" (Windowing) genannt wird und ein Kompromiss zwischen Anzahl Koeffizienten und Abweichung von der gewünschten Filterfunktion bedeutet.

Das CIC-Filter ist eine vereinfachte Version des FIR-Filters, bei dem alle Filterkoeffizienten denselben Wert haben, so muss nicht multipliziert werden. Die Filterkurve ist ein Tiefpass mässiger Qualität. Dieser Filtertyp wird hauptsächlich als Tiefpass nach dem A/D-Wandler eingesetzt, um die Samplingrate zu reduzieren. Durch eine geeignete mathematische Umformung ist es nämlich möglich, dass nur ein Teil des Filters mit der hohen Samplingfrequenz berechnet werden muss, während der Rest mit der tieferen Samplingfrequenz berechnet wird. Ist im Nutzsignalbereich ein "schöner" Frequenzgang erforderlich, muss danach mit einem FIR- oder IIR-Filter der Frequenzgang korrigiert werden.

Vorerst mal genug Theorie, als Nächstes folgen Möglichkeiten für ein SDR-Design.

Im Internet gibt es jede Menge weiterführende Information zu den obigen Themen, die hier nur angeschnitten wurden.

Gruss HB9

Zuletzt bearbeitet am 05.09.17 13:04

16.08.17 13:10
BernhardWGF

nicht registriert

16.08.17 13:10
BernhardWGF

nicht registriert

Re: Etwas digitale Theorie

Dazu ein paar Büchertips von mir:

Wolfgang Heinrich, Signalprozessor PRAKTIKUM, Franzis-Verlag ISBN: 3-7723-4213-2



Aus dem Inhalt:

Grundlagen - Programmierung- Anwendungsbeispiele

- Aufbau und Wirkungsweise digitaler Signalprozessoren
- Digitale Signalverarbeitung im Zeitbereich
- Grundprinzipien eines digitalen Filters
- Adaptive Filter zur Stör- und Rauschunterdrückung
- Programmieren eines Sinusgenerators ( DDS )
- Digitale Signalverabreitung im Frequenzbereich
- Von der diskreten Fouriertransformation zur Spektrumanalyse
- Entwurf und Programmierung digitaler Filter

Das Buch geht die praktische Seite anhand eines DSP von Analog Devices durch (dieser Prozessor ist immer noch bei AD zu bekommen), die Lösungen sind aber auch für andere Systeme übertragbar. Auf der beiliegenden CD sind Programme zum Filterdesign, Simulation, sowie eine Version von Maple V Release 5 zu finden.





Hier ein weiteres sehr interessantes Buch für uns Bastler.

Digitale Filter: Theorie und Praxis mit AVR-Mikrocontrollern, Herrad Schmidt, ISBN: 978-3658035228



Bei Amazon kann man ein Blick ins Buch werfen, deshalb spare ich mir hier die Inhaltsauflistung.

Datei-Anhänge
Buchtip1.jpg Buchtip1.jpg (237x)

Mime-Type: image/jpeg, 113 kB

Buchtipp2.jpg Buchtipp2.jpg (270x)

Mime-Type: image/jpeg, 99 kB

16.08.17 16:40
joeberesf 

WGF-Premiumnutzer

16.08.17 16:40
joeberesf 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Hallo Bernhard,

danke für den Buchtipp.

Hallo HB9,

also da hast Du Dich ja ins Zeug gelegt. Deine kleine Einführung gefällt mir. Teil zwei und Teil drei hat schon einen recht hohen Anspruch für mich. Gerade die digitalen Filtertypen CIC, FIR und IIR sagen mir (noch) nichts und bei meinen derzeitigen Exprimenten mit dem 2560 konzentriere ich mich auf ein stückweises Herantasten. Der Anspruch wächst mit den Anforderungen. Ich merke auch, dass ich mich sehr strukturell mit dem Thema beschäftige. Ich ertappe mich immer wieder, dass ich aus eigenen und externen Codes die interessanten Funktionen (Strukturen) herauskopiere und dann neu nach meinen Berdürfnissen zusammenstelle. Das funktioniert schon ziemlich prima, da fatale Compilerfehler immer weniger vorkommen. Das Problem bei solch einer Herangehensweise ist, Teile der Programmierung werden zwar nach einiger Zeit funktional erkannt, aber solch einen Code selbst zu schreiben überfordert schnell.

Hier exemplarisch dazu das eingesetzte Beispiel im Binatone zur Flankenerfassung. Die do if while- Schleife im loop hätte ich selbst so nicht hinbekommen. Die fest implementierte function pulseIn(); kannte ich noch nicht. Das mein verwendetes T = 10*1e6; den eigentlichen Millivoltmeter loop um 10s verzögert, habe ich nicht gleich erkannt und zeigt anschaulich das Kopierproblem. Also, daher digitale Theorie!

Danke und Gruß

Joerg



Zuletzt bearbeitet am 16.08.17 16:57

27.08.17 18:02
HB9 

WGF-Premiumnutzer

27.08.17 18:02
HB9 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Hallo zusammen,

mit Teil 4 geht es darum, wie ein SDR aussehen kann. Als Basis dient dabei der altbekannte Superhet-Empfänger:



Der Block 'HF' bezeichnet die Vorselektion zur Spiegelfrequenzunterdrückung und eine allfällige HF-Verstärkung. Danach folgt der Mischer, danach der Block 'ZF', hier ist die ZF-Verstärkung, Filterung und allfällige Verstärkungsregelung (AGC) gemeint. Der Demodulator rekonstruiert schliesslich das NF-Signal. So weit nichts Neues.

Das Problem des Spiegelfrequenzempfangs kann man statt mit Filterung auch mit einem Trick lösen, siehe folgendes Bild:



Hier gibt es zwei Mischer, welche mit gegeneinander um 90° phasenverschobenen Oszillatorsignalen gefüttert werden. Die Oszillatorfrequenz entspricht dabei der gewünschten Empfangsfrequenz, die Zwischenfrequenz ist folglich Null. Die beiden ZF.Signale nennt man 'I' für 'in Phase', also mit 0° Oszillatorphase, und 'Q' für 'quadrature', also mit um 90° phasenverschobenen Oszillatorsignal. Durch geeignete Bauart des Demodulators können so alle gängigen Modulationsarten demoduliert werden, uns es gibt keinen Spiegelfrequenzempfang. Für AM-Hüllkurvendemodulation ist die Funktion folgende: NF = (I*I + Q*Q)
Man sieht sofort, dass das analog eine Katastrophe ist, daher wird dieses Konzept analog nicht angewendet, auch der doppelte Aufwand für den ZF-Verstärker spricht nicht dafür.

In der digitalen Welt dagegen ist obige Demodulator-Funktion und auch zwei identische Verarbeitungskanäle kein Problem, daher wird dieses Prinzip angewendet, weil man so das Problem der Spiegelfrequenz los ist. Ein naheliegender Ansatz ist folgender:



Der HF-Teil ist ein Tiefpass zur Verhinderung von Aliasing, zudem passt er das Antennensignal an den A/D-Wandler an. Der Oszillator, die beiden Mischer und die ganze Filterung und Demodulation erfolgt in der digitalen Welt. So verlockend diese Architektur ist, sie hat einen Haken: Schon bei mässig hohen Frequenzen, z.B. KW, gibt es einen enormen Rechenaufwand, da A/D-Wandlung, Mischer, Oszillator und erste Filterstufen vom I- und Q-Pfad eine sehr hohe Samplingfrequenz erfordern, damit es kein Aliasing gibt. Für Kurzwelle (30MHz) bedeutet das eine Samplingfrequenz von mindestens 80MHz, und das schafft auch ein *(N)*er DSP nicht mehr, das können nur noch die Profis. Für tiefe Frequenzen (Langwelle) ist das aber mit 32bit-Mikrocontrollern durchaus machbar und als Einstieg auch lohnend.

Einen naheliegenden Ausweg bietet folgende Architektur, die auch immer wieder für den Selbstbau empfohlen wird, insbesondere mit dem PC und Soundkarte für den digitalen Teil.



Hier erfolgt die Mischung noch analog, erst das tiefpassgefilterte I- und Q-Signal wird digitalisiert. Da diese Signale nur Frequenzen von Null bis zur gewünschten ZF-Bandbreite enthalten, bleibt die Samplingfrequenz niedrig, der Wert wird durch die Qualität der analogen Tiefpässe bestimmt, damit kein Aliasing entsteht. Allerdings hat diese Architektur Schwachstellen: Einerseits muss der I- und Q-Pfad identisch sein (inklusive Mischer), was wegen dem analogen Teil nur annähernd erfüllt wird, und ein Oszillator mit zwei um 90° phasenverschobenen Signalen ist ebenfalls mit Aufwand verbunden. Da alle praktikablen analogen Mischer auch auf den Oberwellen des Oszillatorsignals empfangen, muss die Eckfrequenz des HF-Tiefpasses abhängig von der Oszillatorfrequenz eingestellt werden, was den Aufwand erhöht.

Die Lösung ist ein Doppelsuper mit einer digital beherrschbaren ZF und in der digitalen Ebene die I/Q-Mischung auf Null ZF. Bei tiefer ZF kann man das Signal digital mit vertretbarem Aufwand und allen Vorteilen wie variable Bandbreite, perfekte AGC, verschiedene Demodulatoren, usw. verarbeiten, während die Umsetzung auf die erste ZF der analogen Technik überlassen wird:



Bei der ersten, analogen Mischung gibt es natürlich die üblichen Probleme mit der Spiegelfrequenz. Diese kann man aber mit einem Trick entschärfen, indem man gezielt Aliasing zum 'Heruntermischen' verwendet. Angenommen, die Samplingfrequenz beträgt 200kHz und die ZF für den A/D-Wandler 50kHz. Analog ist eine ZF von 50kHz natürlich sehr tief, aber es geht auch anders. Wir setzen die analoge ZF einfach auf 1850kHz und legen das analoge ZF-Filter auf diese Frequenz mit einer Bandbreite von +/-25kHz aus. Was passiert nun? Durch das Aliasing entsteht die gewünschte ZF von 50kHz mit einer Bandbreite von +/-25kHz, also genau das, was wir wollen. Einzige Bedingung ist, dass der A/D-Wandler sehr sauber arbeitet und der Samplingzeitpunkt exakt ist und nicht 'jittert', also nicht schwankt. Deshalb sind der Frequenz nach oben Grenzen gesetzt.

Gruss HB9

Datei-Anhänge
digital.jpg digital.jpg (219x)

Mime-Type: image/jpeg, 15 kB

hybrid.jpg hybrid.jpg (233x)

Mime-Type: image/jpeg, 17 kB

IQ.jpg IQ.jpg (239x)

Mime-Type: image/jpeg, 14 kB

NullZF.jpg NullZF.jpg (247x)

Mime-Type: image/jpeg, 16 kB

Super.jpg Super.jpg (241x)

Mime-Type: image/jpeg, 8 kB

27.08.17 20:02
BernhardWGF

nicht registriert

27.08.17 20:02
BernhardWGF

nicht registriert

Re: Etwas digitale Theorie

Zitieren:
...So verlockend diese Architektur ist, sie hat einen Haken: Schon bei mässig hohen Frequenzen, z.B. KW, gibt es einen enormen Rechenaufwand, da A/D-Wandlung, Mischer, Oszillator und erste Filterstufen vom I- und Q-Pfad eine sehr hohe Samplingfrequenz erfordern, damit es kein Aliasing gibt. Für Kurzwelle (30MHz) bedeutet das eine Samplingfrequenz von mindestens 80MHz, und das schafft auch ein *(N)*er DSP nicht mehr, das können nur noch die Profis...

Für diesen Teil eines SDRs haben bereits einige Halbleiterhersteller IC's im Programm, die eine Abtastung im 100er- MHz-Bereich erledigen, per NCO angesteuert werden und nach einer DDC die I/Q Daten an einen "schwächeren" Basisbandprozessor weiterleiten können.

Im Moment versuche ich so einen Digital Down Converter rein in Software auf einem STM32 zu implementieren. Mit den ADCs dieser Prozessoren kommt man natürlich nur in den LW bis MW- Bereich, für den Einstieg allerdings mehr als ausreichend. Denkbar wäre es, so eine MCU/DSP-Implementierung in den ZF-Zweig alter Radios einzuschleifen um somit viel höhere Frequenzen digital "abarbeiten" zu können.

Für die praktische Umsetzung eines DDCs möchte ich noch auf einen Link verweisen: http://scholarworks.wmich.edu/cgi/viewco...=masters_theses
Auch mein schon vorgeschlagenes Buch von Albert Heuberger/Ebergard Gamm: Software Defined Radio-Systeme für die Telemetrie bietet viel Anregung für die Praxis. Hier wird auch ein DDC in Matlab/Octave umgesetzt. Die Datensamples können dabei mit einem RTLSDR USB-Stick (ca. 10-20 Euro) dem Äther entnommen werden und über eine Softwarebibliothek nach dem Processing in Matlab/Octave hörbar gemacht werden.


Viel Spaß beim Experimentieren.

Bernhard

Zuletzt bearbeitet am 27.08.17 20:17

27.08.17 20:08
HB9 

WGF-Premiumnutzer

27.08.17 20:08
HB9 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Hallo zusaammen,

bei der Realisierung der hybriden Lösung (analoger Mischer auf eine fixe ZF, die anschliessend digital weiterverarbeitet wird) ist es von Vorteil, die Samplingfrequenz genau auf das Vierfache der ZF (in der digitalen Ebene) zu wählen. Das hat folgenden Grund: Die Sinus-Werte für den Oszillator in der digitalen Ebene sind dann nämlich folgende: 0, 1, 0, -1 und für das um 90° phasenverschobene Signal 1, 0, -1, 0. Diese Werte bedeuten nichts anderes, als dass das Sample vom A/D-Wandler unverändert weitergegeben wird (1), auf Null gesetzt wird (0) oder invertiert weitergegeben wird (-1). Somit braucht es keine Sinustabelle und auch keine Multiplikationen, was die Sache vereinfacht, da diese Operationen mit dem Samplingtakt des A/D-Wandlers ausgeführt werden müssen.

Die I- und Q-ZF wird von Vorteil in mehreren Etappen gefiltert, wobei hier Tiefpass- und keine Bandpassfilter wie bei einer konventionellen ZF-Stufe notwendig sind. Wenn wir beim Beispiel aus dem vorherigen Beitrag bleiben (Samplingfrequenz 200kHz und ZF 50kHz), wird in einem ersten Schritt z.B. mit einer Eckfrequenz von 20kHz gefiltert, so dass die Samplingfrequenz auf 40kHz reduziert werden kann. Im nächsten Schritt wird dann auf 10kHz gefiltert, so dass eine Samplingfrequenz von 20kHz für die endgültige Filterung reicht. Nun wird z.B. für Mittelwelle auf 4.5kHz gefiltert und anschliessend demoduliert. Hier ist zu beachten, dass die Eckfrequenz der NF-Bandbreite entspricht und daher nur halb so hoch ist wie die ZF-Bandbreite eines herkömmlichen Superhets. Mit dieser schrittweisen Reduzierung der Samplingrate kann die Funktion mit einem schnellen ARM-Controller, z.B. einem Cortex-M4, problemlos realisiert werden, wobei man für die Filterfunktionen spezielle Bibliotheken oder Assembler verwenden sollte, da in C die notwendigen Sprachmittel fehlen, damit der Compiler guten Code erzeugen kann.

So, hoffentlich sind jetzt alle Klarheiten beseitigt. Auf nächsten Winter ist ein solcher Empfänger geplant, falls nichts dazwischenkommt Wer nicht allzuviel mit Mikrocontrollern am Hut hat, bekommt so hoffentlich einen Einblick, was in einem SDR läuft und dass sich die digitale Empfängertechnik nicht so stark von der analogen unterscheidet. Ein ganz anderes Kapitel sind die digitalen Modulationsarten wie DAB+, DVB, DRM und wie sie alle heissen. Das hat aber nichts mit der Empfängertechnik zu tun, sondern mit der Demodulation. Man kann durchaus einen Röhren-VHF-Tuner aus einem alten Fernseher für den Empfang von DAB+ verwenden, wenn man einen passenden Demodulator anschliesst.

Gruss HB9

27.08.17 20:17
HB9 

WGF-Premiumnutzer

27.08.17 20:17
HB9 

WGF-Premiumnutzer

Re: Etwas digitale Theorie

Hallo Bernhard,

da haben sich unsere Beiträge überschnitten, daher hier die Antwort:

Mit den digitalen Down-Konvertern kommt man in den Bereich von mehreren 100MHz, das ist richtig. Allerdings ist die Anwendung alles andere als einfach, das beginnt schon mit dem Taktsignal, an das extreme Anforderungen gestellt werden, damit der Rauschabstand gut bleibt. Von den Gehäusen dieser ICs reden wir lieber nicht... Auch der Stromverbrauch ist alles andere als attraktiv, daher eben: nur für die Profis.

Die ZF eines AM-Radios anzapfen ist auf jeden Fall eine gute Idee. Einerseits hat man hier schon eine gute Vorfilterung, eine vernünftige Frequenz und auch eine brauchbare Amplitude, so dass man den A/D-Wandler gut ansteuern kann.

Gruss HB9

 1
 1
digitalen   analogen   AM-Hüllkurvendemodulation   Signalverarbeitung   32bit-Mikrocontrollern   Digital-Speicheroszilloskopen   Quantisierungsschritte   Spiegelfrequenzempfangs   Digital-Analog-Wandlung   Spiegelfrequenzempfang   Signalverarbeitungstheorie   Samplingfrequenz   Fourier-Transformation   Signal-Rausch-Abstand   Verstärkungsregelung   Spiegelfrequenzunterdrückung   Filterkoeffizienten   Übersteuerungsgrenze   Fouriertransformation   digitale