Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. %plik mniej_fpr.m
  2. %zmiana czestotliwosci probkowania decymacja
  3. clf
  4. T=1; %czas obserwacji sygnalu [s]
  5. krok_t=0.01; %okres probkowania
  6. t=0:krok_t:T-krok_t; %wektor czasu
  7.  
  8. f1=5; %czestotliwosc syngnalu 1
  9. A1=1; %amplituda sygnalu 1
  10. %sygnal oryginalny:
  11. x1=A1*sin(2*pi*f1*t); %sygnal 1
  12.  
  13. plot(t,x1,'b'); grid on; hold on
  14. stem(t,x1,'b'); hold on
  15.  
  16. %sygnal poddany decymacji (n=1==>bez decymacji)
  17. n=5; %rzad decymacji(zmieniac)
  18. x_dec=x1(1:n:length(x1)); %sygnal po decymacji
  19. stem(t(1:n:length(t)),x_dec,'r'); hold off
  20. disp('Nacisnij ENTER'); pause
  21.  
  22. clf
  23. subplot(2,1,1)
  24. stem(t,x1,'b'); grid on
  25. title('Sygnal oryginalny')
  26. subplot(2,1,2)
  27. stem(t(1:n:length(t)),x_dec,'r'); grid on
  28. title(['Sygnal decymowany,n=',num2str(n)])
  29.  
  30.  
  31. %skrypt kwantowanie.m
  32. %ilustracja operacji kwantowania
  33. %
  34. clear all; clf
  35. kontynuacja='Nacisnij dowolny klawisz ...'
  36. n=4; %liczba bitow przetwornika
  37. N=2^(n); %calkowita liczba poziomow kwantowania
  38. lpoz=N/2; %liczba poziomow dla wartosci dodatnich (tyle samo dla ujemnych)
  39.  
  40. del=1/lpoz; %krok kwantyzacji
  41. for i=1:lpoz;
  42. vdod(i)=i*del; %dodatnie poziomy kwantyzacji
  43. end
  44. vuje=-vdod; %ujemne poziomy kwantyzacji
  45. %----------sygnal testowy(poddawany kwantyzacji)-------------
  46. %tworzenie testowego sygnalu (kwantowanego w chwilach probkowania)
  47. czasobs=0.25; %dlugosc okresu obserwacji sygnalu w [s]
  48. T=0:0.001:czasobs; %chwile probkowania
  49. f0=5; A=1; %czestotliwosc i amplituda sygnalu
  50. x=A*sin(2*pi*f0*T); %sygnal testowy
  51.  
  52. %-------------------------Procedura kwantyzacji-------------
  53. %(dla sygnalu unormowanego do wartosci 1)
  54. for t=1:length(x)
  55. for i=1:lpoz
  56. if(x(t)<(del/2))&(x(t)>=((-1)*del/2))
  57. x1(t)=0;
  58. end
  59. if(x(t)>=((i-1)*del+0.5*del))&(x(t)<(i*del+0.5*del))
  60. x1(t)=vdod(i);
  61. end
  62. if(x(t)<=((-1)*i*del+0.5*del))&(x(t)>((-1)*(i+1)*del+0.5*del))
  63. x1(t)=vuje(i);
  64. end
  65. end
  66. end
  67.  
  68. %wykresy sygnalu oryginalnego i skwantowanego
  69.  
  70. subplot(1,1,1)
  71. plot(x) %syngal oryginalny
  72. grid on
  73. axis([0 length(x) -1.2 1.2]); %ogolnie: axis([xmin,xmax,ymin,ymax])
  74. title('Sygnal')
  75. hold on
  76. kontynuacja; pause;
  77. plot(x1,'r') %sygnal skwantowany
  78. title(['Sygnal skwantowany przetwornikiem', int2str(n), '-bitowym'])
  79. kontynuacja; pause;
  80.  
  81. e=x-x1; %blad kwantyzacji(szum kwantyzacji)
  82. plot(e)
  83. kontynuacja; pause
  84. hold off
  85. %*************koniec skryptu*************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement