%-------------------------------------------------------------------------- % Výuková podpora přemětu Modulované signály %-------------------------------------------------------------------------- % Program AUTOKORELACE %-------------------------------------------------------------------------- % % Výpočet a grafické vykreslení autokorelační funkce % 1. Rv(tau) pásmového signálu v(t) % 2. Rg(tau) komplexní obálky g(t) % Použitá modulace pro ukázku je PM modulace (Phase Modulation) % % VŠB - Technická univerzita Ostrava % Fakulta elektrotechniky a informatiky % Katedra měřicí a řídicí techniky % 17.listopadu 15 % Ostrava - Poruba % 708 33 % % Vypracoval Zdeněk Macháček 2010 %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Vyčištění všech proměnných paměti a uzavření všech grafických oken clear all; close all; %-------------------------------------------------------------------------- % Specifikace časového průběhu-čas t[s] a nosné frekvence fc[Hz]RF signálu f_c=500; % nosná frekvence vysokofrekvenčního RF signálu cas = 0.5; % čas průběhu simulace pocet_bodu=100; %počet bodů v čase během jedné periody fc deltat=1/(f_c*pocet_bodu); % zanedbatelný časový okamžik t=0:deltat:cas-deltat; % časový průběh %-------------------------------------------------------------------------- % Definování a výpočet modulačního signálu m(t) % m_t je harmonický signál %Hamonický signál m(t) Wmax = 7; % amplituda modulačního signálu m(t) f_m = 10; % frekvence modulačního signálu m(t) faze = -pi/4; % fáze modulačního signálu m(t) m_t=Wmax*cos(2*pi*f_m*t+faze); % informační (modulační) signál m(t) %-------------------------------------------------------------------------- % PM modulace - definování a výpočet pásmového signálu v(t) % amplitudova modulacni slozka R_t = 1 % fazova modulacni slozka Theta_t=Dp.m(t) A_c = 2; % zesílení amplitudy modulovaného signálu v(t) R_t=1; % amplitudova modulacni slozka Dp = 4; % Index fázové modulace Theta_t = Dp*m_t; % Fázová modulační složka omega_c = 2*pi*f_c; % uhlový kmitočet nosného signálu v_t = A_c*R_t*cos(omega_c*t+Theta_t); % pásmový (modulovaný) signál v(t) %-------------------------------------------------------------------------- %Výpočet frekvenčního spektra pásmového signálu pomocí funkce algoritmu FFT N=length(v_t); % počet hodnot pásmového signálu v(t) v_f = (fftshift(fft(v_t)))./N; % komplexní vektor frekvenčního spektra v(t) k=-N/2:N/2-1; % pomocný výpočet symetrického pole osy x f = k.*pocet_bodu*f_c./N; % výpočet x-ové osy - frekvence f[Hz] V_amp = abs(v_f); %amplitudové frekvenční spektrum v(t) V_vykon = V_amp.^2; %výkonové frekvenční spektrum v(t) % Je-li nulová hodnota amplitudy na dané frekvenci je také fáze = 0 for q=1:N if ((abs(real(v_f(q))) < 1e-2) && (abs(imag(v_f(q))) < 1e-2)) v_f(q)=0; end; end; V_faze = angle(v_f); %fázové frekvenční spektrum v(t) %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ V ČASOVÉ OBLASTI %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu modulačního signálu figure; subplot(2,1,1); plot(t,m_t); title('Modulacní signál m(t)'); ylabel('m(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu pásmového (modulovaného) signálu subplot(2,1,2); plot(t,v_t); title('PM modulace - Pásmový signál v(t)'); ylabel('v(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % 1. AUTOKOREALČNÍ FUNKCE Rv(tau) pásmového signálu v(t) %-------------------------------------------------------------------------- % Algoritmus výpočtu autokorelační funkce pásmového signálu R_v(tau) [Rv_tau,tau1] = xcorr(v_t,length(v_t),'unbiased'); tau = tau1*deltat; % Grafy - zobrazení autokorelační funkce pásmového signálu R_v(tau) figure; plot(tau,Rv_tau); xlabel('\tau') ylabel('R_v[\tau]') title('Korelacní funkce R_v[\tau] pásmového signálu') %-------------------------------------------------------------------------- % 2. AUTOKOREALČNÍ FUNKCE Rg(tau) komplexní obálky g(t) %-------------------------------------------------------------------------- % Algoritmus výpočtu autokorelační funkce komplexní obálky R_g(tau) g_t = R_t.*exp(1j*Theta_t); % Komplexní obálka g_c_t = real(g_t)-1j*imag(g_t); % komplexně sdružená část komplexní obálky [Rg_tau,tau1] = xcorr(g_c_t,g_t,length(g_t),'unbiased'); tau = tau1*deltat; % Grafy - zobrazení autokorelační funkce komplexní obálky R_g(tau) figure; plot(tau,Rg_tau); xlabel('\tau') ylabel('R_g[\tau]') title('Korelacní funkce R_g[\tau] komplexní obálky')