Demonstrationsprogramm zur CRC-Berechnung

hazel

Neues Mitglied
Hey Leute,

ich studiere Computer Engineering und muss für ein Projekt im 3. Semester ein Demonstrationsprogramm zur CRC-Berechnung erstellen. Die Aufgabenstellung lautet:

Es ist ein objektorientiertes Modellierung und Implementierung für eine Demonstrationsanwendung zur CRC-Berechnung zu erstellen. Der konsequente Einsatz eines CASE-Tools (z.B. Rhapsody) ist obligatorisch.

Die Demonstrationsanwendung soll anhand eines vorgegebenen Bitmusters und
CRC-Polynoms die Einzelschritte der CRC-Berechnung visualisieren. Mit dem gefundenen CRC-Wert soll die Verifikation des CRC-Wertes verdeutlicht werden. Ebenso ist die Wirkung der Verifikation bei einer Bitänderung im Datenpaket zu veranschaulichen.

Die Darstellung mit normaler Textausgabe ist ausreichend.

Das CRC-Polynom lautet: x^5+x^4+x^2+1
Daten: 11011010101110







CRCMain.java:

public class CRCMain {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int zahlenfeld[] = {1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0};
int zahlen[] = {1,1,0,1,1,0};
int polynom[] = {1, 1, 0, 1, 0, 1};
int polynom2[] = new int[6];
polynom2 = polynom;
int ergebnis[] = new int[6];
int austausch[] = new int[6];
int fertig[] = new int[19];
int counter = 6;

for(int i =0; i<zahlenfeld.length-5;i++){
if(polynom2[0]==0){
polynom2 = austausch(polynom2, zahlenfeld, counter);
counter++;
fertig=0;
for (int x =0; x<6;x++)
System.out.print(polynom2[x]);

}
else {
polynom2 = vergleich(polynom, zahlenfeld);
//System.out.println("ergebnis" + (counter-5));
counter ++;
for (int x =0; x<6;x++)
System.out.print(polynom2[x]);
fertig=1;
}
//System.out.print(fertig);
}
for (int x =0; x<14;x++)
System.out.print(fertig[x]);
}


private static int[] vergleich(int[] p, int[] z) {

int ergebnis[] = new int[6];

for (int i =0;i<p.length; i++ )
ergebnis=p^z;
System.out.println("kein tausch " );
return ergebnis;

}


private static int[] austausch(int[] p, int[] z, int counter) {

int p2[] = new int[6];
p2 = p;
for (int i = 0; i<p.length-1;i++)
p2=p[i+1];
p2[5] = z[counter-1];

System.out.println("tausch " );

return p2;


}




}




CRCTest.java:

/***
*
* Questions containing 'crc5' - Stack Overflow
*
* CRC
*
* https://en.wikipedia.org/wiki/Cyclic_redundancy_check
*
* https://en.wikipedia.org/wiki/Computation_of_CRC
*
* https://en.wikipedia.org/wiki/Mathematics_of_CRC
*
***/

public class CRCTest
{
static void crcCheck(String crcMessage, String crcPolynom)
{

char[] polynomialForm = crcMessage.toCharArray();
char[] crcPolynomialForm = crcPolynom.toCharArray();

int length_CRCMessage = crcMessage.toCharArray().length;
int length_CRCPolynom = crcPolynom.toCharArray().length;


System.out.println("CRC Message: "+crcMessage+ "\t"+length_CRCMessage +
"\t CRC Polynom: "+crcPolynom +"\t"+length_CRCPolynom );

System.out.println( (byte) polynomialForm[0] );

char[] remainderPolynomial = new char[length_CRCPolynom];

for(int i=0; i<=length_CRCMessage; i++)
{
//FIXME: char^char klappt nicht
remainderPolynomial = remainderPolynomial^( polynomialForm*crcPolynomialForm[length_CRCPolynom-1]);

if(crcPolynomialForm == remainderPolynomial)
{
//FIXME: char^char klappt nicht + Variable x nicht definiert --> WP[EN]: Computation of CRC / Code Fragment 2
remainderPolynomial = (remainderPolynomial * crcPolynomialForm[length_CRCPolynom])^crcPolynom;
}
else
{
remainderPolynomial = (remainderPolynomial *x);
}

System.out.print(remainderPolynomial);
}

}

public static void main(String[] args)
{

// 11011010101110000000 / 13998
// Byte message = (byte) 0b11011010101110000000;
// Byte crc5itu = (byte) 0b110101; // 53

String message = Integer.toBinaryString(13998);
String crc5itu = Integer.toBinaryString(53);

crcCheck(message, crc5itu);


// Ergebnis 0b 10001010110110 // 8886
/*
System.out.println(
message +"\t"+
message.toString()+"\t");
//message.byteValue());

System.out.println(
crc5itu +"\t"+
crc5itu.toString()+"\t");
//crc5itu.byteValue() );
*/

// String zahlenfeld="1101101010111000000";
// String zahlen="110110";
// String polynom="110101";



}
}




habe folgendes programmiert, es scheint nicht funktionsfähig zu sein. Würde mich sehr freuen, wenn ihr mir helfen würdet. Es ist ein wichtiges Projekt und ich sollte es bestehen. Vielen Dank im Voraus für eure Mühe! Liebe Grüße hazel
 

HoaX

Top Contributor
Wenn du postest steht da schön rot hervorgehoben dass man Java-Tags verwenden soll für seinen Quelltext. Und ne konkrete Frage solltest du schon auch stellen und nicht nur "geht scheinbar nicht". Wie du schon selbst sagst: _DU_ solltest es bestehen, nicht wir. Es wird dir hier kaum jemand eine fertige Lösung präsentieren (welche du dir auch mit wenig Aufwand selbst bei Google suchen könntest).
 
G

Gast2

Gast
Es ist ein objektorientiertes Modellierung und Implementierung [...] zu erstellen.
Objektorientiert und static beißen sich etwas ;) Wenn du das wirklich richtig objektorientiert lösen willst dann solltest du alle statics (bis auf das der main) entfernen und deinen Code entsprechend umbauen.

Ansonsten wie HoaX schon sagt, "es scheint nicht funktionsfähig zu sein" ist keine Fehlermeldung. Niemand wird dir hier deine Hausaufgaben lösen. Wenn du ne konkrete Frage hast helfen wir dir gern weiter.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Berechnung der Zeit funktioniert nicht wie erwartet: Date, GregorianCalendar Allgemeine Java-Themen 16
pkm Berechnung der Fakultät von Fließkommazahlen anhand von Stirlingformel Allgemeine Java-Themen 4
I Berechnung Lagerbestands / Verfügbarkeitsprüfung Allgemeine Java-Themen 1
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
D Berechnung des Cosinus Allgemeine Java-Themen 4
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
A Fehlerhafte Nst Berechnung einer bestimmten Fkt. (Bisektion) Allgemeine Java-Themen 10
E Berechnung des Schnittpunktes von zwei Geraden Allgemeine Java-Themen 1
P Performate Zeiteiteiteilungs- Berechnung Allgemeine Java-Themen 4
B TileMap berechnung? Allgemeine Java-Themen 8
P jodaTime Berechnung Geburtstag Allgemeine Java-Themen 1
K Probleme bei Berechnung der Komplexität Allgemeine Java-Themen 7
S Welcher Schleifen type für eine Berechnung Allgemeine Java-Themen 7
B BlueJ Potenz Berechnung Allgemeine Java-Themen 16
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
M Berechnung verbessern Allgemeine Java-Themen 8
W OOP Berechnung des Skalarprodukts Allgemeine Java-Themen 9
D Berechnung von Sonnenauf und Sonnenuntergang Allgemeine Java-Themen 2
E Berechnung in Arraylist Allgemeine Java-Themen 10
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
E Falsche Ergebnisse bei PQ-Formel Berechnung Allgemeine Java-Themen 12
N Optimierung einer Berechnung Allgemeine Java-Themen 17
G java.sql Time Berechnung Allgemeine Java-Themen 6
Eldorado Berechnung von Koordinaten, die zufällig aussehen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
Private Void rekursive vs. iterative Lösung für Berechnung der Fakultät Allgemeine Java-Themen 12
S YUV to RGB (einfache Berechnung) Allgemeine Java-Themen 5
G Programm zur Berechnung von Summe, Median, Erwartungswert, usw von einem Array Allgemeine Java-Themen 7
C Bilder rotieren, Denkfehler in der Berechnung? Allgemeine Java-Themen 2
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
T Berechnung in zweidimensionalem Array Allgemeine Java-Themen 3
X hashCode() Berechnung Allgemeine Java-Themen 5
R Tabelle - Berechnung der "Zeilenart" Allgemeine Java-Themen 2
L Berechnung mit Module bis bes.timme Zahl erreicht. Allgemeine Java-Themen 4
P CRC Berechnung Allgemeine Java-Themen 2
J berechnung von potenzen und wurzel-ziehen ohne klasse " Allgemeine Java-Themen 14
D Problem bei einer Berechnung (pow?) Allgemeine Java-Themen 3
P Java-Programm zur Berechnung globaler Minimas und Maximas-ff Allgemeine Java-Themen 4
B Primzahlen Berechnung optimieren Allgemeine Java-Themen 7
A Probleme bei der Berechnung von Pi! Java Problem Allgemeine Java-Themen 2
M Servlet --> Berechnung --> Timeout vom Proxy oder IE!? Allgemeine Java-Themen 7

Ähnliche Java Themen


Oben