Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %plik mniej_fpr.m
- %zmiana czestotliwosci probkowania decymacja
- clf
- T=1; %czas obserwacji sygnalu [s]
- krok_t=0.01; %okres probkowania
- t=0:krok_t:T-krok_t; %wektor czasu
- f1=5; %czestotliwosc syngnalu 1
- A1=1; %amplituda sygnalu 1
- %sygnal oryginalny:
- x1=A1*sin(2*pi*f1*t); %sygnal 1
- plot(t,x1,'b'); grid on; hold on
- stem(t,x1,'b'); hold on
- %sygnal poddany decymacji (n=1==>bez decymacji)
- n=5; %rzad decymacji(zmieniac)
- x_dec=x1(1:n:length(x1)); %sygnal po decymacji
- stem(t(1:n:length(t)),x_dec,'r'); hold off
- disp('Nacisnij ENTER'); pause
- clf
- subplot(2,1,1)
- stem(t,x1,'b'); grid on
- title('Sygnal oryginalny')
- subplot(2,1,2)
- stem(t(1:n:length(t)),x_dec,'r'); grid on
- title(['Sygnal decymowany,n=',num2str(n)])
- %skrypt kwantowanie.m
- %ilustracja operacji kwantowania
- %
- clear all; clf
- kontynuacja='Nacisnij dowolny klawisz ...'
- n=4; %liczba bitow przetwornika
- N=2^(n); %calkowita liczba poziomow kwantowania
- lpoz=N/2; %liczba poziomow dla wartosci dodatnich (tyle samo dla ujemnych)
- del=1/lpoz; %krok kwantyzacji
- for i=1:lpoz;
- vdod(i)=i*del; %dodatnie poziomy kwantyzacji
- end
- vuje=-vdod; %ujemne poziomy kwantyzacji
- %----------sygnal testowy(poddawany kwantyzacji)-------------
- %tworzenie testowego sygnalu (kwantowanego w chwilach probkowania)
- czasobs=0.25; %dlugosc okresu obserwacji sygnalu w [s]
- T=0:0.001:czasobs; %chwile probkowania
- f0=5; A=1; %czestotliwosc i amplituda sygnalu
- x=A*sin(2*pi*f0*T); %sygnal testowy
- %-------------------------Procedura kwantyzacji-------------
- %(dla sygnalu unormowanego do wartosci 1)
- for t=1:length(x)
- for i=1:lpoz
- if(x(t)<(del/2))&(x(t)>=((-1)*del/2))
- x1(t)=0;
- end
- if(x(t)>=((i-1)*del+0.5*del))&(x(t)<(i*del+0.5*del))
- x1(t)=vdod(i);
- end
- if(x(t)<=((-1)*i*del+0.5*del))&(x(t)>((-1)*(i+1)*del+0.5*del))
- x1(t)=vuje(i);
- end
- end
- end
- %wykresy sygnalu oryginalnego i skwantowanego
- subplot(1,1,1)
- plot(x) %syngal oryginalny
- grid on
- axis([0 length(x) -1.2 1.2]); %ogolnie: axis([xmin,xmax,ymin,ymax])
- title('Sygnal')
- hold on
- kontynuacja; pause;
- plot(x1,'r') %sygnal skwantowany
- title(['Sygnal skwantowany przetwornikiem', int2str(n), '-bitowym'])
- kontynuacja; pause;
- e=x-x1; %blad kwantyzacji(szum kwantyzacji)
- plot(e)
- kontynuacja; pause
- hold off
- %*************koniec skryptu*************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement