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.
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.
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
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
Wird oft über Näherungsformeln durchgeführt. (
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
Ä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
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.
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
Henning Paul schrieb:
Danke dir, das sind genügend Anregungen.
Gruß, Alfred.
Frerking "Digital Signal Processing in Communication Systems" Kluwer 1994
MfG JRD
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
DC Abtrennung ist eigentlich kein Hochpaß. Subtrahiere den Mittelwert.
w.
Die Anzahl der Samples ist maßgebend, aber die Bezeichnung Hochpaß hinkt. Wer macht den sowas?
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
In dieser Anwendung ist ein Hochpaß wohl angemessener als ein spezieller "dc-blocker" wie der Suchbegriff für google in comp.dsp wohl lautet:
MfG JRD
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.
Joerg schrieb:
Jaja, früher ... (seufz).
Alfred
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
Rafael Deliano schrieb:
Das ist sehr interessant!
Alfred.
Man kann auch für 8 Bit Controller abgespeckte Varianten erfinden die natürlich nicht in allen Anwendungen funktionieren werden:
MfG JRD
Ist übrigens aus der Märzausgabe des IEEE Signal Processing Magazine, die ich zufälligerweise gerade vor mir liegen habe. :-)
Gruß Henning
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.