Forum: Digitale Signalverarbeitung / DSP / Machine Learning Numerische Verfahren für Signalrückgewinnung gesucht


von Fränzi (Gast)


Lesenswert?

HalliHallo

Ich bin gerade auf der Suche eines tollen skripts wo beschrieben wird 
durch welche numerische verfahren ich signale (analoge) rückgewinnen 
kann.
Aber irgendwie hab ich da noch gar nichts gefunden.

Hoffe es ist mir jemand behilflich und kann mir den einen oder anderen 
tip geben.

Lieben Gruß

Fränzi

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Aus was denn "rückgewinnen"? Ist das ursprüngliche Signal auf einen 
Träger aufmoduliert, oder ist es nur von Rauschen/Störungen überlagert?

von Fränzi (Gast)


Lesenswert?

Hallo Christoph

das ursprüngliche Signal ist auf einem träger aufmoduliert

von Εrnst B. (ernst)


Lesenswert?

Also (a) ein Numerisches Verfahren, um die Modulation rückgängig zu 
machen, oder (b) ein Verfahren um dein Signal numerisch zu 
approximieren/darzustellen/auszuwerten?

Falls a) AM oder FM moduliert?
Falls b) Was für ein Signal, welcher Funktionsraum für die 
Approximation?

/Ernst

von Fränzi (Gast)


Lesenswert?

Hallo Ernst

Also ich möchte mein Signal welches ich amplitudenmoduliert habe quasi 
wieder demodulieren, demnach suche ich ein Verfahren wo dies möglich 
ist.

Ein FM-moduliertes Signal habe ich auch, aber erstmal möchte ich mich 
gerne mit dem AM beschäftigen.

Ich hoffe du kannst mir da ein wenig helfen

Liebe Gruß

Fränzi

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Hallo Fränzi und Unernst oder was soll der Negationsstrich
( vielleicht http://www.nicht-lustig.de , der heisst Sauer)

Das sieht nach einer Art "software-defined radio"-Aufgabe aus. Mit 
diesem Suchbegriff findet Google viel praxisbezogenes. Ein Signal, das 
in Ampltude und/oder Phase moduliert ausgesendet wurde, wird mit zwei um 
90 Grad phasenverschobenen Sinusschwingungen multipliziert, und damit 
auf eine niedrigere Frequenz heruntergemischt. Diese beiden Signale kann 
man beispielsweise mit der PC-Soundkarte weiterverarbeiten.

von Εrnst B. (ernst)


Lesenswert?

Hah! Zurück zu den alten Detektor-Radios!

Da lief die Demodulation etwa so ab: Schwingkreis für die 
Träger-Frequenz, Gleichrichterdiode, Kondensator im Kopfhörer fitert die 
Trägerfrequenz.

Geht dann softwaretechnisch so ähnlich, z.B. einfach eine floating 
average über den Absolutwert deines Eingangssignals bilden.
Absolutwert entspricht Diode,
Mittelwert über die letzten X messwerte entspricht nem Kondensator.

/Ernst

von Fränzi (Gast)


Lesenswert?

Und wie realisiere ich das mathematisch (numerisch)?

z.B. wenn mein AM-Signal aus

Trägersignal        ut=u_t*sin(2*pi*f_t*t)
Modulationssignal   um=u_m*sin(2*pi*f_m*t);

zusammensetzt.

Liebe Gruß

Fränzi

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Nur war der Detektordiode die Phasenlage egal. Die Absolutwertbildung 
muß für alle Phasenlagen der Trägerfrequenz dieselbe Amplitude ergeben. 
Deshalb macht man die doppelte Multiplikation mit Sinus und Cosinus, und 
erhält als Zwischenergebnis erst mal zwei Signale. Mit dem Pythagoras 
ermittelt man dann die Zeigerlänge, wenn man es als Zeigerdiagramm 
betrachtet.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?


von Εrnst B. (ernst)


Lesenswert?

Trägersignal        ut(t)=u_t*sin(2*pi*f_t*t);
Modulationssignal   um(t)=u_m*sin(2*pi*f_m*t);

d.H. dein "Eingangssignal", das du Auswerten willst, ist
f(t)=ut(t)*(um(t)+u_m+offset); [offset]
(AM-Moduliert, bei um(t)==-u_m bleibt eine Träger-Ampliutude "offset" 
übrig)

Geplottet ungefähr so:
1
   +                                                                                             A
2
 2 +                                                                                 A     A     AA
3
   +                                                                    AA    AA    AA     AA    AA
4
   +                                                        A     A     AA    AA    AA    A A    AA
5
   |                                                  A     A     AA    AA    AA    A A   A A   AAA
6
   +                                     AA    AA    AA    AAA    AA    AA    AA    A A   A A   A A
7
   +                               AA    AA    AA    AAA   A A   A A    AA    AAA   A A   A A   A A
8
 1 +                         A     AA    AA    AA    A A   A A   A A   AAA    A A   A A   A A   A A
9
   +            AA    AA    AAA   A A   AAA    AAA   A A   A A   A A   A AA   A A   A A   A A   A A
10
   +      AA    AA    AAA   A A   A A   A A    A A   A A   A A   A A   A  A  A  A   A A   A A   A  A
11
   |AA    AA    AA    A A   A A   A A   A  A  A  A   A A   A A   A A   A  A  A  A   A A   A A   A  A
12
   * A   A AA  AA A   A A   A A   A A   A  A  A  A  A  A   A A   A  A  A  A  A  A  A  A   A A   A  A
13
   * AA  A  A  A  A  A  A   A A   A  A  A  A  A  A  A  A   A A   A  A  A  A  A  A  A  A   A  A  A  A
14
   *--*+-*-+*-+*--*--*+-*-+*--**--*--*+-*-+*--*--*+-*-+*--*---*--*+-*-+*--*--*+-*-+*--*--**--*--*+-*-+
15
 0 +  A AA  A  A  A 0.02AA A   A A   A  0.04  A  A  A  A  A 0.06 A  A  A  A  A  0.08   A A   A  A  A0.1
16
   +  A A   AAAA   A A   A A   A A   A  A  A  A  A  A   A A   A A   A  A  A  A  A  A   A A   A  A  A
17
   +   AA    AA    AAA   A A   A A   A A   A  A   A A   A A   A A   A  A  A  A  AA A   A A   A A   A
18
   |         AA    AA    A A   A A   A A   A  A   A A   A A   A A   A A   A  A   A A   A A   A A   A
19
   +               AA    AAA   AAA   AAA    AA    A A   A A   A A   A A   A  A   A A   A A   A A   A
20
-1 +                      A     AA    AA    AA    AAA   A A   A A   A A    AAA   A A   A A   A A   A A
21
   +                                  AA    AA    AA    A A   A A   A A    AA    A A   A A   A A   A A
22
   +                                        AA    AA    AA     AA    AA    AA    AAA   A A   A A   AAA
23
   +                                                     A     AA    AA    AA    AA    A A   A A    AA
24
   |                                                           A     AA    AA    AA    AAA    AA    AA
25
   +                                                                       AA    AA    AA     AA    AA
26
-2 +                                                                                    A     A     AA
27
   +                                                                                                A

Jetzt den Mittelwert über die letzten X Messwerte bei Äquidistanter 
Abtastung des Eingangssignals:
1
                                                                                                    t - n
2
                                                                                                  -----
3
                                                                                                   \
4
                                                                                        avg(t) =    )   abs(f(x))/n
5
                                                                                                   /
6
                                                                                                  -----                                                                                                  
7
                                                                                                  x=t

Ergibt in etwa:
1
   +                                                                                                AA
2
1.6+                                                                                           AAAAA
3
   +                                                                                     AAAAAA
4
   +                                                                                AAAAA
5
   +                                                                           AAAAAA
6
1.4+                                                                       AAAAA
7
   +                                                                   AAAAA
8
   +                                                              AAAAA
9
1.2+                                                           AAAA
10
   +                                                       AAAA
11
   +                                                   AAAA
12
 1 +                                               AAAA
13
   +                                            AAAA
14
   +                                        AAAA
15
0.8+                                    AAAA
16
   +                                 AAAA
17
   +                             AAAAA
18
0.6+                          AAA
19
   +                       AAA
20
   +                   AAAA
21
0.4+                AAAA
22
   +             AAAA
23
   +          AAA
24
0.2+      AAAA
25
   +   AAA
26
   +AAAA
27
   *-+---+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+---+--
28
 0        0.02                0.04                0.06                0.08                 0.1

/Ernst

von Εrnst B. (ernst)


Lesenswert?

Jup, den Link von db1uq solltest du dir auch anschauen, das scheint 
wesentlich besser zu sein als meine Hemdsärmel-Methode.

/Ernst

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Hier das Blockschaltbild für ein Software-defined Radio mit 
AM-Demodulation, wie beschrieben mit zwei Mischern und Pythagoras:
http://www.winradio.com/home/g305-demod.htm

von Matthias (Gast)


Lesenswert?

Naja, das erste Problem ist normal erstmal die 
Trägerfrequenz/phasenrückgewinnung, da man wie schon gesagt wurde das 
modulierte Signal wieder mit dem Träger multiplizieren muss zum 
heruntermischen. Die Phasenlage muss übereinstimmen, sonst funktioniert 
die Demodulation nicht, außerdem könnten die Signalfrequenzen leicht 
unterschiedlich sein. In beiden Fällen führt das zur Auslöschung des 
Signals.
So eine Phasenrückgewinnung kann man mit einer numerischen 
Implementierung einer PLL machen. Der Fachbegriff dafür fällt mir leider 
gerade nicht ein, es geht jedenfalls über einen Phasenakkumulator und 
eine Regelschleife.
Wenn man dann dadurch die Trägerphase zum aktuellen Sample für jedes 
Sample hat muss man nurnoch mit e^j*phase (oder auch -, fällt mir gerade 
auch nich ein g) multiplizieren, um das ganze komplex 
herunterzumischen. Das demodulierte Signal liegt dann entweder im Real- 
oder im Imaginärteil von dem, was man dann bekommt.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Die Trägerphase ist nur für einen AM-Synchrondemodulator nötig.

Mit zwei Mischern für I und Q und die Pythagoras-Bildung ist die 
Phasenlage egal, man berechnet so nur die Zeigerlänge, nicht dessen 
Winkel. Durch die Phasenabweichung rotiert der Zeiger langesam statt 
stillzustehen.

Statt zwei Mischern kann man auch mit einem Samplingmischer 4 mal pro 
Trägerschwingung abtasten, das entspricht einem abwechselnden Mischen 
mit Sinus und Cosinus . Die beiden Mischer sind quasi im Zeitmultiplex 
durch einen ersetzt. Beide Verfahren brauchen keine Information über die 
Phasenlage.

Im Elektor Dezemberheft wird diese Schaltung vorgestellt, statt 
Sinusschwingungen mit Rechteck, damit natürlich Nebenempfang auf 
Harmonischen:
http://www.elexs.de/iq1.htm

von Franziska M. (fraenzi)


Angehängte Dateien:

Lesenswert?

Erstmal möcht ich mich bedanken, 1a hilfe wird einem hier geboten

Werd mich jetzt erstmal damit beschäftigen.
Nebenbei hab ich ein wenig rumprobiert (mit matlab) und bin da schonmal 
auf was ansehnliches gekommen (hoffe ich mal)

was mir im moment garnicht klar wird ist das bsp. von Ernst, sieht super 
aus und vielleicht auch einfach aber die Mittelwertbetrachtung über den 
letzten X Messwerten bei Äquidistanter Abtastung des Eingangssignals 
bereitet mir arge probleme, da weiß ich garnicht wie ich anfangen soll 
um auf 'ähnliche' kurvenverläufe zu kommen.


welche mathematischen möglichkeiten gibt es denn noch zur 
Frequenzmodulation?


Lieben Gruß

fränzi

von Matthias (Gast)


Lesenswert?

Hi nochmal

mal kurz das, was mir noch zu FM-Demodulation einfällt. Ist aber schon 
bissl her, seitdem ich das gemacht habe, also weder vollständig noch 
umbedingt richtig.

Bei der Demodulation:
1. Träger zurückgewinnen
2. Signal damit ins komplexe Basisband heruntermischen, also wieder 
Multiplikation mit exp(j*phi), oder eben mit cos und sin multiplizieren 
und damit I und Q betrachten.
Ich hatte allerdings beide Punkte nicht mit Software gemacht, sondern 
mit Hardware I/Q-Demodulator runtergeschmischt und dann per 500ksps 
AD-Wandler I und Q in den PC. Geht natürlich auch numerisch, wenn du 
schnell genug abtasten und verarbeiten kannst.
3. Du musst nurnoch die Phasen der einzelnen Samples anschauen. Die 
Ableitung der Phase ist das demodulierte Signal. Also signal(k) = 
phase(k) - phase(k-1), oder in Matlab für komplette Vektoren: signal = 
diff(phase);
Zusammengefasst ging die FM-Demodulation jedenfalls mit einer Zeile 
Code, müsste dann so etwas wie signal = diff(angle(bbsignal)) gewesen 
sein.
4. Tiefpass filtern

Modulation: Sollte dann ja umgedreht gewesen sein ;)
Quasi:
bbsignal = exp(j*cumsum(signal));

Und dann eben wieder per IQ-Modulation auf Trägerfrequenz bringen.

Das Verfahren mit Summe und Differenz  ist aber nicht ganz genau, da man 
eigentlich die Ableitung braucht. Für Signalfrequenz << Abtastrate im 
komplexen Basisband funktionierts aber ganz gut.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich hätte noch einen Literaturhinweis zum Thema:

"Digitale Signalverarbeitung in der Nachrichtentechnik" von 
P.Gerdsen/P.Kröger Springer Verlag 1993 ISBN 3-540-55520-X
Darin u.a. als Blockschaltbild mit Beschreibung: AM und FM Modulatoren 
und -Demodulatoren.

Zum Beispiel Seite 276-278: FM Basisband-Modulator, bestehend aus: 
Integration des Modulationssignals - Verzögerung - Addition des 
Nullphasenwinkels - Sinus/Cosinus-Kennlinie - Multiplikation mit dem 
Scheitelwert.

Das Buch läßt sich vermutlich in einer Hochschulbibliothek auftreiben, 
alt genug ist es ja.

von Fränzi (Gast)


Lesenswert?

wie könnt ich aber numerisch vorgehen falls digitale datensätze 
vorliegen würden (demodulation kann nicht analog durchgeführt werden)

Lieben Gruß

Fränzi

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Das genannte Buch gibts in der 2.Auflage von 1996 noch zu kaufen:
http://www.amazon.de/gp/product/3540611940/ref=sib_rdr_dp/302-2180262-9923207
dort darf im Inhaltsverzeichnis blättern. Die vorgestellten Verfahren 
behandeln eine digitale (numerische) Verarbeitung, nichts analoges.

von Peter (Gast)


Lesenswert?

vielleicht die digitalen signale (diskrete) durch interpolation in 
kontinuierliche signale umwandeln.

Interpolation --> Umkehroperation der Abtastung

wie das nun genau funktioniert weiß ich nicht, vielleicht kann wer 
anders helfen.

Peter

von Peter (Gast)


Lesenswert?

vielleicht unter bestimmten modellannahmen des kontinuierlichen signals 
das digitale signal (diskret) möglichst gut reproduzieren.

wie das nun genau funktioniert weiß ich nicht, vielleicht kann wer
anders helfen.

weigstens habe auch ich meinen senf abgegeben.

Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.