Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc
- clear all
- close all
- N = 33;
- fm = 16000;
- T = 1.0;
- T1 = 0.003;
- A1 = 6;
- A2 = 3;
- f1 = 806;
- f2 = 282;
- th1 = pi/8;
- th2 = 3*pi/2;
- fd = 4000;
- M = 35;
- b = 4;
- n0 = 5;
- % 1 uzduotis
- xasis = 0:N-1;
- vimpuls = zeros(1,N);
- for i = 1:N
- if(xasis(i)- n0) == 0
- vimpuls(i) = 1;
- end
- end
- figure(1)
- stem(xasis, vimpuls,'.'); title('vienetinis impulsas');
- box off
- set(gca,'FontSize',12)
- % 2 uzduotis
- z = 1/fm; % laiko ašies žingsnis
- N = T/z; % modeliuojamo signalo reiksmiu skaicius
- N1 = T1/z; % vaizduojamu reiksmiu skaicius
- t = (0:N-1)*z;
- y = A1*sin(2*pi*f1*t+th1);
- figure(2)
- plot(t(1:N1), y(1:N1)); title('Sinusas'); box off
- set(gca,'FontSize',12)
- % 3 uzduotis
- N = 33;
- zings = zeros(1,N);
- for i = 1:N
- if(xasis(i) - n0) >= 0
- zings(i) = 1;
- end
- end
- figure(3)
- stairs(xasis, zings); title('zingsnio signalas'); box off
- set(gca,'FontSize', 12)
- % 4 uzduotis
- disp('sinuso signalo vidurkis = ')
- vidurkis = mean(y)
- disp('sinuso signalo standartinis nuokrypis =')
- nuokrypis = std(y)
- disp('vidurkis nuo nulio skiriasi = ')
- a = 0 - vidurkis
- disp('standartinis nuokrypis nuo 0,7071*A1 skiriasi = ')
- nuokrypis - 0.7071*A1
- % 5 uzduotis
- [h,v] = hist(y,M);
- figure(4)
- bar(v,h); box off;
- set(gca,'FontSize',12)
- % 6 uzduotis
- clc
- disp('reiksmiu kiekis paskaiciuotas is histogramos = ')
- Nsig = sum(h) % signalo reiksmiu kiekis
- disp('vidurkis paskaiciuotas is histogramos = ')
- Vid = sum((h.*v))/Nsig % vidurkis paskaiciuotas is histogramos
- disp('standartinis nuokrypis pask. is histogramos = ')
- hist_nuokr = sqrt(sum(((v - Vid).^2).*h)/Nsig)
- % 7 uzduotis
- clc
- N = T/z; % signalo reiksmiu kiekis
- pastovus = rand(1,N); % atsitiktinio signalo reiksmes
- disp('atsitiktinio signalo reiksmiu vidurkis = ')
- mean(pastovus)
- disp('atsitiktinio signalo reiksmiu standartinis nuokrypis = ')
- std(pastovus)
- disp('atsitiktinio signalo reiksmiu vidurkio skirtumas nuo 0,5 ')
- 0.5 - mean(pastovus)
- t = (0:N-1)*z;
- figure(5)
- plot(t, pastovus); box off;
- axis tight; set(gca,'FontSize',12)
- % 8 uzduotis
- clear h v;
- [h,v] = hist(pastovus,M);
- figure(6)
- bar(v,h); box off;
- set(gca,'FontSize',12)
- % 9 uzduotis
- clc
- N = T/z; % signalo reiksmiu kiekis
- normalus = randn(1,N); % atsitiktinio signalo reiksmes
- disp('atsitiktinio signalo reiksmiu vidurkis = ')
- mean(normalus)
- disp('atsitiktinio signalo reiksmiu standartinis nuokrypis = ')
- std(normalus)
- disp('atsitiktinio signalo reiksmiu vidurkio skirtumas nuo 0 ')
- 0 - mean(normalus)
- disp('atsitiktinio signalo reiksmiu kitimo intervalas')
- Vpp = abs(max(normalus) - min(normalus))
- disp('Vpp yra tarp 6 ir 8')
- t = (0:N-1)*z;
- figure(7)
- plot(t, normalus); box off;
- axis tight; set(gca,'FontSize',12)
- % 10 uzduotis
- clear h v;
- [h,v] = hist(normalus,M);
- figure(8)
- bar(v,h); box off;
- set(gca,'FontSize',12)
- % 11 uzduotis
- z = 1/fm; % laiko ašies žingsnis
- N = T/z; % modeliuojamo signalo reiksmiu skaicius
- N1 = T1/z; % vaizduojamu reiksmiu skaicius
- t = (0:N-1)*z;
- y = A1*sin(2*pi*f1*t+th1) + A2*sin(2*pi*f2*t+th2);
- figure(9)
- plot(t(1:N1), y(1:N1)); title('Sinusas'); box off
- set(gca,'FontSize',12); axis tight;
- % 12 uzduotis
- dz = 1/fd; % laiko ašies žingsnis
- Nd = T/dz; % reiksmiu skaicius diskrecioje laiko asyje
- td = (0:Nd-1)*dz; % diskrecios laiko asies reiksmes
- yd = A1*sin(2*pi*f1*td+th1) + A2*sin(2*pi*f2*td+th2); % diskretus signalas
- Nd1 = T1/dz; % vaizduojamu diskreciu reiksmiu skaicius
- figure(10)
- stem(td(1:Nd1), yd(1:Nd1),'.'); title('Diskretus signalas'); box off
- % 13 uzduotis
- L = 2^b; % kvantavimo lygiu skaicius
- lk = 2*(A1 + A2)/L; % kavantavimo intervalo plotis
- paklaida = lk/2; % maksimali kvantavimo paklaida
- k = abs(fix(yd/lk)); % kvantavimo intervalo numeris
- for i= 1:Nd
- if abs(yd(i) - k(i)*lk) < paklaida % randame skaitmeninio signalo reiksme
- Ys(i) = (yd(i)/abs(yd(i))) * (k(i)*lk);
- else
- Ys(i) = (yd(i)/abs(yd(i)))*(k(i)+1)*lk;
- end
- end
- figure(11)
- stem(td(1:Nd1), yd(1:Nd1),'o'); title('Skaitmeninis signalas');
- box off; hold on; stem(td(1:Nd1), Ys(1:Nd1),'*r');hold off;
- % 14 uzduotis
- Tsak = 1/fd; % perioidas kuriuo SAK keicia skaitmenini
- % signala i analogini
- Nm = Tsak/z; % tolydzios laiko asies reiksmiu skaicius
- % telpantis i Tsak
- for i = 0:Nd-1
- SAK(i*Nm+1:(i+1)*Nm) = Ys(i+1);
- end
- figure(12)
- stairs(t(1:N1), SAK(1:N1)); title('SAK isvesties signalas'); box off
- set(gca,'FontSize',12); axis tight;
- % 15 uzduotis
- [b1,a1] = cheby2(8, 60, 0.125 );
- nfft = 1000; % Reiksmiu kiekis dazniu asyje
- [h1,f,s] = freqz(b1,a1,nfft,fm);
- s.plot = 'mag'; % Piesiama tik magnitude
- s.xunits = 'khz'; % Dazniu asis Hz
- s.yunits = 'squared'; % Magnitude staciakampese koordinatese
- figure(13)
- freqzplot(h1,f,s); % Filtro daznine ch-ka
- box off
- % 16 uzduotis
- SKA_filt = filter(b1,a1,SAK);
- figure(14);
- plot(t(1:N1), SKA_filt(1:N1)); title('SAK isvesties signalas'); box off
- set(gca,'FontSize',12); axis tight;
- % 17 uzduotis
- df = 1/T; % dazniu asies zingsnis
- Nf = fix(fm/df); % reiksmiu skaicius spektre
- fasis = (0:Nf)*df; % dazniu asies reiksmes
- Ysp = abs(fft(y,Nf)); % skaiciuojame spektra
- Nvaizd = fix(Nf/2)+1; % vaizduojamu reiksmiu kiekis
- figure(15)
- stem(fasis(1:Nvaizd),Ysp(1:Nvaizd),'.'); box off
- set(gca,'FontSize',12); axis tight;
- % 18 uzduotis
- df = 1/T; % dazniu asies zingsnis
- Nf = fix(fd/df); % reiksmiu skaicius spektre
- fasis = (0:Nf-1)*df; % dazniu asies reiksmes
- YDsp = abs(fft(yd,Nf)); % skaiciuojame spektra
- figure(16)
- stem(fasis,YDsp,'.'); box off
- set(gca,'FontSize',12); axis tight
- % 19 uzduotis
- df = 1/T; % dazniu asies zingsnis
- Nf = fix(fd/df); % reiksmiu skaicius spektre
- fasis = (0:Nf-1)*df; % dazniu asies reiksmes
- Yssp = abs(fft(Ys,Nf)); % skaiciuojame spektra
- figure(17)
- stem(fasis,Yssp,'.'); box off
- set(gca,'FontSize',12); axis tight
- % 20 uzduotis
- df = 1/T; % dazniu asies zingsnis
- Nf = fix(fm/df); % reiksmiu skaicius spektre
- fasis = (0:Nf)*df; % dazniu asies reiksmes
- SAKsp = abs(fft(SAK,Nf)); % skaiciuojame spektra
- Nvaizd = fix(Nf/2)+1; % vaizduojamu reiksmiu kiekis
- figure(18)
- stem(fasis(1:Nvaizd),SAKsp(1:Nvaizd),'.'); box off
- set(gca,'FontSize',12); axis tight;
- % 21 uzduotis
- df = 1/T; % dazniu asies zingsnis
- Nf = fix(fm/df); % reiksmiu skaicius spektre
- fasis = (0:Nf)*df; % dazniu asies reiksmes
- SKA_filtsp = abs(fft(SKA_filt,Nf)); % skaiciuojame spektra
- Nvaizd = fix(Nf/2)+1; % vaizduojamu reiksmiu kiekis
- figure(19)
- stem(fasis(1:Nvaizd),SKA_filtsp(1:Nvaizd),'.'); box off
- set(gca,'FontSize',12); axis tight;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement