Zur Beschreibungsseite auf Commons

Datei:Crc shift register 2.svg

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Originaldatei(SVG-Datei, Basisgröße: 525 × 225 Pixel, Dateigröße: 30 KB)

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
English: CRC shift register
Quelle Eigenes Werk
Urheber Biezl
 
Diese W3C-unbestimmte Vektorgrafik wurde mit Inkscape erstellt .

Lizenz

Public domain Ich, der Urheberrechtsinhaber dieses Werkes, veröffentliche es als gemeinfrei. Dies gilt weltweit.
In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist:
Ich gewähre jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich.

GNU octave / MATLAB Simulation

% Biezl 2008

% shiftRegister := andvanced circuit
% shiftRegister2 := basic circuit

printf( "Definition: data(1,1)= Bit0/LSB data(1,lenght(data)) = MSB\n");

data = [1,0,0,0,1]

polynom = [1,1,0,0,1]
shiftRegister = zeros(1, length(polynom)-1);
size(shiftRegister)
size(data)

%----

for i=length(data):-1:1

  temp = ( data(1,i) != shiftRegister(1,length(shiftRegister)) ); % MSB
  for j=length(shiftRegister):-1:2 % Schieben
    if polynom(1,j) == 0
      shiftRegister(1,j) = shiftRegister(1,j-1);
    else
      shiftRegister(1,j) = shiftRegister(1,j-1) != temp; % XOR
    end
  end
  shiftRegister(1,1) = temp; %LSB
  % shiftRegister

end

%----

shiftRegister2 = zeros(1, length(polynom)-1);
dataExt = [zeros(1, length(polynom)-1), data];

for i=length(dataExt):-1:1

  temp = ( dataExt(1,i) != shiftRegister2(1,length(shiftRegister2)) ); % MSB
  temp2 = shiftRegister2(1,length(shiftRegister2));
  for j=length(shiftRegister2):-1:2
    if polynom(1,j) == 0
      shiftRegister2(1,j) = shiftRegister2(1,j-1);
    else
      shiftRegister2(1,j) = shiftRegister2(1,j-1) != temp2;
    end
  end
  shiftRegister2(1,1) = temp; %LSB
  shiftRegister2

end

%----

check = [ shiftRegister, data ]; % LSB -> MSB
shiftRegisterCheck = zeros(1, length(polynom)-1);

for i=length(check):-1:1

  temp = ( check(1,i) != shiftRegisterCheck(1,length(shiftRegisterCheck)) ); % MSB
  for j=length(shiftRegisterCheck):-1:2
    if polynom(1,j) == 0
      shiftRegisterCheck(1,j) = shiftRegisterCheck(1,j-1);
    else
      shiftRegisterCheck(1,j) = shiftRegisterCheck(1,j-1) != temp;
    end
  end
  shiftRegisterCheck(1,1) = temp; %LSB
  % shiftRegisterCheck

end

%----

check2 = [ shiftRegister2, data ]; % LSB -> MSB
shiftRegisterCheck2 = zeros(1, length(polynom)-1);

for i=length(check2):-1:1

  temp = ( check2(1,i) != shiftRegisterCheck2(1,length(shiftRegisterCheck2)) ); % MSB
  temp2 = shiftRegisterCheck2(1,length(shiftRegisterCheck2)) ; % MSB
  for j=length(shiftRegisterCheck2):-1:2
    if polynom(1,j) == 0
      shiftRegisterCheck2(1,j) = shiftRegisterCheck2(1,j-1);
    else
      shiftRegisterCheck2(1,j) = shiftRegisterCheck2(1,j-1) != temp2;
    end
  end
  shiftRegisterCheck2(1,1) = temp; %LSB
  %shiftRegisterCheck2

end

%----

shiftRegister
shiftRegisterCheck

shiftRegister2
shiftRegisterCheck2

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

image/svg+xml

a39fe25d3c62ed1b92738f34f273b23ff1318ed8

30.946 Byte

225 Pixel

525 Pixel

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell08:16, 23. Jul. 2008Vorschaubild der Version vom 08:16, 23. Jul. 2008525 × 225 (30 KB)Biezl{{Information |Description= |Source= |Date= |Author= |Permission= |other_versions= }}
19:56, 21. Jul. 2008Vorschaubild der Version vom 19:56, 21. Jul. 2008525 × 225 (29 KB)Biezl{{Information |Description={{en|1=CRC shift register}} |Source=Own work by uploader |Author=Biezl |Date= |Permission= |other_versions= }} {{Inkscape}} {{ImageUpload|full}} Category:Coding theory

Die folgende Seite verwendet diese Datei: