1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Gaussverteilung

  • Hanntor
  • 18. Januar 2016 um 17:32
  • Unerledigt
  • Hanntor
    1
    Hanntor
    Mitglied
    Punkte
    10
    Beiträge
    1
    • 18. Januar 2016 um 17:32
    • #1

    [TABLE='width: 628']

    [tr][td]


    Hallo Leute,

    ich habe ein kleines Problem bei einer Aufgabe.
    Die Aufgabe lautet folgendermaßen:
    1.)Die Codewörter (z.B. 110 / 001 etc.) sollen in Vektoren abgebildet werden, wobei die logische 1 auf +1 und die logische 0 auf -1 abgebildet werden soll.
    2.)Danach soll das Kanalrauschen elementweise mit einzulesender Rauschleistung dazu addiert werden.
    3.)Dann wird jede positive Zahl auf 1 und jede negative Zahl auf 0 abgebildet.

    Den ersten und dritten Teil habe ich geschafft aber bei dem zweiten Teil komme ich nicht weiter:

    for (int i = 0; i < nN*nBit; i++)
    {
    if (sendewort6[i] == true)
    {
    analog[i] = 1.0;
    }

    else
    {
    analog[i] = -1.0;
    }

    for (int a = 0; a < 12; a++)
    {
    rausch = rausch + ((((float)rand()) / RAND_MAX) - 0.5);
    }

    analogNoise[i] = analog[i] + (rausch*rauschl);

    if (analogNoise[i]>0)
    {
    fehlerwort[i] = true;
    }

    else
    {
    fehlerwort[i] = false;
    }


    }

    [/td][/tr]


    [/TABLE]

  • stackoverflow
    5
    stackoverflow
    Mitglied
    Reaktionen
    8
    Punkte
    258
    Beiträge
    49
    • 24. Januar 2016 um 20:03
    • #2

    rand() liefert eine gleichverteilte Zufallsvariable.
    Du braucht hingegen eine normalverteile Zufallsvariable. Musst schauen welche Funktionalität es dafür in deiner Programmiersprache gibt, in C++ ist das z.B. std::normal_distribution<double>.

    Übrigens liefert der Ausdruck analogNoise>0 bereits einen Wert des Datentyps [I]bool, somit kann man deine letzten Zeilen zu einer einzigen zusammenfassen: fehlerwort[i] = analogNoise[i]>0;

    2 Mal editiert, zuletzt von stackoverflow (24. Januar 2016 um 20:06)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung