function y = OOUmodulator(x,Vb,fs) % Funkcija y = OOUmodulator(x,Vb,fs) pripada STT toolbox-u. % Funkcija kreira signal y za prenos u osnovnom opsegu ucestanosti % na osnovu ulaznog binarnog vektora x. % Ulazi: % x - ulazni logicki binarni niz {0,1} % Vb - brzina signaliziranja [bps] tj [bit/sekund] % fs - ucestanst odabiranja [Hz]. % Kako bi svaki bit imao jednak broj odbiraka ucestanost fs % treba da bude celobrojni umnozak ucestanosti Vb i veca od 2Vb. % Izlaz: % y - izlazni niz odbiraka binarnog signala dobijenog od % logickog signala x u osnovnom opsegu % y = -1 u slucaju da se detektuje greska! %----------------------------- % Autor: Nenad Jevtic % Datum: 19.03.2016. %----------------------------- y = -1; if Vb < 0 disp('Greska: Vb mora biti pozitivan broj.') return end if fs < 0 disp('Greska: fs mora biti pozitivan broj.') return end if fs < 2*Vb disp('Greska: potrebno je izabrati vece fs.') return end % broj odbiraka po jednom bitu zaokruzen na prvi veci ceo broj n = ceil(fs/Vb); nula = -ones(1,n); % niz odbiraka za logicku 0; za polarni signal odbirci su -1 jedan = ones(1,n); % niz odbiraka za logicku 1; za polarni signal odbirci su +1 % resetovanje vektora y i zauzimanje memorije za ceo vektor y y = zeros(1,length(x)*n); % generisanje signala for i=0:length(x)-1 if x(i+1) == 1 % logicka vrednost je 1 y(1,n*i+1:n*i+n) = jedan; % kopira se n odbiraka u vektor y else % logicka vrednost onda mora da je 0 y(1,n*i+1:n*i+n) = nula; % % kopira se n odbiraka u vektor y end end