Professional Documents
Culture Documents
Seminarski Rad G.722
Seminarski Rad G.722
722
1. Opti opis
1.1. Polje rada i kratak opis
Ova Preporuka opisuje karakteristike sistema za audio kodiranje (50 do 7000Hz), koji moe da se koristi za mnotvo govornih aplika ija vieg kvaliteta! "istem za kodiranje koristi tzv! adaptivnu di#eren ijalnu impulsnu kodnu modula iju podopsega ("$%&'P()%Su*%Band Adaptive Di##erential Pulse Code Modulation) u okviru *itske *rzine od +, k*it-s! "istem se unapred odnosi kao +, k*it-s (7 kHz) audio kodiranje! .ada se koristi "$%&'P() tehnika, opseg #rekven ija je podeljen na / podopsega (vii i nii) i signali svakog podopsega su kodirani pomo0u &'P()! "istem ima tri osnovna na1ina rada koji se odnose na *itske *rzine koje se koriste za audio kodiranje na 7kHz2 +,, 5+ i ,3 k*it-s! Poslednja dva na1ina dozvoljavaju da sporedni kanal podataka od 3 i 4+ k*it-s, respektivno, *ude o*ez*e5en unutar +, k*it-s kori0enjem *itova iz nieg podopsega! "lika 4-6!7// prikazuje glavne #unk ionalne delove audio kodeka +,k*it-s (7kHz) kao to sledi2 i) +, k*it-s (7kHz) audio koder se sastoji iz2 % dela za audio prenos koji konvertuje audio signal u uni#ormni digitalni signal koji je kodiran kori0enjem 4, *itova i semplovan sa 4+kHz % "$%&'P() kodera koji smanjuje *itsku *rzinu na +, k*it-s ii) +, k*it-s (7kHz) audio dekoder se sastoji iz2 % "$%&'P() dekodera koji o*avlja suprotnu opera iju od kodera, uz za*eleku da *rzina e#ektivnog audio kodiranja na ulazu u dekoder moe *iti +,, 5+ ili ,3 k*it-s u zavisnosti od na1ina rada % prijemni audio deo koji vri rekonstruk iju audio signala iz uni#ormnog digitalnog signala koji je kodiran kori0enjem 4, *itova i semplovan sa 4+ kHz "lede0a / dela koja su data radi razjanjenja na sli i 4-6!7// koriste se za aplika ije koje se odnose na sporedni kanal podataka unutar +,k*it-s2 % ure5aj za u*a ivanje podataka smeten na kraju prenosnog dela koji, kada je potre*no, koristi 4 ili / audio *ita po oktetu u zavisnosti od na1ina rada i zamenjuje *itove podataka da *i o*ez*edio sporedni kanal podataka sa 3 ili 4+k*it-s, respektivno7 % ure5aj za ekstrahovanje podataka smeten na prijemnom kraju koji odre5uje na1in rada prema kontrolnoj strategiji i ekstrahuje *itove podataka! Paragra# 4!/ sadri #unk ionalni opis delova za audio prenos i audio prijem, 4!8 opisuje na1ine rada i algoritam u*a ivanja *itova, dok 4!, i 4!5 prikazuju #unk ionalni opis "$%&'P() algoritama kodiranja i dekodiranja, respektivno!
prim.1%9 in i 9 out su digitalni signali kodirani sa 4, *itova i semplovani sa 4+kHz prim.2-ovi ure5aji su samo potre*ni za aplika ije koje zahtevaju sporedni kanal podataka unutar +,k*it-s prim.3-sastoji se od +,, 5+ ili ,3k*it-s za audio kodiranje ili 0, 3 ili 4+ k*it-s za podatke prim.4-+,k*it-s signal koji se sastoji od +,, 5+ ili ,3 k*it-s za audio kodiranje u zavisnosti od na1ina rada slika 1/G. 22 !pro"e#i $%#k&io#al#i 'lok dija(ram
Generalni pregled digitalnih prenosnih sistema po standardu G.722 ii) prijem2 % uni#ormno digitalni%analogni konvertor sa 4, *itova i semplovanjem na 4+kHz , % rekonstruktivni #ilter koji sadri +/si#+ korek iju, % ure5aj za podeavanje izlaznog nivoa!
+, k*it-s (7kHz) audio koder koristi +, k*it-s za audio kodiranje u svako vreme nezavisno od na1ina rada! &lgoritam audio kodiranja je tako iza*ran da, *ez slanja *ilo kakve indika ije koderu, zadnji *it, ili dva zadnja *ita najmanje teine nieg podopsega mogu *iti iskori0eni iz audio kodera sa iljem da zamene *itove sporednog kanala podataka! )e5utim, da *i se pove0ale audio per#ormanse za zadati na1in rada, +, k*it-s (7kHz) audio dekoder mora *iti optimizovan za *itsku *rzinu dostupnu audio kodiranju! Prema tome, za aplika ije koje zahtevaju sporedni kanal podataka, indika ija mora *iti unapred poslata da *i se u dekoderu iza*rala varijanta koja je pogodna za dati na1in rada! ;re*a primetiti da je *itska *rzina na ulazu +,k*it-s (7kHz) audio dekodera uvek +, k*it-s ali sadri +,, 5+ ili ,3 k*it-s za audio kodiranje u zavisnosti od na1ina rada! "a gledita algoritma, varijanta kori0ena u "$%
Generalni pregled digitalnih prenosnih sistema po standardu G.722 &'P() dekoderu moe *iti promenjena u *ilo kom oktetu za vreme prenosa! .ada dekoderu nije unapred poslata nikakva indika ija o na1inu rada, tre*a da se koristi varijanta koja se odnosi na nain 1. "itua ija neslaganja na1ina, kada varijanta kori0ena u +, k*it-s (7kHz) audio dekoderu za zadati oktet ne odgovara na1inu rada, ne0e izazvati dis#unk ionalnost dekodera! )e5utim, da *i se uve0ale audio per#ormanse, preporu1ljivo je da strategija kontrole na1ina rada usvojena u ure5aju za ekstrahovanje podataka *ude takva da smanji trajanje neslaganja na1ina!
Generalni pregled digitalnih prenosnih sistema po standardu G.722 @etvoro*itna opera ija umesto esto*itne opera ije u petlji povratne sprege i kod &'P() kodera i kod &'P() dekodera nieg podopsega omogu0ava eventualno u*a ivanje podataka na mestu dva *ita najmanje teine, *ez izazivanja dis#unk ionalnosti u radu dekodera!
1.4.4 M%ltiplekser
)ultiplekser ():A) prikazan na sli i 8-6!7// se koristi da sjedini signale I L i I H iz &'P() kodera nieg i vieg podopsega, respektivno, u kompozitni +, k*it-s signal I, sa oktet #ormatom za prenos! >zlazni oktet #ormat, posle multipleksiranja, je slede0eg o*lika2
I H 4 I H / I L4 I L / I L 8 I L , I L 5 I L +
gde je I H 4 prvi preneseni *it, a I H 4 i I L4 su *itovi najve0e teine signala I H i I L , respektivno, dok su I H / i I L + su *itovi najmanje teine signala I H i I L , respektivno!
1.0.1 Dem%ltiplekser
'emultiplekser ('):A) ra1lanjuje primljeni +, k*it-s oktet%#ormatirani signal I r na dva signala I Lr i I H koji #ormiraju ulazne kodne re1i &'P() dekodera nieg i vieg podopsega, respektivno!
Slika /G 22 Blok dija(ram ADPCM dekodera #i7e( podopse(a : slede0oj ta*eli je za svaku indika iju prikazan signal kvantiza ione razlike koji se *ira, inverzni adaptivni kvantizer koji tre*a da se koristi i *roj *itova najmanje teine koji se *riu u ulaznoj kodnoj re1i! Primljena indikacija o nainu rada Odabrani signal kvantizacione razlike
d L,+
d L ,5
d L,,
2 1 2
2.
2.1
:arakteristike pre#osa
:arakteristike -*%,#i9 porto*a i test ta,aka
: ovoj o*lasti o*radi0emo zvu1ne ulaze i izlazne portove i test ta1ke (& i $)! Cadatak konstruktora je da odredi karakteristike zvu1nih portova i test ta1aka (relativne nivoe, optere0enja, da li su i ujedna1ene ili neujedna1ene)! )ikro#on, predpoja1ava1, poja1ava1 snage i zvu1nik tre*a da *udu iza*rani tako da odgovaraju uputu spe i#ika ije zvu1nih portova2 u ovom slu1aju nominalan propusni opseg, optimalan um i izo*li1enje! Preporu1ljivo je uzeti ulazna i izlazna optere0enja tako da *udu visoke i niske, respektivno, za neujedna1en kraj dok za ujedna1en ova optere0enja tre*a da *udu +00 !
2.2
;a,ke prekore,e#ja
;a1ka prekora1enja za alalogne%u%digitalne i digitalne%u audio konvertore tre*a da *ude DEd$m0 0!8d$! Predpostavljena vrednost je ista sa nominalnim govornim nivom za +,k*it-s P(), ali sa irom marginom za maksimalni signal koji
Generalni pregled digitalnih prenosnih sistema po standardu G.722 se pojavljuje kod on#eren ijske !)etod za merenje ta1ke prekora1enja je i dalje u #azi istraivanja!
2.3
?ominalna re#erentna #rekven ija od 4000Hz je prikazana ispod, ustvari tre*a iza*rati #rekven iju od 40/0Hz! ;oleran ija #rekven ije tre*a da *ude D/ do %7Hz!
2.4
Frednosti i ograni1enja koji su prikazani ispod tre*a da se poklope sa +,k*it-s (7 kHz) zvu1nog kodera i dekodera povazanog s jednog na drugi kraj! >z prakti1nih razloga, merenja mogu *iti izvedena u kon#igura iji s petljom kao to je prikazano na sli i Ea-6!7//! )e5utim, takva kon#igura ija sa petljom je u*a1ena samo radi loka ije kodera i dekodera na krajevima veze! Ova ograni1enja se odnose na na1in rada 4!
2.4.4 =%m
.od neoptere0enog snaga uma koja se meri u #rekven ijskom opsegu od 50 do 7000Hz *ez signala na ulaznom portu ( test ta1ka & ) ne tre*a da pre5e nivo do %++d$m0! & kada merimo signal u #rekven ijskom opsegu od 50Hz do /0kHz neoptere0en snaga uma ne tre*a da premauje nivo od %+0d$m0!
40
44
2.0
.ada merenja koja su prikazana za delove zvuka od zvuka%u%zvuk, prenos sa petljom kao to je prikazano na sli i E*-6!7// tre*a da *udu iskori0enja! 'elovi zvuka tre*a tako5e da se poklope sa ppe i#ika ijom /!, sa kon#igura ijom merenja na sli i E*-6!7//!
$rek*e#&ije
kao
reak&ija
#a
i-la-#i
:lazni i izlazni opseg sla*ljenja #rekven ije kao reak ija na izlazni rekonstruiraju0i #iltar tre*a da zadovolji ograni1enja koja su prikazana u emi na sli i 4/-6!7//! ?ominalna re#erentna #rekven ija je 4000Hz i test nivo za ulazni opseg je %40d$m0! Odgovaraju0a merenja se moraju o*aviti da *i se proverio izlazni opseg uzimaju0i u o*zir preklapanje koje se pojavljuje kao posledi a 4+kHz%nog 4/
Generalni pregled digitalnih prenosnih sistema po standardu G.722 odmeravanja! Gema na sli i 4/-6!7// je vae0a za elokupni primljen zvu1ni deo uklju1uju0i i *ilo koju vrstu impulsne amplitudne modula ije izo*li1enja i 9-sin9 korek ije!
48
4,
2.0.
"a sinusnim talasnim signalom na nominalnoj re#erentnoj #rekven iji na 4000Hz, ali isklju1enjem pod%umnoka sempling #rekven ije 4+ kHz, dovedenog na test ta1ku &, promena do*itka je #unk ija ulaznog relativnog nivoa do do*itka na 45
Generalni pregled digitalnih prenosnih sistema po standardu G.722 ulaznom nivou od %40d$m0 merenog pose*no na test ta1ki $, tre*a da zadovolji ograni1enja prikazana u dijagramu na sli i 4+-6!7//!
4+
47
de&ode@
43
4E
%,-./(: &rijemni ?@A% xd " rl ; r % xs " rl 4 r % xa1 " floor#xd * #1$$% xa2 " floor#xs * #2$$% % zbir *la3ni umno)aka % for i " 1:11 xa1"xa14floor#accumc#i$* #2*i41$$% xa2"xa24floor#accumd#i$* #2*i42$$% end% xout1 " floor#xa1*#2:;16$$% xout2 " floor#xa2*#2:;16$$% % update;o3anje linija za kanjenje % for i"11:;1:2 accumc#i$"accumc#i;1$% accumd#i$"accumd#i;1$% end% accumc#1$"xd% accumd#1$"xs%
function [il,i ,t5mf,rlt1,rlt2,al1,al2,a 1,a 2,plt1,plt2,p 1,p 2,r 1,r 2,nb ,n bl,det ,detl,delaB_bpl, delaB_dltx,delaB_bp ,delaB_d x,el,sl,xl!"encode#xin1,xin2,t5mf,delaB_ bpl, delaB_dltx,delaB_bp ,delaB_d x,rlt1,rlt2,r 1,r 2,al1,al2,a 1,a 2,plt1 ,plt2,p 1,p 2,nb ,nbl,detl,det $ % xa,xb% % xl,x % % s % % e % % % % il,i % sz ,sp ,p ,B % szl,spl,sl,el% % neparne i parne 3rednosti % % ni)i i 3ii opsezi % % dolazi iz adapti3no* prediktora % % *reka 3ie* opse*a % % izlazi kodera % % izlazi prediktora za 3ii opse* % % izlazi prediktora za ni)i opse* %
decode:
%,-./(: &renosni ?@A% xa"7% xb"7% table_set% % pr3i umno)ak i zbir % % neparne i parne 3rednosti % for i"1:12 xa"xa4t5mf#2*i;1$* #2*i;1$% xb"xb4t5mf#2*i$* #2*i$% end%
/0
/4
% implementacija podea3anja k3antizera % % pr3o se ra'una faktor lo* razmere nb % nb " lo*sc #i ,nb $% % onda se ra'una faktor linearne razmere det % det " scalel#nb ,17$% % implementacija adapti3ne predikcije % % ra'unanje parcijalno* rekonstruisano* si*nala % p " d 4 sz % % update;o3anje koeficijenata prediktora za nultu sekciju % [delaB_d x,delaB_bp !"upzero#d ,delaB_d x,delaB_bp $% % update;o3anje koeficijenata prediktora za dru*u &12- sekciju % a 2 " uppol2#a 1,a 2,p ,p 1,p 2$% % update;o3anje koeficijenata prediktora za pr3u &12- sekciju % a 1 " uppol1#a 1,a 2,p ,p 1$% % ra'unanje rekonstruisano* k3antizaciono* si*nala za adapti3ni prediktor % B " s 4 d % % implementacija kanjenja za slede>i put % r 2 " r 1% r 1 " B % p 2 " p 1% p 1 " p % %-(0: Eoder 3ie* podopse*a%
filtep:
%************************************************************** %filtep: ra'unanje izlazno* si*nala prediktora #sekcija &12-$ %ulazi: rlt1;2 i al1;2, izlaz spl %**************************************************************% function B" filtep#rlt1,al1,rlt2,al2$ pl " al1*rlt1% pl "pl4al2*rlt2% B"floor#pl*#2:;16$$% %************************************************************** %filtez: ra'unanje izlazno* si*nala prediktora #nulta sekcija$
filtez:
//
logch:
%************************************************************** %lo*sc : update lo*aritamsko* faktora skaliranja 3ie* %podopse*a #nb je predat i 3ra>en$ %************************************************************** function B"lo*sc #i ,nb $ table_set% Gd " floor#nb *12HD12=$% % faktor curenja 12HD12= % nb " Gd 4 G _code_table#i 41$% if#nb I 7$ nb " 7% else if#nb F 2292=$ nb " 2292=% end% end% B"floor#nb $% %************************************************************** %lo*scl: update lo*aritamsko* faktora skaliranja ni)e* %podopse*a #nbl je predat i 3ra>en$ %**************************************************************% function B"lo*scl#il,nbl$ table_set% Gd " floor#nbl * 12H*#2:;H$$% % faktor curenja 12HD12= % nbl " Gd 4 Gl_code_table#floor#il*7829$41$% if#nbl I 7$ nbl " 7% else if#nbl F 1=6C2$ nbl " 1=6C2% end% end% B"floor#nbl$%
logcl:
MAIN:
%preradili: 0ejan (ake3 i @ilan Jtanko3i> % -lektronski fakultet (i %datum: februar 277< close all clear all %podea3anje promenlji3i %deklaracija promenlji3i za prenosni ?@A% t5mf"zeros#1,26$% %deklaracija promenlji3i za prijemni ?@A% accumc"zeros#1,11$% accumd"zeros#1,11$% delaB_dltx"zeros#1,<$% delaB_bpl"zeros#1,<$% delaB_d x"zeros#1,<$% delaB_bp "zeros#1,<$%
/8
%(i)i i 3ii opse* dekoera deklaracija promenlji3i dec_nbl " 7% dec_al1 "7% dec_al2 "7% dec_plt1 "7% dec_plt2 "7% dec_rlt1 "7% dec_rlt2 " 7% dec_nb "7% dec_a 1 "7% dec_a 2 "7% dec_p 1 "7% dec_p 2 "7% dec_r 1 "7% dec_r 2 " 7% % ulazni si*nal u k3antizer i prediktor xl"7% sl"7% el"7% pre3_sample"7% % odmerci koji treba da se kodiraju i dekodiraju (um1fJamples"1722% % pcm si*nal o3o je uniformni &K@ si*nal sa 1< bita m"pcm#Ltest8Ga3L,(um1fJamples$% % &r3i m"floor##m#2C:end$$$%
/,
% function pcmcode"pcm#filename,count$ % 1t3aranje fajla i nje*o3o 'itanje fid " fopen #filename,LrL$% % .enerisanje ulazno* si*nala Lm#t$L 'itanjem podatka sa 1< bito3a % celobrojni format iz specificirano* fajla i nje*o3o upisi3anje u matrix % Lm#t$L8 m " fread #fid,Lint1<L$% % ako je broj ta'aka 3e>i ne*o u u'itanom fajlu,ubacuje se maksimum % 3eli'ina fajla8 count"min#max#size#m$$,count$% m"m#1:count$% % proracun maksimalne 3rednosti ulazno* si*nala Lm#t$L8 @p " max #m$% % posta3ljnje broja bito3a bits8 bits " 1<%
PCM
/5
% definisanje broja ni3oa uniformne k3antizacije8 le3els " 2:bits% step_size " #2*@p$Dle3els% % prora'una ulazno* si*nala Lm#t$L8 5uant_in " mDstep_size% % upu>uje na znak ulazno* si*nala Lm#t$L i prora'un % k3antizo3an si*nal L5uant_outL8 si*nJ " si*n #m$% J " abs#5uant_in$4789% 5uant_out " si*nJ8*round#J$*step_size% pcmcode"5uant_out%
GUANTL:
%************************************************************** %5uantl: k3antizo3an si*nal razlike u donjem podopse*u %**************************************************************% function B " 5uantl#el,detl$ table_set% % abs apsolutna 3rednost razlike si*nala % Gd " abs#el$% % odreMi3anje mil na osno3u ni3oa detl dobitka % for mil"1:C7 decis " floor#decis_le3l#mil$*detl*#2:;19$$% if#Gd I decis$ break% end% end% % ako je mil"C7 onda Gd je manje od s3i odlu'eni ni3oa % if#el F" 7$ ril " 5uant2<bt_pos#mil$% else ril " 5uant2<bt_ne*#mil$% end% B "ril%
README:
%13aj N0&K@ koder i dekoder su implementacija .H22 standarda %t e main8m %lista fajlo3a *enerisani %filtep8m %filtez8m %decode8m %decode8m %lo*sc 8m %lo*scl8m %@N/(8m %5uantl8m %scalel8m %Oable_set8m %uppol18m %uppol28m %upzero8m %test8Ga3 za .H22
SCALEL:
/+
TABLE SET
6=
decis_le3l#1:C7$ " [ %* 2=7 9H< ==7 1277 1927 9277 9H12 <2== <=<6 H927 19=67 1H9<7 2769< 2CC92 !% 5uant2<bt_pos#1:C1$ " [ % % <1 <7 9P 9= 97 6P 6= 6H 6< C= CH C< C9 C6 5uant2<bt_ne*#1:C1$ " [ % % <C <2 C1 C7 22 21 27 1P 1= 17 P = H <
(i3oi odluke: umno)ene sa = %$ 1=<6 227= 29=6 2P<7 CCH< CH=6 6267 6<P< =1=6 =P<= PH92 17H12 11<<6 12=P< 16127 C2H<H <;bitne poziti3ne k3antizacione 3rednosti 9< 99 96 9C 92 91 69 66 6C 62 61 67 CP CC C2 C2!% <;bitne ne*ati3ne k3antizacione 3rednosti 2P 1H 9 2= 1< 6 2H 19 6!% 2< 16 29 1C 26 12 2C 11 9H
% Oablica in3erzno* k3antizera % 556_code6_table#1:1<$ "[ 7 ;2769< ;12=P< ;=P<= ;<2== ;6267 ;29=6 ;1277 2769< 12=P< =P<= <2== 6267 29=6 1277 7!% 559_code9_table#1:C2$ "[ ;2=7 ;2=7 ;2CC92 ;1H9<7 ;16127 ;11<<6 ;PH92 ;=1=6 ;<=<6 ;9H12 ;6<P< ;CH=6 ;2P<7 ;227= ;1927 ;==7 2CC92 1H9<7 16127 11<<6 PH92 =1=6 <=<6 9H12 6<P< CH=6 2P<7 227= 1927 ==7 2=7 ;2=7!% 55<_code<_table#1:<6$ " [ ;1C< ;1C< ;1C< ;1C< ;26=7= ;21P76 ;1P77= ;1<H76 ;16P=6 ;1C912 ;122=7 ;111P2 ;172C2 ;PC<7 ;=9H< ;H=9< ;H1P2 ;<9H< ;<777 ;969< ;6P66 ;66<6 ;677= ;C9H< ;C1<= ;2HH< ;2677 ;27C2 ;1<== ;1C<7 ;1767 ;H2= 26=7= 21P76 1P77= 1<H76 16P=6 1C912 122=7 111P2 172C2 PC<7 =9H< H=9< H1P2 <9H< <777 969< 6P66 66<6 677= C9H< C1<= 2HH< 2677 27C2 1<== 1C<7 1767 H2= 6C2 1C< ;6C2 ;1C<!% 552_code2_table#1:6$ " [ ;H67= ;1<1< H67= 1<1<!%
/7
% Nkumulacija 3rednosti k3antizera% Gl_code_table#1:1<$ " [ ;<7 C762 11P= 9C= CC6 1H2 9= ;C7 C762 11P= 9C= CC6 1H2 9= ;C7 ;<7!% G _code_table#1:6$ " [ HP= ;216 HP= ;216!% Gl_table#1:=$ " [ ;<7 ;C7 9= 1H2 CC6 9C= 11P= C762!% ilb_table#1:C2$ "[ 276= 27PC 21CP 21=< 22CC 22=2 2CC2 2C=C 26C9 26=P 296C 29PP 2<9< 2H16 2HH6 2=C6 2=P< 2P<7 C729 C7P1 C19= C22= C2P= CCH1 C666 C927 C9PH C<H< CH9< C=C= CP22 677=!%
UPPOL1
%************************************************************** %uppol1: update pr3o* neza3isno* koeficijenta %ulazi: al1, apl2, plt, plt18 izlazi: apl1 %**************************************************************% function B"uppol1#al1,apl2,plt,plt1$ Gd2 " floor#al1*299*#2:;=$$% % faktor slabljenja 299D29< % if#plt*plt1 F" 7$ apl1 " floor#Gd2 4 1P2$% % u slu'aju isto* znaka % else apl1 " floor#Gd2 ; 1P2$% end% % note: GdC" 8PCH9;8H9 u3ek je poziti3na % GdC " 19C<7 ; apl2% % o*rani'enje 3rednosti % if#apl1 F GdC$ apl1 " GdC% else if#apl1 I ;GdC$ apl1 " ;GdC% end% end% B"floor#apl1$%
%************************************************************** %uppol2: update dru*o* neza3isno* koeficijenta %ulazi: al1, al2, plt, plt1, plt28 izlazi: apl2 %**************************************************************% function B"uppol2# al1,al2,plt,plt1,plt2$ Gd2 " 6*al1% if#plt*plt1 F" 7$ Gd2 " ;Gd2% end%% pro3era isto* znaka % Gd2 " floor#Gd2*#2:;H$$% % dobitak 1D12= % if# plt*plt2 F" 7$ Gd2 " Gd2 4 12=% else Gd2 " Gd2 ; 12=% end% apl2 " floor#Gd2 4 #12H*al2*#2:;H$$$% % apl2 o*rani'en na 4;8H9 % if#apl2 F 122==$ apl2 " 122==% else if#apl2 I ;122==$ apl2 " ;122==% %faktor slabljenja 12HD12= % u slu'aju isto* znaka %
UPPOL
/3
UP!ERO
/E