Numerische Verfahren für Signalrückgewinnung gesucht

Gast #444775
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
#444796
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
Gast #444806
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
Gast #444807
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.
#444809
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
Gast #444819
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
Gast #444838
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.
#444853
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
Gast #446214
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.
Gast #446223
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
#446389
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
Angehängte Dateien:
Gast #446445
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.
#447302
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.
Gast #449029
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
Gast #449459
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren