www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Amplitudenmodulation in C++


Autor: ka (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen allerseits,

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

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

int genSignal(double* pSig, double freq)
{
    for(int i =  0; i < MAX_SIZE; i++)
    {
        //freq in diesem Beispiel = 2200Hz
        pSig[i] = AMPLITUDE * sin(2*M_PI*(double)freq*i*PERIODE)
    }
    return i;
}


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?

: Verschoben durch Admin
Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.