Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. %--------------------------------------------------------------------------
  2. % Πανεπιστήμιο Πατρών
  3. % Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
  4. % Εργαστήριο του μαθήματος ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΩΝ
  5. %--------------------------------------------------------------------------
  6. % Παράδειγμα 2.1
  7. % Έκδοση: 1.1
  8. % Ημερομηνία: 1/10/2015
  9. %--------------------------------------------------------------------------
  10. % Σχόλια: Απεικόνιση σημάτων στον χρόνο
  11. %--------------------------------------------------------------------------
  12. clc;
  13. clear all;
  14. close all;
  15. scrsz = get(0,'ScreenSize');
  16.  
  17.  
  18. %% Αρχικοποίηση παραμέτρων
  19. %
  20. Td = 10e-3; % Διάρκεια [secs]
  21. tstep = 50e-6;
  22. Fs = 1/tstep; % Δειγματοληψία [Hz]
  23. t = 0:tstep:Td;
  24.  
  25. F1 = 0.5e3; % Συχνότητα 1ου ημιτόνου [Hz]
  26. A1 = 1.0; % Πλάτος 1ου ημιτόνου [Volts]
  27. ph1 = 0; % Aρχική φάση 1ου ημιτόνου [2*pi*rand, rand]
  28.  
  29. F2 = 2.5e3; % Συχνότητα 2ου ημιτόνου [Hz]
  30. A2 = 1.0; % Πλάτος 2ου ημιτόνου [Volts]
  31. ph2 = 0; % Aρχική φάση 2ου ημιτόνου [2*pi*rand, rand]
  32.  
  33. fprintf('Signal duration: %d msec \nSampling Rate: %6.4f kHz\n', Td*1000, Fs/1000)
  34.  
  35. %% Δημιουργία σημάτων
  36. %
  37. sig_1 = A1*sin(2*pi*F1*t+ph1);
  38. sig_2 = A2*sin(2*pi*F2*t+ph2);
  39. sig_in = sig_1 + sig_2;
  40.  
  41. h = [-0.031 0.0586 0.0743 0.1018 0.129 0.1484 0.155 0.1485 0.129 0.1018 0.0743 0.0586 -0.031];
  42.  
  43.  
  44.  
  45. %% Παράσταση σημάτων στον χρόνο
  46. %
  47. figure('Position', [50 75 scrsz(3)/3 4*scrsz(4)/5]);
  48. set(gcf, 'color', 'white');
  49. FontSize = 14;
  50. set(gcf,'DefaultLineLineWidth',2);
  51. set(gcf,'DefaultTextFontSize', FontSize, 'DefaultAxesFontSize', FontSize, 'DefaultLineMarkerSize', 0.25*FontSize);
  52.  
  53. myfig1(1) = subplot(2,1,1);
  54. plot(t, sig_1, '.-b');
  55. grid on
  56. xlabel('Time [secs]');
  57. ylabel('Amplitude [Volts]');
  58. axis([min(t) max(t) floor(min(sig_1)) ceil(max(sig_1))]);
  59. %
  60. myfig1(2) = subplot(2,1,2);
  61. plot(t, sig_2, '.-b');
  62. grid on
  63. xlabel('Time [secs]');
  64. ylabel('Amplitude [Volts]');
  65. axis([min(t) max(t) floor(min(sig_2)) ceil(max(sig_2))]);
  66. linkaxes(myfig1, 'x');
  67.  
  68. %% Συνέλιξη
  69. N1=length(sig_in);
  70. N2=length(h);
  71.  
  72. % sig_in*h
  73.  
  74. convAB = zeros(1, N1+N2-1);
  75. extsig_in = [zeros(1, N2-1) sig_in zeros(1, N2-1)];
  76. for m=1:N1+N2-1
  77. cval = 0;
  78. for n=1:N2
  79. cval = cval + extsig_in(m+n-1)*h(N2-n+1);
  80. end
  81. convAB(m) = cval;
  82. end
  83.  
  84.  
  85.  
  86.  
  87. %% Απεικόνιση συνελίξεων
  88. %
  89. figure('Position', [56+scrsz(3)/3 75 scrsz(3)/3 4*scrsz(4)/5]);
  90. set(gcf, 'color', 'white');
  91. FontSize = 14;
  92. set(gcf,'DefaultLineLineWidth',2);
  93. set(gcf,'DefaultTextFontSize', FontSize, 'DefaultAxesFontSize', FontSize, 'DefaultLineMarkerSize', 0.5*FontSize);
  94.  
  95. myfig2(1) = subplot(3,1,1);
  96. plot(1:(N1+N2-1), convAB, '.-b');
  97. grid on
  98. xlabel('Convolution Steps');
  99. ylabel('sig_in \ast h');
  100. axis([1 N1+N2-1 floor(min(convAB)) ceil(max(convAB))+2]);
  101. hold on;
  102. plot(conv(sig_in, h ), '.r'); % Συνέλιξη με συνάρτηση Matlab
  103.  
  104.  
  105. linkaxes(myfig2, 'x');
  106.  
  107.  
  108. %% Αποθήκευση δεδομένων
  109. %
  110. save('cs_res_2_3.mat');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement