UL/FRI/UNI-RI/OTI/Izpiti/2007-03-28
Iz E-študij, proste zakladnice študentskega znanja
|
Izpit z dne 28.03.2007
Čas pisanja: 60 minut.
|
1. naloga
Za komunikacijo po dvojiškem komunikacijskem kqanalu se uporabljata znaka "nič" in "ena". Zaradi motenj pri prenosu prihaja do napak. Ve se, da je verjetnost oddajanja znaka "nič" 0.5, verjetnost previlnega prenosa znaka "nič" 0.75 in verjetnost napake pri prenosu znaka "ena" 0.5. Kdaj sprejemete več informacije: v primeru, ko poznate sprejeti znak in izveste kateri znak je bil oddan, ali v primeru, ko poznate oddani znak in izveste kateri znak je bil sprejet? Kolkišna je razlika?
najprej razpredelnica:
Y\X 0 1
0 0.375 0.25 0.625
1 0.125 0.25 0.375
0.5 0.5 1
naloga sprašuje po H(X | Y) in H(Y | X), računamo po delih
H(X | Y = 0) = H(0.6,0.4) = 0.97bit
H(X | Y = 1) = H(1 / 3,2 / 3) = 0.92bit
H(X | Y) = 0.625 * H(X | Y = 0) + 0.375 * H(X | Y = 1) = 0.9512bit
podobno za H(Y | X) dobimo 0.9056 bit
razlika med njima je 0.0456 bit
Opomba: H(X | Y) lahko računamo tudi po H(X | Y) = H(X,Y) − H(Y), kar saj pri meni povzroča dosti manj napak.
2. naloga
Vir brez spomina oddaja znake A={a, b, c, d} z vrejetnostmi P = {0.2, 0.2, 0.2, 0.4}. Znake želimo s Huffmanovim postopkom kodirati v abecedo B = {0, 1}. Opredelite dobljene kode glede enakomernosti, enoznačnosti in trenutnosti, ter izračunajte učinkovitost!
lahko dobimo 2 kombinaciji huffmanovih kodov, sta enakovredni:
a=11, b=10, c=01, d=00: enakomeren, enoznačen, trenuten
a=111, b=110, c=10, d=0: neenakomeren, enoznačen, trenuten
povprečna dolžina je pri obeh 2
H(0.2, 0.2, 0.2, 0.4)=1.922 bit
učinkovitost: H/N=1.922/2=0.961
3. naloga
Izračunajte kapaciteto diskretnega komunikacijskega kanala, v katerega vstopata znaka x1 in x2 iz njega pa izstopajo y1, y2 in y3! Kanal dobro opisuje verjetnostna matrika
kapaciteta: C = max{I(X;Y)} = max{H(X) − H(X | Y)}
za ta maksimum moramo uporabit razporeditev X (0.5, 0.5)
A ne bi mogl to nalogo tko delat da daš za vrjetnosti α in 1 − α pol bi pa odvajal da dobiš vn maksimalne zadeve...Vsaj pomojem...
se strinjam. To se rešuje kot na vajah, torej z nelepim odvodom :)
zdej iz tiste matrike izračunamo H(X | Y):
H(X | Y = y1) = H(0.5,0.5) = 1bit
a tuki si se Px kr spomnu... vidm da gledaš vsoto stolpca samo zakaj tako: jst sm vzel razmerje med zgornjo in spodnjo številko v stolpcu, če kdo misli da to ni prav nej kr pove, tud jst nism doktor OTIja :P
H(X | Y = y2) = H(1,0) = 0bit
H(X | Y = y3) = H(1 / 3,2 / 3) = 0.918bit
pol to skupi zmečemo:
H(X | Y) = (0.5 * px1 + 0.5 * px2) * 1bit + (0.25 * px1 + 0.5 * px2) * 0.918bit
v drugi vrstici smo modro ugotovili da sta
zato je H(X | Y) = 0.724bit
C = H(0.5,0.5) − H(X | Y) = 1 − 0.724 = 0.276
Pravilna resitev (100%) je I(X;Y) = 0,16 // Da, to je pravilna resitev! Dodajam svoj postopek:
p1 = x p2 = 1 − x
To sta verjetnosti, ki nam povesta, ce pride na vhod x1 ali x2.
Nato si lahko naredimo tabelo:
x/y| y1 | y2 | y3 | X x1 | x/2 | x/4 | x/4 | x x2 |(1-x)/2| 0 |(1-x)/2| 1-x Y-lon| 1/2 | x/4 |(2-x)/4|
Zadeva je malo zamaknjena, ampak sej, ce se potrudte, boste vidl kaj pise. :) Skratka...dobis ji tko, da prvo vrstica matrike mnozis z x, drugo vrstico pa z (1-x).
Ko imamo to, lahko zapisemo:
C = max{I(x;y)}
Vemo, da je I(x;y) = H(x) − H(x | y) = H(y) − H(y | x)
Jaz sem si za racunanje zbram drugo varjanto, ker pridejo lepse stevilke...
Se pravi zapisemo:
H(y) = H(1 / 2,x / 4,(2 − x) / 4)
H(y | x) = x * H((x / 2) / x,(x / 4) / x,(x / 4) / x) + (1 − x) * H((1 − x) / 2) / (1 − x),0 / (1 − x),((1 − x) / 2) / (1 − x)) = = x * H(1 / 2,1 / 4,1 / 4) + (1 − x) * H(1 / 2,0,1 / 2) = 3x / 2 + (1 − x) = '''(2 + x) / 2'''
In zdej pride na vrsto zoperen del...racunanje. :)
I(x;y) = − 1 / 2 * log1 / 2 − x / 4 * logx / 4 − (2 − x) / 4 * log(2 − x) / 4 − (2 + x) / 2
Ker iscemo maksimalno kapaciteto, moramo najti maksimum tega, kot zgoraj pise( C = max{I(x;y)}). Zato moramo to odvajati po x-u in ker iscemo maksimum, enacimo odvod informacije z 0.
Also...to se mi ne da pisat, kako to odvajamo, mal ponovite odvode pa bo slo. :) Skratka, ven dobimo x = 0.4.
(/////****** ekola tu imete postopek za odvod in resitev x
http://www.wolframalpha.com/input/?i=solve[D[-1/2*log[2,1/2]+-+x/4+*+log[2,+x/4]+-+(2-x)/4+*+log[2,+(2-x)/4]+-+(2%2Bx)/2+,x],x]
)
Zdaj lahko poracunamo:
H(y) = H(1 / 2,1 / 10,4 / 10) = 1,36
H(y / x) = 1,2
I(x;y) = 1,36 − 1,2 = 0,16
4. naloga
Izdelajte logično shemo za kodirnik cikličnega polinoma g(p) = p3 + p + 1, nato pa za kod z=(0101) pokažite, kako se s kodirnikom zgenerira ustrezna kodna zamenjava!
ne da se mi razlagat kako deluje LFSR, glejte učbenik.
| korak | x | vhod | p^3 |
| 0 | 000 | 0 | 0 |
| 1 | 000 | 1 | 1 |
| 2 | 110 | 0 | 0 |
| 3 | 011 | 1 | 0 |
| 4 | 001 |
tako dobimo x = (0101 | 100)
5. naloga
Z uporabo z-transformacije rešite diferenčno enačbo
, z začetnima pogojema x( − 2) = 0, x( − 1) = − 1!
Uporabna zveza:
Za potrebe Z transformacije enačbo najprej množimo z z − k ter sumiramo od k = 0 do
:
Ker moramo enačbo spraviti v obliko, primerno za transformacijo, izračunamo nekaj členov iz vsote, da bomo kasneje s premikom k-ja lahko dobili vsote enakih oblik:
Sedaj uvedemo k' = k − 1 ter k'' = k − 2, vstavimo začetne pogoje, opravimo Z transformacijo in dobimo:
Izpostavimo X(z) ter preuredimo enačbo in razčlenimo imenovalec:
Sledi razvoj v delne ulomke ter izračun residuumov:
X(z) zapišemo končno kot:
Po izvedbi inverzne Z transformacije dobimo: