Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Häirekindluse kodutöö (0)

1 Hindamata
Punktid
  • Töö eesmärk
    Analüüsida infosüsteemi häirekindlust:
    Joonis 1. Töös kasutatud infosüsteemi struktuurskeem
    Minu lähteandmed ülesandeks:
    Edastuskanal
    Modulatsioon
    Häirekindel kood sisene
    Häirekindel kood väline
    AWGN
    2-FSK
    BCH (15,7)
    RS GF (16) 5-kordse veaparandusega
    Tabel 1. Lähteandmed
  • Struktuurskeemi osade lühikirjeldused
  • Modelleerimise struktuurskeem SIMULINKis
    Kogu ülesande lahendamisel kasutasin ühte ja sama struktuurskeemi:
    Joonis 2. Struktuurskeem SIMULINKis
  • Edastuskanal -> AWGN
    AWGN (Additive White Gaussian Noise) – aditiivse valge Gaussi müraga kanal on laialdaselt kasutatav kanali mudel:
    Joonis 3. AWGN kanali struktuurskeem
    Kanalis liitub edastavale infosignaalile gaussi normaaljaotusega valge müra, kusjuures müra spektraaltihedus on kõikidel sagedustel konstantne . Väljundis saadakse liitunud signaal .
    AKF Rv(Ƭ), mis sisaldab kaalutud deltafunktsiooni.
    AWGN mudel on ka sageli piisavalt hea, et seda kasutatakse ka satelliitsides juhul kui saatja ning vastuvõtja üksteist näevad.
  • Modulatsioonimeetod -> 2-FSK
    Frequency - shift keying (FSK) ehk BFSK ( Binary Frequency-shift keying) on üks modulatsiooni meetoditest . Digitaalse infoedastuse juures moduleeritakse pidevat kandevõnkumist signaaliga, mis kannab digitaalsümboleid.
    Kui meil on sagedusmanipulatsioon FSK, siis selle korral sisendjada ( binaarne ) väärtused 0 ja 1 vastavateks signaalideks s0(t) = A cos( ω0t) ja s1(t) = A cos(ω 1t). Sageduste vahe peab ka signaalidel olema piisav selleks, et vastuvõtul teha vahet, milline komponent siis vastu võeti.
    Joonis 4. Binaarse FSK näide
  • Häirekindel kood -> BCH (15,7) ja RS GF(16) 5-kordse veaparandusega
    Eriti tähtsa häirekindlate koodide klassi moodustavad BCH koodid, mis on mitmekordseid vigu parandav tsükkelkood. Koodi kasutatakse arvutustehnikas, andmeedastusel, info salvestamisel ja ka meresides.
    Häirekindel kood BCH (15,7)
    Tegemist binaarse ehk kahendkoodilise BCH koodiga . Sümbolite arv koodiblokis : 15, infosümbolite arv koodiblokis: 7. Kodeerima peab nii, et oleks võimalik kasutada algebralisi dekodeerimis meetodeid . BCH koodid koostatakse parandama vigu kuni q kordsusega. See tähendab, et parandatakse kõik vead kuni kordsusega q kaasaarvatud.
    BCH koodi lubatud koodsõnade omadused on dekodeerimise aluseks.
    BCH (15,7) – koodsõna pikkuseks on 15 sümbolit. Kuna kasulikke infosümboleid on 7, siis koodi liiasuseks on 8. Seega on kood võimeline parandama 2-kordseid vigu.
    BCH koode koostatakse järgmiste eeskirjade alusel:
    1. Valitakse sobiv koodipikkus n= 2m - 1
    2. Sõltuvalt vajadusest määratakse vigade parandamise kordsus q
    3. Leitakse korpuse GF (2m) primitiivne element β
    4. Leitakse korpuse GF (2m) primitiivse elemendi β minimaalne hulkliige M(z)
    5. Korrastatakse korpuse GF (2m) elemendid βi
    6. Moodustatakse tekitav hulkliige gr (z)
    7. Leitakse infosümbolite arv
    Kui meil on häirekindel koob BCH (15,7), siis selle koodi tekitav hulkliige on: gr (z) = (z8+z7 +z6+z4+z1) ning selle koodi lubatud koodsõnade arv on 27=128.
    Häirekindel kood RS GF(16)
    Tegemist on mittebinaarse BCH koodiga. Üks levinumaid ongi Reed -Solomoni kood.
    Reed-Solomoni koodi sümbolid kuuluvad lõplikku korpusesse GF (2m). RS koodi pikkus on N= 2m-1 = K+R R – liiaste plokkide arv . Kogu infosümbolite arv on k = mK. K – infoplokkide arv, m - kahendsümbolite plokipikkus .
    Minu andmed: RS GF (16) -> 2m = 16, seega N = 15 N – primitiivne koodipikkus. Q = 5 ehk viiekordne veaparandus. Sellise koodi tekitava hulkliikme aste on 2Q = 8. Liiaste sümbolite arv R = 2Q = 8 ning infoplokkide arv K = N-R = 15 – 8 = 7.
    Reed – Solomoni kood on võimeline parandama vigu plokkide kaupa.
  • MATLAB programm
    clear all; % Puhastab matlabi muutujate mälu, see on tähtis kuna vanad muutujate väärtused võivad edasi kanduda uutesse katsetustesse.
    clc; %Puhastab matlab ekraani.
    warning('off','comm:obsolete:bchpoly'); %lülitab välja vea teateid
    warning('off','comm:obsolete:bchenco'); %lülitab välja vea teateid
    warning('off','comm:obsolete:bchdeco'); %lülitab välja vea teateid
    warning('off','comm:obsolete:rsenco'); %lülitab välja vea teateid
    warning('off','comm:obsolete:rsdeco'); %lülitab välja vea teateid
    Esimene_mudel = 'Mudel ilma kodeerimiseta' %pealkiri
    %____________________________________________________________
    BER_kodeerimiseta = [];%moodustatakse tühi hulk
    W = 12500;%info bittide arv
    MFSK = 2;%M-FSK modulatsiooni kordsus
    S = log2(MFSK);%abi muutuja
    Samples_per_symbol = 100; %M-FSK modulatsiooni diskreetimis sagedus
    SNR_VEC = -3:1.3:15; %SNR suhte vektor , mille väärtused lähevad kanalisse sammuga 1.3dB
    msg = randint(W*16,1); %suvalise infosõnumi genereerimine kahend süsteemis
    x = msg; %muutujale "x" määratakse muutuja "msg" väärtused
    %____________________________________________________________
    % Tsükli loomine
    for S_N = SNR_VEC %tsükli alustamine,muutuja "S_N" omastab "SNR_VEC" väärtused ühekaupa järjekorraliselt
    %____________________________________________________________
    sim('skeem'); % määratud eelnevate parameetritega käivitatakse Simulinki mudel
    y = y(1: length (x));%lõigatakse liigsed arvud maha mida eripärasuse tõttu genereerib M-FSK modulaator
    %____________________________________________________________
    % Veaarvutus
    BER = biterr(x, y)/length(x); %arvutatakse bitivea tõenäosus
    fprintf('\n S_N = %f BER = %f\n', S_N, BER)%näitab BER väärtuse vastavalt S/N suhele kanalis
    BER_kodeerimiseta(length(BER_kodeerimiseta) + 1) = BER %sellega järgmine välja arvatud BER läheb järgmisele BER vektoris kohale
    end %tsükli lõpp, mille resultaadina on BER vektor , mis sisaldab sama palju väärtuseid kui SNR suhte vektor
    %____________________________________________________________
    Teine_mudel = 'Mudel BCH(15,7) kodeerimisega'% pealkiri
    BER_BCH_kodeerimisega = []; %moodustatakse tühi hulk
    M = 5;%BCH koodi pikkuse määramise koefitsient teooria järgi
    N = 2^M-1; %kodeeritud sõna või bloki pikus bittides
    params = bchpoly(N);%nähtav tabel
    K = params(3,2);%Infobloki pikkus
    T = params(3,3);%vea kordsuse parandamise võimekus
    x3 = reshape(x,length(x)/K,K);%õige suurusega maatriksi formeerimine info sisendvoogust vastavalt määratud BCH parameetritele
    x2 = bchenco(x3,N,K);%BCH kodeerimine
    x = x2(:);%kodeeritud maatriksi jaotamine üheks veeruks või reaks
    % Tsükli loomine
    for S_N = SNR_VEC %tsükli alustamine
    %____________________________________________________________
    sim('skeem'); %üleminek Simulinki keskonda
    y = y(1:length(x));%lõigatakse liigsed arvud maha
    %____________________________________________________________
    % BCH dekodeerimine
    y2 = reshape(y,length(y)/N,N);%BCH kodeeritud maatriksi kuju taastamine
    y3 = bchdeco(y2,K,T);%BCH dekodeerimine
    %____________________________________________________________
    % Veaarvutus
    BER = biterr(x3, y3)/length(msg);%arvutatakse bitivea tõenäosus
    fprintf('\n S_N = %f BER = %f\n', S_N, BER) %näitab BER väärtuse vastavalt SNR suhtele kanalis
    BER_BCH_kodeerimisega(length(BER_BCH_kodeerimisega) + 1) = BER %sellega järgmine välja arvatud BER läheb järgmisele BER vektoris kohale
    end
    %____________________________________________________________
    Kolmas_mudel = 'Mudel kodeerimisega - BCH(15,7)&RS GF(2^4)5-se vigu parandamisega' %pealkiri
    BER_BCH_RS_kodeerimisega = [];%moodustatakse tühi hulk
    LL = 5;%vea kordsuse parandamise võimekus plokkides kuna tegemist RS koodiga
    M = 4;%RS koodi pikkuse määramise koefitsient teooria
    N_rs = 2^M - 1; %kodeeritud sõna pikkus plokkides
    K_rs=N_rs-2*LL; %infosõna plokkide arv
    L=M*K_rs; %infobittide arv kodeeritud sõnas-üleminek plokkidest bittide peale
    %T = floor ((N - K)/2);%Vea parandamise võimekus
    %x2 = x2(:);
    t2ide = mod(L - mod(length(x2(:)),L),L);%kahe järgmise reaga moodustatakse liiasus, et kokku sobitada koodide pikkused
    msg_t2ide = cat(2, x2(:)', zeros(1, t2ide));
    rs_encode = rsenco(msg_t2ide,N_rs,K_rs);%RS kodeerimine
    x = rs_encode(:);%muutujale "x" määratakse muutuja "rs_encode" väärtused jaotutud üheks veeruks või reaks
    % Tsükli loomine
    for S_N = SNR_VEC % tsükli alustamine
    %____________________________________________________________
    sim('skeem'); % üleminek Simulinki keskonda
    y = y(1:length(x)); % lõigatakse liigsed arvud maha
    %____________________________________________________________
    %RS dekodeerimine
    rs_decode = rsdeco(y, N_rs, K_rs); %RS dekodeerimine
    %BCH dekodeerimine
    y2 = reshape(rs_decode(1:length(x2(:))),length(x2(:))/N,N);%BCH kodeeritud maatriksi kuju taastamine
    y3 =bchdeco(y2,K,T);%BCH dekodeerimine
    %____________________________________________________________
    % Veaarvutus
    BER = biterr(x3, y3)/length(msg); % arvutatakse bitivea tõenäosus
    fprintf('\n S_N = %f BER = %f\n', S_N, BER) % näitab BER väärtuse vastavalt SNR suhtele kanalis
    BER_BCH_RS_kodeerimisega(length(BER_BCH_RS_kodeerimisega)+1)=BER
    % sellega järgmine välja arvatud BER läheb järgmisele BER vektoris kohale
    End
    %____________________________________________________________
    % Modelleerimiskõverate graafiline esitus.
    semilogy(SNR_VEC,BER_kodeerimiseta,'b-',SNR_VEC,BER_BCH_kodeerimisega,'g-',SNR_VEC,BER_BCH_RS_kodeerimisega,'r-', SNR_VEC, ber0 ,'mh-')%määrame graafiku kõverate
    title('Nelja mudeli koverad');%graafiku pealkiri
    xlabel('SNR, dB'); ylabel('BER'); %märgistame teljed
    legend('Kodeerimata', 'BCH(15,7) kodeeritud', 'RS(16) -> BCH(15,7) kodeeritud', 'Teoreetiline');%graafiku joonte seletused
    grid on;%võrk peale
    fprintf('\n SNR_VEC = %f BER_kodeerimiseta = %f BER_BCH_kodeerimisega = %f BER_BCH_RS_kodeerimisega = %f\n',SNR_VEC, BER_kodeerimiseta, BER_BCH_kodeerimisega, BER_BCH_RS_kodeerimisega);%näitab BER väärtused vastavalt S/N suhele kanalis kolme mudeli puhul
  • Modelleerimistulem graafikuna
    Modelleerimisel oli kasutusel 12500 bitine signaal:
    Joonis 5. Modelleerimistulem
  • Modelleerimistulemi graafik koos teoreetilise kõveraga
    Joonis 6. Modelleerimistulem 2
    Teoreetilise häirekindluse kõvera arvutamiseks kasutatakse valemit:
  • Modelleerimistulemi analüüs
    Võiks öelda, et modelleerimise tulemused olid igati ootuspärased. Nagu eeldada võis annab kodeeritud kanal võrreldes kodeerimata kanaliga meile parema veatõenäosuse väiksema SNR suhte korral. Jooniselt on ka näha seda, et kui kanalit kodeerida lisaks veel ühe koodiga, siis ei ole enam tulemuste nii suurt paranemist.
    Kuigi minu töö puhul ei jõudnud kahe koodiga kodeeritud kanal välja nõutud täpsuseni, siis siiski võib arvata, et koodide lisamisel kanalile ei saavuta me enam märkimisväärset tulemuste paranemist.
    Vaadates modelleerimiskõveraid võib näha, et teoreetiline veakõver ja modelleeritud veakõver on suhteliselt sarnased. Ma andsin sisendisse ainult 12500 bitti , kui suurendada sisendisse antavate bittide arvu ja tulemused lähevad täpsemaks, siis peaks need kaks kõverat veelgi rohkem üksteise poole nihkuma.
    Kasutatud materjalid:
  • http://en.wikipedia.org/wiki/Frequency-shift_keying
  • http://en.wikipedia.org/wiki/Additive_white_Gaussian_noise
  • http://www.lr.ttu.ee/~ttrump/hajaspekter_sides/Hajaspekter_sides.pdf
  • http://www.lr.ttu.ee/~umadar/materjale/IRZ0020%20Kevadsemester%202010/IRZ0020%20L%202010/IRZ0020%20pdf%202010/Microsoft%20PowerPoint%20-%20K%20ja%20Kr%20L%2010.ppt%20%5BCompatibility%20M.pdf
  • http://www.lr.ttu.ee/~umadar/materjale/IRZ0020%20Kevadsemester%202010/IRZ0020%20L%202010/IRZ0020%20pdf%202010/Microsoft%20PowerPoint%20-%20K%20ja%20Kr%20L%2013.ppt%20%5BCompatibility%20M.pdf
  • Vasakule Paremale
    Häirekindluse kodutöö #1 Häirekindluse kodutöö #2 Häirekindluse kodutöö #3 Häirekindluse kodutöö #4 Häirekindluse kodutöö #5 Häirekindluse kodutöö #6 Häirekindluse kodutöö #7 Häirekindluse kodutöö #8
    Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
    Leheküljed ~ 8 lehte Lehekülgede arv dokumendis
    Aeg2011-01-09 Kuupäev, millal dokument üles laeti
    Allalaadimisi 30 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor leilaz Õppematerjali autor
    Töös on võrreldud kahte koodi BCH ja RS ning nende tundlikkust mürale,mis tavaliselt liitub infosignaaliga edastuskanalis.
    Praktiliselt on ära toodud ka MatLABi skript, mille abil toimub matemaatiline võrdlus.

    Kasutatud allikad

    Sarnased õppematerjalid

    Eksamiküsimused ja vastused 2009
    32
    doc

    Eksamiküsimused ja vastused 2009

    miinimumi, kas otseselt või funktsioonide abil. 17 Kahe täiesti teada oleva signaali optimaalse eristaja struktuurskeem.(8 Pideva edastuskanali häirekindlus) Koherentne vastuvõtt=täiesti teadaolev vastuvõtt. Ainuke teadmata fakt vastuvõtu poolel on see, kumb signaalidest oli edastatud. Kas see, mis kandis edasi sümbolit 1 või see, mis kandis edasi sümbolit 0. See on täpselt teada olevate signaalide eristamise ülesanne. Sellist vastuvõttu iseloomustavad häirekindluse kõverad on parimad. Algoritmiks on see, et arvutatakse mõlema signaali ruutkeskmised kaugused ja võrreldakse neid. Optimaalse vastuvõtja struktuure sab muuta, avaldades vastuvõetud signaali ja tugisignaalide vahelise kauguste valemid. Struktuurskeem on slaidil 20. 18. M-modulatsiooniga signaalide optimaalse eristaja struktuurskeem .(8 Pideva edastuskanali häirekindlus) Kui vastuvõetud signaal ei ole binaarne, kasutame M-kanalist korrelatsioonvastuvõtjat.

    Kodeerimine ja krüpteerimine
    Side konspekt 2020- eksami kordamisküsimused
    45
    docx

    Side konspekt 2020 / eksami kordamisküsimused

    Eksami küsimused: 1. Mida tähendab mitmekiireline levi Mitmekiireline levi – info levib mööda peegeldusi, otselevi on väga harva. Kohale jõuab mitu lainet samaaegselt. Halb, sest lained liituvad (võivad tasakaalustada ennast ning signaal kustub ära, nõrgeneb). Kuna inimene liigub, muutub sagedus – lainepikkus – tuleb kogu aeg kanalit järgi kruttida. 2. Mida tähendab alla- ja üleslüli ning dupleks kaugus mobiilsides Pertaining to computer networks, a downlink is a connection from data communications equipment towards data terminal equipment. This is also known as a downstream connection. The uplink port is used to connect a device or smaller local network to a larger network, or connect to the next "higher" device in the topology. For example, the edge switch connects "up" to the distribution layer managed switch. Lühidalt - The communication going from a satellite to ground is called downlink, and when it is

    Side
    Mikroprotsessortehnika
    282
    pdf

    Mikroprotsessortehnika

    TALLINNA TEHNIKAÜLIKOOL ELEKTRIAJAMITE JA JÕUELEKTROONIKA INSTITUUT ROBOTITEHNIKA ÕPPETOOL MIKROPROTSESSORTEHNIKA TÕNU LEHTLA LEMBIT KULMAR Tallinn 1995 2 T Lehtla, L Kulmar. Mikroprotsessortehnika TTÜ Elektriajamite ja jõuelektroonika instituut. Tallinn, 1995. 141 lk Toimetanud Juhan Nurme Kujundanud Ann Gornischeff Autorid tänavad TTÜ arvutitehnika instituudi lektorit Toomas Konti ja sama instituudi dotsenti Vladimir Viiest raamatu käsikirjas tehtud paranduste ja täienduste eest.  T Lehtla, L Kulmar, 1995  TTÜ elektriajamite ja jõuelektroonika instituut, 1995 Kopli 82, 10412 Tallinn Tel 620 3704, 620 3700. Faks 620 3701 ISBN 9985-69-006-0 TTÜ trükikoda. Koskla 2/9, Tallinn EE0109 Tel 552 106 3 Sisukord Saateks

    Tehnikalugu



    Meedia

    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun