IQ-Signal und AM-Demodulation

Hallo,

ich habe ein NF-IQ-Signal, das ich AM-Demodulieren muss.

Klar, Betragsbildung (Sqrt(Re**2+Im**2))) geht natürlich, aber dann habe ich das Signal ausschließlich Positiv (DC-Anteil).

Kann man so etwas auch intelligenter machen?

Alfred.

Reply to
Alfred Gemsa
Loading thread data ...

Also ist es ein reines Zweiseitenbandsignal ohne Träger? Wo liegt denn die Mittenfrequenz?

Soll das ganze in Hardware oder mit digitaler Signalverarbeitung passieren?

Gruß Henning

Reply to
Henning Paul

Henning Paul schrieb:

Zweiseitenbandsignal mit Träger, Träger auf Null abgemischt.

Reine Software-Lösung.

Noch eine Möglichkeit, die mir einfällt: den Betrag über einen Hochpass schicken. Funtioniert, aber kostet Rechenzeit. Gibt's noch was anderes?

Alfred

Reply to
Alfred Gemsa

Wird oft über Näherungsformeln durchgeführt. (

formatting link
Heft 12 kostenpflichtig oder Heft 3+4 2005 der FORTH e.V. S. 20
formatting link
)

Wird das Signal bereits aus anderen Gründen per IQ multipliziert oder kann man den AM-Demodulator frei wählen ? Was ist die Anwendung ?

MfG JRD

Reply to
Rafael Deliano

Ähm, wieso sollte das funktionieren? Ohne Träger ist der Betrag erst einmal beliebig falsch, Du bekommst zwar Intermodulationsprodukte um 0 und um 2x f_Träger herum, aber aus denen kannst Du im Normalfall keine Information ziehen.

Kannst Du nicht einfach am Empfänger mit einem lokal erzeugten Träger multiplizieren und dann tiefpassfiltern, so wie es ein anständiger ZSB-Empfänger tut? Brauchst Dann natürlich noch eine Trägerregelung.

Gruß Henning

Reply to
Henning Paul

Rafael Deliano schrieb:

Es geht um SDR (Software Defined Radio). Ein kleines schwarzes Kästchen liefert mir IQ-Daten mit einer Abtastrate von z.B. 500kHz. Das ist also meine ZF (500kHz Abtastrate, 500kHz Nutzbandbreite). In der Kanalmitte (also um 0Hz) liegt ein Radiosender, der AM-moduliert ist, mit einer NF-Bandbreite von +-5Khz).

Als nächstes wird die ZF TP-gefiltert (zwei TPs für je RE und IM) und unterabgetastet. Dann habe ich ein komplexes Tiefpass-Signal mit der Bandbreite +-5Khz als RE/IM vorliegen

Im Analog-Radio kommt jetzt die Diode und der Kondensator, hier bilde ich den Betrag (Sqrt(RE**2 + IM**2)). Das kann man sich bereits anhören, wenn man sich diesen Betrag aber genauer anschaut, ist er nur positiv (klar: Betragsbildung).

Mit einem Hochpass kann ich daraus zwar wieder ein symmetrisches Signal machen (Filtern des DC-Anteils), aber meine Frage ist, ob man das nicht anders machen kann, weil die Betragsbildung und der Hochpass Rechenzeit kostet.

Gruß, Alfred.

Reply to
Alfred Gemsa

Ach so, dann habe ich Dich falsch verstanden, es ist also _kein_ Zweiseitenbandsignal mit unterdrücktem Träger, sondern ein normales, nicht übermoduliertes AM-Signal.

Wenn der LO Deines SDR idealerweise synchron mit dem Träger wäre, hätte Dein I/Q-Signal eine konstante Phase, man könnte sich die Betragsbildung also sparen und einfach den Betrag des Realteils oder Imaginärteils (sofern der nicht zufälligerweise gleich 0 ist) nehmen. Ist der Trägerversatz hinreichend klein, könnte es vielleicht funktionieren, sqrt(Re^2 + Im^2) durch max(abs(Re), abs(Im)) zu approximieren, den Hochpass könnte man durch einen simplen zeitdiskreten Differenzierer h=[1,-1] annähern.

Ist dann nur die Frage, wie grausig das dann klingt.

Gruß Henning

Reply to
Henning Paul

Henning Paul schrieb:

Danke dir, das sind genügend Anregungen.

Gruß, Alfred.

Reply to
Alfred Gemsa

Frerking "Digital Signal Processing in Communication Systems" Kluwer 1994

formatting link
hat da soweit ich sehe immer die Betragsbildung gefolgt von Hochpaß. Für die Betragsbildung empfiehlt er die genannten Näherungen. Frerking ist für das Thema recht ergiebig weil Rockwell in den frühen

80ern digitale Sprach/Daten-Radio-Sender/Empfänger für die US-Streitkräfte entwickelt hat.

MfG JRD

Reply to
Rafael Deliano

Betragsbildung per CORDIC, wenn Du dann den DC-Mittelwert weg haben willst, bilde ihn und subtrahiere ihn.

( Gut, das _ist_ dann ein Hochpass ;-)

Oder nimm die Min./Max.-Peakwerte und daraus per (min+max)/2 und Tiefpass-Filterung/Langfrist-Mittelung die Mitte.

Am Ende vom Tag ist es wahrscheinlich am einfachsten, den Mittelwert irgendwie gleitend (IIR) zu bestimmen und abzuziehen. Wichtig ist halt, dass der abzuziehende Wert sich nur mit einer Frequenz deutlich unterhalb der gerade noch hörbaren tiefsten Frequenz (16Hz) ändert, sonst klingt es schlecht.

Der Vorteil der expliziten Berechnung des DC-Mittelwerts oder dem, was man dafür hält, ist, dass dieser sich nur sehr langsam ändert und der Aufwand pro Sample sich auf eine Subtraktion reduziert. Das "sehr langsam" läßt sich mit einem IIR Akku erledigen, da der exakte absolute Wert und der Frequenzgang des Tiefpassfilters nicht wirklich von Bedeutung ist.

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

DC Abtrennung ist eigentlich kein Hochpaß. Subtrahiere den Mittelwert.

w.

Reply to
Helmut Wabnig

Die Anzahl der Samples ist maßgebend, aber die Bezeichnung Hochpaß hinkt. Wer macht den sowas?

Reply to
Helmut Wabnig

Wieso? Den Mittelwert musst Du erst einmal berechnen, i.A. gleitend über m Samples. Also bekommst Du für diesen FIR-Koeffizienten h1=[1,1,1,1,1,1...1]/m Wenn Du die abziehen willst, musst Du die erst um einen Takt verzögern: h2=[0,1,1,1,1,1,1...1]/m und dann abziehen: h3=[m,-1,-1,-1,-1,-1,-1...-1]/m Die Fouriertransformation davon zeigt eindeutig Hochpasscharakteristik mit einer Nullstelle bei 0. Leider ist das Ding aber nicht linearphasig.

Gruß Henning

Reply to
Henning Paul

In dieser Anwendung ist ein Hochpaß wohl angemessener als ein spezieller "dc-blocker" wie der Suchbegriff für google in comp.dsp wohl lautet:

formatting link
Die älteren Artikel gibts auch als Buch:
formatting link

MfG JRD

Reply to
Rafael Deliano

Ja. Mit Diode, Spulen, Kondensatoren und Widerstaenden :-)

--
SCNR, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Joerg schrieb:

Jaja, früher ... (seufz).

Alfred

Reply to
Alfred Gemsa

Rafael Deliano schrieb:

Da man eh auf Softwarelevel werkelt, kann man auch nichtlineare Filter verwenden, etwa einen base line restorer. Bei, äh, "kompakter" Programmierung kann das eventuell interessant klingen...

--
mfg Rolf Bombach
Reply to
Rolf_Bombach

Rafael Deliano schrieb:

Das ist sehr interessant!

Alfred.

Reply to
Alfred Gemsa

Man kann auch für 8 Bit Controller abgespeckte Varianten erfinden die natürlich nicht in allen Anwendungen funktionieren werden:

formatting link
( aus Heft 13 das in Arbeit ist )

MfG JRD

Reply to
Rafael Deliano

Ist übrigens aus der Märzausgabe des IEEE Signal Processing Magazine, die ich zufälligerweise gerade vor mir liegen habe. :-)

Gruß Henning

Reply to
Henning Paul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.