www.mikrocontroller.net

Forum: HF, Funk und Felder FM Demodulation mit AVR


Autor: Jeso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

könnte man ein UKW FM Signal auf 0 Hertz runtermischen dann I und Q 
Signale bilden und diese in einen AVR einlesen und im AVR die FM 
demodulation durchführen als Mono singal vorerst.
Diese dann über einen DA Wandler ausgeben?

Mir fehlt jetzt nur der Zusammenhang kann ich wirklich einfach mit nem 
Mischer runter bis auf 0 Hertz mischen also z.B. Sender von 100MHz und 
den LO dann auch 100MHz.

Kann mir einer erklären wie ich dann aus den IQ Signalen die FM 
demodulieren kann.

Ist vorerst mal nur ein Gedankenprojekt aber wenn es möglich wäre würde 
ich es gern mal ausprobieren.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab' das mal ins HF-Forum geschoben.  Auch wenn du es mit einem
AVR machen willst, würde der letztlich nur als DSP fungieren und
die eigentliche Funktionalität, die du suchst, ist wohl eher das,
was derzeit "software defined radio" (SDR) genannt wird.  Das ist
im HF-Forum dann besser aufgehoben.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dazu sind aber zwei Mischer nötig und ein 100MHz sin/cos-Generator. Die 
90 Grad Phasenschieberei kann der AVR übernehmen, dazu gibts einen 
Thread von mir unter "DSP".

Autor: Jeso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich brauch ich ja ein LO dann einen eine phasenschieber und dann 
die beiden mischer das ist klar, ist ja erstmal nur theorestisch.

Nun würde mich jetzt aber erstmal interressieren wie es dann weitergeht 
wenn ich die IQ Signale hab die dann an den AD Wandler und in den 
Controller.

Hat jemand ne Seite wo gut beschrieben ist wie ich aus den IQ Signalen 
dann FM demoduliere das ist grad mein Verständnissproblem.

Es zielt auf eine Art SDR ab, ganz richtig erkannt dabei ist mir der HF 
Teil erstmal net so wichtig. Wollte es gern so weit wie möglich 
runtermischen und den Rest dann im AVR verarbeiten.

Kann ich zum Mischen eigentlich auch ein Rechtecksignal nehmen?

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt einen DSP für AM/FM, der digitalisiert die Zwischenfrequenz von 
10,7 MHz. Dazu reicht ein Mischer:
http://www.nxp.com/#/pip/pip=[pip=SAA7724H_2,jp=St...]
Car radio digital signal processor
The SAA7724H digitizes up to two IF signals and performs DSP to generate 
left front, right front, left rear, and right rear audio and RDS/RBDS 
data output. The SAA7724H also samples analog baseband tape, FM MPX, AUX 
inputs, analog and digital CD, performs signal processing on these 
sampled waveforms and multiplexes the proper signal to the output. A 
microcontroller interface allows the SAA7724H to be controlled and 
monitored.

The SAA7724H is composed of hardwired and programmable DSP circuitry, 
with programmable parameters, such as injection frequencies, filter 
coefficients and control parameters. Some functions or groups of 
functions are implemented with programmable sequence processors.

Autor: Jeso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich wollte ja extra kein IC, hab bis jetzt auch noch nicht vor dieses 
aufzubauen. Soll mal ein einstieg in die Welt der Qudratursignale werden 
dachte wäre doch gut zum erlenen und nicht gleich mit QAM oder QPSK 
anfangen. Und wenn es mich reizt könnte ich es versuchen aufzubauen.

Was wird zu demodulation getan ist dies auch mit einem  AVR möglich.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei QAM, QPSK als lineare Modulationen einfacher zu demodulieren sind 
als FSK.

Autor: ajax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte folgendes gehen:

100MHz Signal auf 1MHz runtermischen
dann BP Filter, Mittenfrequenz 1MHz
dieses Signal direkt mit Atmega abtasten ( z.B. 15Khz )
( nennt sich Unterabtastung, geht beim AVR bis ca. 4 MHz )
Dann Singal weiter verrechnen.

Problem: Der Modulationshub darf nur ca. 10KHZ betragen, ich weiss 
leider nicht, wie groß der Modulationshub der FM-Radiosender ist.

ajax

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ajax wrote:

> Problem: Der Modulationshub darf nur ca. 10KHZ betragen, ich weiss
> leider nicht, wie groß der Modulationshub der FM-Radiosender ist.

Um einiges größer.  Ich würde aus dem Bauch raus auf 100 kHz tippen.

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Rechenleistung die man für UKW-Radio FM Demodulation braucht ist 
ganz erheblich. Da kommt man mit einem AVR nicht mal ansatzweise weiter. 
Selbst ein ARM7(TDMI) dürfte so seine Schwierigkeiten haben. Man möchte 
schon einen richtigen DSP mit MAC Einheit usw. (Blackfin, ARM9E, 
TMS320F... z.B.)
Wie schon ein Vorposter geschrieben hat - (Q)PSK etc. ist leichter - 
wenngleich der AVR auch damit überfordert sein wird.

Viele Grüße,
 Martin L.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja der große Frequenzhub macht mindestens einen ARM7 nötig. Ich hab mal 
nachgeschaut, FM-Demodulation ist in der DSP-Literatur seltener 
beschrieben. In ISBN 354055520X "Digitale Signalverarbeitung in Der 
Nachrichtenübertragung" werden vier Verfahren genannt:
1. Flankendemodulation. Das FM-Signal wird auf einer Filterflanke 8in AM 
umgewandelt und dann demoduliert.
2. digitale PLL - siehe z.B. Datenblatt zum 74HC297, weiteres Stichwort 
zum Googlen ist Costas-Schleife / costas loop .
3. Laufzeitdemodulation. In Analogtechnik besteht sie im einfdachsten 
Fall aus einem Dioden-Ringmischer und einer langen Koaxleitung.
und am interessantesten der
4. "Phasenwandler-Demodulator"
Hier wird tatsächlich ins Basisband auf I und Q heruntergemischt und 
dann zunächst der Quotient I/Q gebildet. Damit sind 
Amplitudenschwankungen schon unterdrückt. Danach kommt eine 
Arcustangensfunktion (z.B. eine Kurventabelle), danach muß eine 
"Quadrantenrekonstruktion" erfolgen - aus den beiden Vorzeichenbits von 
I und Q wird das Vorzeichen des Ergebnisses ermittelt. Damit hat man 
wohl eine Phasendemodulation bewirkt, ein abschließender Differentiator 
macht einen FM-Demodulator daraus. Differentiatoren kann man als FIR 
oder IIR aufbauen, siehe Matlab "remez"-Funktion für FIR.

Autor: Jeso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir scheint fast als ob FM am schwersten zu demodulieren ist.

Danke für die Informationen werde mal nach dem Phasenwandler demodulator 
suchen.

Hatte eigentlich nur nach FM gefragt einmal zum Einstig überhaupt in 
Quadratursignale und zum anderen wenn ich was realisieren möchte dann 
wäre da auch eine Anwendung vorhanden.

Habe momentan keine Lust mich mit ARM oder DSPs zu befassen. Habe in der 
Ausbildung und in der Schule nur AVR und 8051 in Assembler gelernt daher 
auch die spezialisierung auf den AVR.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Sache mit Quatient und Arcustangens ist einfach eine Hälfte der 
Umrechnung kartesischer Koordinaten in Polarkoordinaten. Dazu benutzt 
man auf dem DSP am besten den Cordic-Algorithmus, der wurde genau dazu 
erfunden. Zum Differentiator gibt es ein kleines Kapitel in ISBN 
0471619957 Handbook for Digital Signal Processing

Autor: Bastelfriedie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Cordic-Algorithmus kommt meines Wissens aus der Fliegerei.
Der Navigator hatte wenig Zeit zur Kurbestimmung und verwendete daher 
diese
Algorithmen. Dabei wird die verminderte Genauigkeit bewußt in Kauf 
genommen.

Wenn ich recht erinnere, gabs in der ehemaligen Computerzeitschrift "mc"
einen Artikel darüber.


73

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/AVR-CORDIC
die Genauigkeit hängt von der Anzahl Iterationen ab

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.