WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hilfe, Simulation der Bitfehlerwahrscheinlichkeit bei 16-PSK

 

Noelz
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 27.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2010, 22:05     Titel: Hilfe, Simulation der Bitfehlerwahrscheinlichkeit bei 16-PSK
  Antworten mit Zitat      
Hallo
Für ein Praktikum an der Uni soll ich die Bitfehlerwahrscheinlichkeit einer
16-PSK zuerst berechnen, und anschließend mit einer Simulation in Simulink vergleichen.
Vorausgesetzt wird ein AWGN-Channel und ein Signalrauschverhältnis von 0dB bis 20dB.
Beider Kurven sollen zusammen in einem Diagramm dargestellt werden.
http://www4.tu-ilmenau.de/nt/de/tea.....usuren/Bitfehlerraten.pdf
Für die Berechnung habe ich die Formel für die Bitfehlerrate einer M-PSK verwendet. Dies funktioniert ganz gut und scheint soweit auch korrekt zu sein.

Nun zu meinem Problem. Da ich noch nie so richtig mit Simulink gearbeitet habe und es mir leider auch niemand gescheit erklären konnte, weis ich nicht so richtig was ich zur Simulation bei den einzelnen Blöcken des Modells einstellen muss.
So sieht mein Modell bisher aus
--> siehe Anhang: Modell.jpg
Und so mein Quellcode:

Code:
close all
clear all
clc

SNR_s=0;
SNR_stp=2;
SNR_e=20;

SNR=(SNR_s:SNR_stp:SNR_e); %in dB
SNRx=10.^((SNR_s:SNR_stp:SNR_e)./10)



%Theoretische Bitfehlerrate bei 16-PSK
M=16;
Ps=erfc(sqrt(SNRx*log2(M))*sin(pi./M)); % Symbolfehlerwahrscheinlichkeit
Pb=Ps./log2(M);                        % Bitfehlerwahrscheinlichkeit
figure(1)
semilogy(10*log10(SNRx),Pb,'r');
hold on
title('Bitfehlerrate  bei 16-PSK')
xlabel('E_B/N_0 (dB)')
ylabel('Bitfehlerwahrscheinlichkeit')
legend('theoretisch')


%Simulation Bitfehlerrate bei 16-PSK

model.name = 'PSK';

model.seed = round(100*sum(clock)); % Quelle initialisieren
model.sampling_time = 1;            % beliebige Parameter setzen


n=1;
for k=SNR_s:SNR_stp:SNR_e
    model.Eb_No=k;

    load_system(model.name);
    sim(model.name);

    ErrorVec;
    BER( n,: )=ErrorVec;
    n=n+1;
end
BER=BER(:,1)'
semilogy(10*log10(SNRx),BER,'x')



Zur Erklärung:
Der erste Teil des Codes berechnet die theoretische Bitfehlerrate.
Der zweite Teil legt die Parameter für die Simulation fest.
Innerhalb der for-Schleife soll das Signalrauschverhältnis variiert und das Modell mit den neuen Einstellung geladen werden.
Hierbei wird jeweils der Vector der „Error Rate Calculation“ in einer Matrix (BER) abgelegt, und im Anschluss die erste Spalte ausgegeben bzw. geplottet.
Leider ist das Ergebnis mehr schlecht als recht. Ich Vermute, dass es sich nur um kleine Einstellungen in den einzelnen Blöcken handeln kann. Bisher habe ich aber noch nicht herausfinden können, wo genau der Fehler liegt.

Vielleicht kennt sich hier in dem Forum der eine oder andere mit Simulink und der Simulation von Bitfehlerraten aus und kann mir weiterhelfen?
Vorab schonmal vielen Dank.



Edit by Martin: Bitte keine Doppelpostings und außerdem die Code-Formatierung das nächste Mal verwenden Wink Danke!

Modell.jpg
 Beschreibung:
Simulationsmodell

Download
 Dateiname:  Modell.jpg
 Dateigröße:  368.88 KB
 Heruntergeladen:  1003 mal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.