Laboratoriniai darbai

Kanalo kodavimas

10   (1 atsiliepimai)
Kanalo kodavimas 1 puslapis
Kanalo kodavimas 2 puslapis
Kanalo kodavimas 3 puslapis
Kanalo kodavimas 4 puslapis
Kanalo kodavimas 5 puslapis
Kanalo kodavimas 6 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Išmokti koduoti duomenų kanalą. Užkoduoti duotą paveikslą Hamingo (angl. - Hamming) (7, 4) kodu. Palyginti pasikartojančio (angl. - repetition) ir Hamingo kodų efektyvumą.
BW=im2bw(I);
Paveikslėlio matmenys pakeičiame į 256 x 256 dydį:
I_resized=imresize(BW, [256,256], 'nearest');
figure(1)
imshow(I_resized)
Sukuriame žinučių vektorių S iš duotojo paveikslo:
zin_S=reshape(I_resized, 256*256/4, 4);
Sukuriame kodo generavimo matrica G:
G=[1,0,0,0, 1,0,1;
0,1,0,0, 1,1,1;
0,0,1,0, 1,1,0;
0,0,0,1, 0,1,1];
Gauname perdavimui paruoštą kodą X:
X=mod(double(zin_S)*G,2);
2. Užkoduotus duomenis paveikite triukšmu:
Sukuriame triukšmo vektorių:
T=randsrc(256*256/4,7,[0, 1; 0.03, 0.97]);
Iš X ir T vektorių gauname kanalu perduoto kodo vektorių Y:
Y=xor(T,X);
3. Iškoduokite triukšmu paveiktus duomenis:
Sukuriame lygiškumo matricą P ir sindromų matricą S:
P=[1 0 1;
1 1 1;
1 1 0;
0 1 1];
S=[1 0 0;
1 1 0;
1 1 1;
0 1 1;
1 0 1;
0 1 0;
0 0 1];
Apskaičiuojame sindromo vektorių Z:
Z=mod(Y*S, 2);
Aptinkame kurioje vietoje ir kokioje pozicijoje yra klaida, ir įrašome į kintamąjį klaidos:
klaidos=zeros(256*256/4,7);
for j=1:16384
if Z(j,:)==[1 0 0]
klaidos(j,4)=1;
elseif Z(j,:)==[1 1 0]
klaidos(j,2)=1;
elseif Z(j,:)==[1 1 1]
klaidos(j,1)=1;
elseif Z(j,:)==[0 1 1]
klaidos(j,5)=1;
elseif Z(j,:)==[1 0 1]
klaidos(j,3)=1;
elseif Z(j,:)==[0 1 0]
klaidos(j,6)=1;
elseif Z(j,:)==[0 0 1]
klaidos(j,7)=1;
end;
end;
Ištaisome klaidas ir gauname pradinį kodą X1:
X1=xor(klaidos, Y);
Rekonstruojame žinučių vektorių S1:
S1=X1(:,1:4);
Atstatome pradinį paveikslą I1:
I1=reshape(S1, 256, 256);
figure(2);
imshow(I1);
4. Įvertinkite efektyvumą
Apskaičiuojame Hamingo atstumą tarp S ir S':
A=reshape(zin_S,1,256*256);
A1=reshape(I1,1,256*256);
hamingo_atstumas411=sum(xor(A,A1))
S ir S'K, čia K pasikartojančio kodo ilgis 1, 3, 5, 7 (1 laboratorinis darbas):
lab1_kl=zeros(1,4);
lab1_kl(1,1)=triuksmas_SK('1.jpg',7,1);
lab1_kl(1,2)=triuksmas_SK('1.jpg',7,3);
lab1_kl(1,3)=triuksmas_SK('1.jpg',7,5);
lab1_kl(1,4)=triuksmas_SK('1.jpg',7,7);
hamingo_atstumas412=lab1_kl
S' ir S'K:
hamingo_atstumas413=zeros(1,4);
lab1_pav1=triuksmas_ATSTATYTAS_VEK('1.jpg',7,1);
lab1_pav2=triuksmas_ATSTATYTAS_VEK('1.jpg',7,3);
lab1_pav3=triuksmas_ATSTATYTAS_VEK('1.jpg',7,5);
lab1_pav4=triuksmas_ATSTATYTAS_VEK('1.jpg',7,7);
hamingo_atstumas413(1,1)=sum(xor(A1,lab1_pav1));
hamingo_atstumas413(1,2)=sum(xor(A1,lab1_pav2));
hamingo_atstumas413(1,3)=sum(xor(A1,lab1_pav3));
hamingo_atstumas413(1,4)=sum(xor(A1,lab1_pav4));
hamingo_atstumas413
Apskaičiuojame Hamingo kodu ir pasikartojančiu kodu užkoduotų žinučių duomenų perdavimo spartas:
perdavimo_spartos(1,1)=(256*256)/(((256*256)/4)*7);
perdavimo_spartos(2,1)=(256*256)/(256*256*1);
perdavimo_spartos(3,1)=(256*256)/(256*256*3);
perdavimo_spartos(4,1)=(256*256)/(256*256*4);
perdavimo_spartos(5,1)=(256*256)/(256*256*7);
perdavimo_spartos
Gautieji rezultatai:
1 lentelė. Hamingo atstumai
Atstumas tarp:
Triukšmo lygis, procentais
Hamingo atstumas, bitais
S ir S'
7,00 %
2849
S ir S'1
7,00 %
4532
S ir S'3
7,00 %
958
S ir S'5
7,00 %
227
S ir S'7
7,00 %
43
S' ir S'1
7,00 %
6907
S' ir S'3
7,00 %
3678
S' ir S'5
7,00 %
3003
S' ir S'7
7,00 %
2879
2 lentelė. Duomenų perdavimo spartos priklausomybė nuo algoritmo
Naudotas algoritmas
Duomenų perdavimo sparta
Hamingo kodas
0,5714
Pasikartojančio kodo ilgis 1
1,0000
Pasikartojančio kodo ilgis 3
0,3333
Pasikartojančio kodo ilgis 5
0,2500
Pasikartojančio kodo ilgis 7
0,1429
Išvados:
Atlikę laboratorinį darbą išmokome koduoti duomenų kanalą. Užkodavome...

Daugiau informacijos...

Šį darbą sudaro 761 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.docx)
Apimtis
6 psl., (761 ž.)
Darbo duomenys
  • Elektronikos laboratorinis darbas
  • 6 psl., (761 ž.)
  • Word failas 282 KB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį laboratorinį darbą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt