%-------------------------------------------------------------------------- % Výuková podpora přemětu Modulované signály %-------------------------------------------------------------------------- % Program SMĚŠOVAČ %-------------------------------------------------------------------------- % % Výpočet a grafické vykreslení modulovaného vysokofrekvenčního signálu % a zpracovaného signálu pomocí směšovače % % Volitelný modulační (informační) signál a vysokofrekvenční nosná % AM modulace % % 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=300; % nosná frekvence vysokofrekvenčního RF signálu cas = 0.2; % čas průběhu simulace pocet_bodu=10; %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 resp. Wmax musí být menší než 1, jinak je signál v(t) přemodulovaný Wmax1 = 0.5; % amplituda 1.harmonické složky modulačního signálu m(t) f_m1 = 10; % frekvence 1.harmonické složky modulačního signálu m(t) faze1 = pi/2; % fáze 1.harmonické složky modulačního signálu m(t) Wmax2 = 0.3; % amplituda 2.harmonické složky modulačního signálu m(t) f_m2 = 20; % frekvence 2.harmonické složky modulačního signálu m(t) faze2 = pi/4; % fáze 2.harmonické složky modulačního signálu m(t) m_t=Wmax1*cos(2*pi*f_m1*t+faze1)+Wmax2*cos(2*pi*f_m2*t+faze2); % informační (modulační) signál m(t) %-------------------------------------------------------------------------- % AM modulace - definování a výpočet pásmového signálu v(t) % amplitudova modulacni slozka R_t = |1+m_t| % fazova modulacni slozka Theta_t=0 pro m(t)>-1, Theta_t=pi pro m(t)<-1; % m(t)nesmi byt premodulovany >1 R_t=abs(1+m_t); % amplitudova modulacni slozka if (m_t>-1) % fázová modulační složka Theta_t = 0; else Theta_t = pi; end vin_t=R_t.*cos(2*pi*f_c*t+Theta_t); % pásmový (modulovaný) signál v(t) g_t = R_t*exp(1j*Theta_t); % komplexní obálka g(t) %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Zpracování pásmového signálu pomocí SMĚŠOVAČE A0 = 1; % Amplituda signálu generovaného lokálním oscilátorem v0_t f_0 = 100; % frekvence signálu generovaného lokálním oscilátorem v0_t v0_t=A0*cos(2*pi*f_0*t); %signál generovaný lokálním oscilátorem % Ideální směšovač v1_t=vin_t.*v0_t; % výpočet výstupního signálu z ideálního směšovače v2_t=A0./2.*real((g_t).*exp(1j*2*pi*(f_c-f_0)*t)); % výpočet filtrovaného výstupního signálu z ideálního směšovače %-------------------------------------------------------------------------- %Výpočet frekvenčního spektra pásmového signálu pomocí funkce algoritmu FFT N=length(v1_t); % počet hodnot pásmového signálu v(t) v_fin = (fftshift(fft(vin_t)))./N; % komplexní vektor frekvenčního spektra vin(t) v_f1 = (fftshift(fft(v1_t)))./N; % komplexní vektor frekvenčního spektra v1(t) v_f2 = (fftshift(fft(v2_t)))./N; % komplexní vektor frekvenčního spektra v2(t) k1=-N/2:N/2-1; % pomocný výpočet symetrického pole osy x f1 = k1.*pocet_bodu*f_c./N; % výpočet x-ové osy - frekvence f[Hz] V_ampin = abs(v_fin); %amplitudové frekvenční spektrum vin(t) V_vykonin = V_ampin.^2; %výkonové frekvenční spektrum vin(t) V_amp1 = abs(v_f1); %amplitudové frekvenční spektrum v1(t) V_vykon1 = V_amp1.^2; %výkonové frekvenční spektrum v1(t) V_amp2 = abs(v_f2); %amplitudové frekvenční spektrum v2(t) V_vykon2 = V_amp2.^2; %výkonové frekvenční spektrum v2(t) % Je-li nulová hodnota amplitudy na dané frekvenci je také fáze = 0 for q1=1:N if ((abs(real(v_fin(q1))) < 1e-2) && (abs(imag(v_fin(q1))) < 1e-2)) v_fin(q1)=0; end; end; % Je-li nulová hodnota amplitudy na dané frekvenci je také fáze = 0 for q1=1:N if ((abs(real(v_f1(q1))) < 1e-2) && (abs(imag(v_f1(q1))) < 1e-2)) v_f1(q1)=0; end; end; % Je-li nulová hodnota amplitudy na dané frekvenci je také fáze = 0 for q1=1:N if ((abs(real(v_f2(q1))) < 1e-2) && (abs(imag(v_f2(q1))) < 1e-2)) v_f2(q1)=0; end; end; V_fazein = angle(v_fin); %fázové frekvenční spektrum vin(t) V_faze1 = angle(v_f1); %fázové frekvenční spektrum v1(t) V_faze2 = angle(v_f2); %fázové frekvenční spektrum v2(t) %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ V ČASOVÉ OBLASTI %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu modulačního signálu figure; subplot(4,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(4,1,2); plot(t,vin_t); title('AM modulace - Vstupní pásmový signál v(t) do smesovace'); ylabel('v_i_n(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu pásmového (modulovaného) signálu subplot(4,1,3); plot(t,v1_t); title('AM modulace - Výstupní pásmový signál v(t) ze smesovace'); ylabel('v_1(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu pásmového (modulovaného) signálu subplot(4,1,4); plot(t,v2_t); title('AM modulace - Výstupní filtrovaný pásmový signál v(t) ze smesovace'); ylabel('v_2(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ VE FREKVENČNÍ OBLASTI %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra figure; subplot(3,1,1); stem(f1,V_ampin) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('AM modulace - Amplitudové frekvencní spektrum vstupního pasmového signálu v_i_n(t) do smesovace') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(3,1,2); stem(f1,V_fazein) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('AM modulace - Fazove frekvencni spektrum vstupního pasmového signálu v_i_n(t) do smesovace') %-------------------------------------------------------------------------- %vykresleni výkonového frekvenčního spektra subplot(3,1,3); stem(f1,V_vykonin) xlabel('f[Hz]') ylabel('^F^R|P_m|') grid on title('AM modulace - Vykonove frekvencni spektrum vstupního pasmového signálu v_i_n(t) do smesovace') %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra figure; subplot(3,1,1); stem(f1,V_amp1) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('AM modulace - Amplitudové frekvencní spektrum výstupního pasmového signálu v_1(t) ze smesovace') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(3,1,2); stem(f1,V_faze1) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('AM modulace - Fazove frekvencni spektrum výstupního pasmového signálu v_1(t) ze smesovace') %-------------------------------------------------------------------------- %vykresleni výkonového frekvenčního spektra subplot(3,1,3); stem(f1,V_vykon1) xlabel('f[Hz]') ylabel('^F^R|P_m|') grid on title('AM modulace - Vykonove frekvencni spektrum výstupního pasmového signálu v_1(t) ze smesovace') %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra figure; subplot(3,1,1); stem(f1,V_amp2) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('AM modulace - Amplitudové frekvencní spektrum filtrovaného výstupního pasmového signálu v_2(t) ze smesovace') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(3,1,2); stem(f1,V_faze2) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('AM modulace - Fazove frekvencni spektrum filtrovaného výstupního pasmového signálu v_2(t) ze smesovace') %-------------------------------------------------------------------------- %vykresleni výkonového frekvenčního spektra subplot(3,1,3); stem(f1,V_vykon2) xlabel('f[Hz]') ylabel('^F^R|P_m|') grid on title('AM modulace - Vykonove frekvencni spektrum filtrovaného výstupního pasmového signálu v_2(t) ze smesovace')