Simulation verschiedener Fehlererkennungs Algorithmen



  • Hallo,

    ich muss ein Projekt erstellen, worin ich verschiedene Fehlererkennungs Algorithmen erstellen muss.
    Der erste Punkt lautet:
    Ein TrafficGenerator -sender- bereitet 100 Bilder zu senden. Frame-Länge beträgt 7 Bit und ist konstant für alle Frames. Daten-Frames werden mit zufälligen binären Zahlen gefüllt.

    1. Environmental Fehler sollten für jedes Bit als eine Zufallszahl aus einer gleichmäßigen Verteilung mit mean = error rate gezogen modelliert werden.

    und

    Fehlererkennung Typ kann eine der folgenden Algorithmen sein (Sie sollten Sender und Empfänger die Verhaltensweisen für jeden Algorithmus getrennt implementieren)
    o CRC (Cyclic Redundancy Check) mit G (x):
    x^5 + 1
    o Hamming Error Correction: mit einem Hamming-Code (7,11)

    also ich habe noch nie mit C++ programmiert, ich weiß das ist jetzt so nicht passend von mir, dass ich meine zu erledigenden Sachen hier zu posten aber ich bin jetzt echt hilflos ich sitze seit Tagen daran aber ich komm nicht weiter. Ich habe diesen CRC Code (mithilfe des Internets) programmiert aber ich weiß nicht, ob das so richtig ist, hier ist der code:

    /* CRC (Cyclic redundancy check) with G(x): x^5 + 1 */
    
    #include<stdlib.h>
    #include<conio.h>
    #include<stdio.h>
    
    using namespace std;
    
    void main(){
    int i,j,n,g,a,arr[20],gen[20],b[20],q[20],s;
    clrscr();
    cout << "Transmitter side:" << endl;
    cout << "\nEnter no. of data bits:" << endl;
    cin >> n;
    cout << "Enter data:" << endl;
    for(i=0;i< n;i++)
    cin >> arr[i];
    
    cout << "Enter size of generator:" << endl;
    cin >> g;
    do{
    cout <<"Enter generator:" << endl;
    for(j=0;j< g;j++)
    cin >> gen[j];
    
    }
    while(gen[0]!=1);
    cout << "\n\tThe generator matrix:" << endl;
    for(j=0;j< g;j++)
    cout << gen[j] << endl;
    
    a=n+(g-1);
    cout << "\n\tThe appended matrix is:" << endl;
    for(i=0;i< j;++i)
    arr[n+i]=0;
    
    for(i=0;i< a;++i)
    
    cout << arr[i] << endl;
    
    for(i=0;i< n;++i)
    q[i]= arr[i];
    
    for(i=0;i< n;++i)
    {
    if(arr[i]==0)
    {
    for(j=i;j< g+i;++j)
    arr[j] = arr[j]^0;
    }
    else
    {
    arr[i] = arr[i]^gen[0];
    arr[i+1]=arr[i+1]^gen[1];
    arr[i+2]=arr[i+2]^gen[2];
    arr[i+3]=arr[i+3]^gen[3];
    }
    }
    cout << "\n\tThe CRC is :" << endl;
    for(i=n;i < a;++i)
    cout << arr[i] << endl;
    s=n+a;
    for(i=n;i< s;i++)
    q[i]=arr[i];
    cout << "\n" << endl;
    for(i=0;i< a;i++)
    cout << q[i] << endl;
    getchar();
    };
    
    system("pause");
    return 0;
    }
    

    Ich hoffe jemand kann mir behilflich sein
    Vielen Dank im Voraus
    Mit freundlichen Grüßen
    inko6666



  • inb4:
    JW, void main, vector, C, .h, unportabel, variablennamen, hausaufgaben nur gegen geld aber irgendwer tuts trotzdem umsonst .... puuuuh


Anmelden zum Antworten