%-------------------------------------------------------------------------- % Výuková podpora přemětu Modulované signály %-------------------------------------------------------------------------- % Program ZESILOVAČE %-------------------------------------------------------------------------- % % Výpočet a grafické vykreslení upraveného signálu pomocí zesilovače % Zesilovač se testuje a vyhodnocuje ve frekvencích blízkých pásmovému % signálu resp. frekvenci nosné. % % V tomto příkladu je prezentováno vyhodnocení následujících parametrů zesilovače: % - THD - celkové harmonické zkreslení - na vstup zesilovače je % přiveden jeden harmonický signál a sledují se další harmonické % vznikající průchodem zesilovače % - IMD - intermodulační zkreslení - na vstup zesilovače jsou % přivedeny dva harmonické signály a sledují se další harmonické % vznikající průchodem zesilovače % % 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; clc %-------------------------------------------------------------------------- % Specifikace časového průběhu-čas t[s] a vstupního signálu do zesilovače cas = 0.02; % čas průběhu simulace pocet_bodu=10000; % počet bodů v čase deltat=1/(pocet_bodu); % zanedbatelný časový okamžik t=0:deltat:cas-deltat; % časový průběh % Hamonický signál vi_1(t) pro výpočet celkového harmonického zkreslení THD % zesilovače a intermodulačního zkreslení IMD zesilovače Wmax1 = 1.5; % amplituda hamonického signálu vi_1(t) f_1 = 400; % frekvence hamonického signálu vi_1(t) vi_1_t=Wmax1*sin(2*pi*f_1*t); % hamonický signál vi_1(t) % 2.Hamonický signál vi_2(t) pro výpočet intermodulačního zkreslení IMD zesilovače Wmax2 = 0.5; % amplituda hamonického signálu vi_2(t) f_2 = 100; % frekvence hamonického signálu vi_2(t) vi_2_t=Wmax2*sin(2*pi*f_2*t); % hamonický signál vi_2(t) vi_12_t= vi_1_t+vi_2_t; % vstupní signál slozený ze dvou harmonických složek %-------------------------------------------------------------------------- % Definování parametrů zesilovače K0=0; %hodnota ofsetu K1=1; %lineární složka zesílení K2=0.7; %koeficient kvadratického zesílení výstupního signálu K3=0.3; %koeficient kubického zesílení výstupního signálu %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Výpočet celkového harmonického zkreslení THD %Výstupní signál zesilovače pro vstupní harmonický signál vi_1(t) vo1_t =K0+K1.*vi_1_t + K2.*(vi_1_t).^2 + K3.*(vi_1_t).^3; % výpis na obrazovku výpočtu THD zesilovace disp('Celkové harmonické zkreslení THD zesilovace vypoctené vypoctené podle jeho parametrů:'); THD = (sqrt(K3.^2+K2.^2)/K1)*100 % výpočet THD - celkového harmonického zkreslení zesilovače % Výpočet frekvenčního spektra pásmového signálu pomocí funkce algoritmu FFT N=length(vo1_t); % počet hodnot pásmového signálu v(t) v_f = (fftshift(fft(vo1_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./N; % výpočet x-ové osy - frekvence f[Hz] V_amp = abs(v_f); %amplitudové 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) %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ V ČASOVÉ OBLASTI %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu vstupního signálu vi_1(t) figure; subplot(4,1,1); plot(t,vi_1_t); title('Vstupní harmonický signál v_i_1(t)'); ylabel('v_i_1(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu výstupního signálu ze zesilovače % vo_1(t) subplot(4,1,2); plot(t,vo1_t); title('Výstupní signál ze zesilovače v_o_1(t) pri vstupním harmonickém signálu v_i_1(t)'); ylabel('v_o_1(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ VE FREKVENČNÍ OBLASTI %-------------------------------------------------------------------------- %vykresleni amplitudového frekvenčního spektra subplot(4,1,3); stem(f,V_amp) xlabel('f[Hz]') ylabel('^F^R|W_m|') grid on; title('ZESILOVAC - Amplitudové frekvencni spektrum výstupního signálu v_o_1(t)') %-------------------------------------------------------------------------- %vykresleni fázového frekvenčního spektra subplot(4,1,4); stem(f,V_faze) xlabel('f[Hz]') ylabel('\Theta_m') grid on title('ZESILOVAC - Fazove frekvencni spektrum výstupního signálu v_o_1(t)') %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Výpočet intermodulačního zkreslení IMD zesilovače pro významný % kvadratický a kubický prvek zkreslení. Ostatní jsou zanedbatelné %Výstupní signál zesilovače pro vstupní signál složený ze dvou harmonických %složek vi_1(t),vi_2(t) vo12_t =K0+K1.*vi_12_t + K2.*(vi_12_t).^2 + K3.*(vi_12_t).^3; %IMD intermodulační zkreslení způsobené kvadratickým členem IMD2 = K2.*2.*vi_1_t.*vi_2_t; %IMD intermodulační zkreslení způsobené kubickým členem IMD3 = K3.*vi_1_t.^2.*vi_2_t+K3.*vi_1_t.*vi_2_t.^2; %-------------------------------------------------------------------------- % GRAFY - ZOBRAZENÍ SIGNÁLŮ V ČASOVÉ OBLASTI %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu vstupního signálu tvořeného 2 % harmonickými složkami vi_1(t), vi_2(t) figure; subplot(4,1,1); plot(t,vi_12_t); title('Vstupní signál slozený ze dvou harmonických slozek v_i_1_2(t)'); ylabel('v_i_1_2(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu výstupního signálu ze zesilovače v_i_12 % vo_12(t) subplot(4,1,2); plot(t,vo12_t); title('Výstupní signál ze zesilovače v_o_1_2(t) pri vstupním signálu v_i_1_2(t) slozeného ze dvou harmonických slozek'); ylabel('v_o_1_2(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu IMD zkreslení způsobené % kvadratickým členem subplot(4,1,3); plot(t,IMD2); title('Intermodulacní zkreslení IMD zpusobené kvadratickým clenem'); ylabel('IMD^2(t)'); xlabel('t[s]'); %-------------------------------------------------------------------------- % Vykreslení grafického časového průběhu IMD zkreslení způsobené % kubickým členem subplot(4,1,4); plot(t,IMD3); title('Intermodulacní zkreslení IMD zpusobené kubickým clenem'); ylabel('IMD^3(t)'); xlabel('t[s]');