Amplitudenmodulation in C++

Gast #1820808
Lesenswert?

Guten Morgen allerseits,

ich beschäftige mich gerade mit der Amplitudenmodulation und möchte ein 
bestehendes Signal modulieren.

Hier mein bestehendes Signal
1
#define AMPLITUDE 1.0
2
#define SAMPLERATE 8000
3
#define PERIODE 1/SAMPLERATE
4

5
int genSignal(double* pSig, double freq)
6
{
7
    for(int i =  0; i < MAX_SIZE; i++)
8
    {
9
        //freq in diesem Beispiel = 2200Hz
10
        pSig[i] = AMPLITUDE * sin(2*M_PI*(double)freq*i*PERIODE)
11
    }
12
    return i;
13
}

Dieses Signal soll jetzt amplitudenmoduliert werden.
Ich habe für die AM folgende Formel.
Wenn ich das richtig verstanden habe ist Uc die Amplitude meines 
bestehenden Signals und Uc*sin(wc*t) mein bestehendes Signal welches 
oben erzeugt wurde.
Mein Problem ist nun wie komme ich an die Werte Um und wm?
Gast #1821045
Lesenswert?

> Wenn ich das richtig verstanden habe ist Uc die Amplitude meines
> bestehenden Signals und Uc*sin(wc*t) mein bestehendes Signal welches
> oben erzeugt wurde.
Falsch.
Uc ist die Amplitude des Trägersignals.
Uc*sin(wc*t) ist das Trägersignal.

> Mein Problem ist nun wie komme ich an die Werte Um und wm?
Das hast du beides bereits:
Um ist die Amplitude, und wm die Kreisfrequenz deines Nutzsignals.
Was du suchst sind Uc und wc.
Mit Uc stellst du den Modulationsgrad ein, und mit wm die Frequenz des 
Trägers.
Am besten, du machst dich einfach nochmal schlau:
http://de.wikipedia.org/wiki/Amplitudenmodulation

Zum besseren Verständnis empfiehlt es sich damit mal unter Matlab oder 
SCILAB zu experimentieren und die Ergebnisse zu plotten.

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