%-------------------------------------------------------------------------- % Výuková podpora přemětu Modulované signály %-------------------------------------------------------------------------- % Program FILTRACE %-------------------------------------------------------------------------- % % Výpočet a grafické vykreslení filtrovaného modulovaného signálu % Použitá modulace pro ukázku je AM modulace (Amplitude Modulation) % % Modulovaný signál je filtrován navrženým pásmovým filtrem % % 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 vzorkování - časového průběhu t_vz[s] a nosné frekvence fc[Hz]RF signálu f_c = 400; % nosná frekvence vysokofrekvenčního RF signálu cas = 0.2; % čas průběhu simulace pocet_bodu = 40; %počet bodů T_1 = 1/(f_c*pocet_bodu); % vzorkovací perioda t = 0:T_1:cas-T_1; % č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ý Wmax = 0.75; % 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) BT=2*f_m; % frekvenční šířka pásmového signálu %-------------------------------------------------------------------------- % AM modulace - definování a výpočet vzorkovaného 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)+cos(2*pi*(f_c+500)*t)+cos(2*pi*(f_c+2000)*t)+cos(2*pi*(f_c+5000)*t); % vzorkovaný pásmový (modulovaný) signál v(t)+dalsí vf signály %-------------------------------------------------------------------------- %Výpočet frekvenčního spektra pásmového signálu pomocí funkce algoritmu FFT N=length(vin_t); % počet hodnot pásmového signálu v(t) V_f = (fftshift(fft(vin_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-3) && (abs(imag(V_f(q))) < 1e-3)) V_f(q)=0; end; end; V_faze = angle(V_f); %fázové frekvenční spektrum v(t) %-------------------------------------------------------------------------- % Výpočet a zobrazení přenosu H(w) ekvivalentního dolnopropustného filtru i1=1; for i=1:length(f); if (f(i)>=0) f1(i1) = i1.*pocet_bodu.*f_c./N; i1=i1+1; end; end; w=2*pi*f1; % kmitočet Hw = 1j*w*(1*10^-3)./((1j*w).^2*5*10^-7+1j*w*(1*10^-3)+3); % kmitočtový přenos filtru Hw_Amplituda=abs(Hw); % amplituda kmitočtového přenosu filtru Hw_Faze=atan(imag(Hw)./real(Hw)); % fáze kmitočtového přenosu filtru V_out1=V_f((length(V_f)/2+1):length(V_f)).*Hw; V_out=[conj(V_out1(length(V_out1):-1:1)),V_out1(1:length(V_out1))]; % Výpočet frekvenčního spektra signálu v_out(t) V_amp_out = abs(V_out); % amplitudové frekvenční spektrum v_out(t) V_vykon_out = V_amp_out.^2; % výkonové frekvenční spektrum v_out(t) V_faze_out = angle(V_out); % fázové frekvenční spektrum v_out(t) v_out_t=real(fftshift(ifft(V_out1))*N); % vypočtený signál v_out(t) - zpětná Fourierova transformace %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ V ČASOVÉ OBLASTI %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu modulačního signálu figure; subplot(5,1,1); plot(t,m_t); title('Vstupní 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(5,1,2); plot(t,vin_t); title('Vstupní AM modulovaný signál v(t)+rusivé signály v_r(t) na frekvencích f_c+500Hz,f_c+2000Hz,f_c+5000Hz'); ylabel('v(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ VE FREKVENČNÍ OBLASTI %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra subplot(5,1,3); stem(f,V_amp) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('Amplitudové frekvencni spektrum AM modulovaneho signalu v(t)+v_r(t)') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(5,1,4); stem(f,V_faze) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('Fazove frekvencni spektrum AM modulovaneho signalu v(t)+v_r(t)') %-------------------------------------------------------------------------- %vykresleni výkonového frekvenčního spektra subplot(5,1,5); stem(f,V_vykon) xlabel('f[Hz]') ylabel('^F^R|P_m|') grid on title('Vykonove frekvencni spektrum AM modulovaneho signalu v(t)+v_r(t)') %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ FREKVENČNÍCH CHARAKTERISTIK PÁSMOVÉHO FILTRU %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra figure; subplot(2,1,1); semilogx(w./(2*pi),20*log10(Hw_Amplituda)) % vykreslení grafu hold on; title('Amplitudova frekvencni charakteristika') ylabel('20log|H(f)| [dB]') xlabel('f [Hz]') grid on; subplot(2,1,2); semilogx(w./(2*pi),180/pi*Hw_Faze) % vykreslení grafu hold on; title('Fazova frekvencni charakteristika') ylabel('arctg Im(H(f)/Re(H(w)') xlabel('f [Hz]') grid on; %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ VÝSTUPNÍHO FILTROVANÉHO SIGNÁLU %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu pásmového (modulovaného) signálu figure; subplot(4,1,1); plot(t(1:2:length(t)),v_out_t); title('Výstupní filtrovaný modulovaný signál v_o_u_t(t) s potlacením rusivých signálu v_r(t)'); ylabel('v_o_u_t(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra subplot(4,1,2); stem(f,V_amp_out) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('Amplitudové frekvencni spektrum filtrovaného modulovaneho signalu v_o_u_t(t)') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(4,1,3); stem(f,V_faze_out) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('Fazove frekvencni spektrum filtrovaného modulovaneho signalu v_o_u_t(t)') %-------------------------------------------------------------------------- %vykresleni výkonového frekvenčního spektra subplot(4,1,4); stem(f,V_vykon_out) xlabel('f[Hz]') ylabel('^F^R|P_m|') grid on title('Vykonove frekvencni spektrum filtrovaného modulovaneho signalu v_o_u_t(t)')