5
MATLAB Elektronika Telekomunikasi RISKI ANDAMI NAFA 2209106071 JURUSAN TEKNIK ELEKTRO INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA, 2010

Elektronika Telekomunikasi - Matlab

Embed Size (px)

DESCRIPTION

Transistor Test stability with GUI Matlab

Citation preview

Page 1: Elektronika Telekomunikasi - Matlab

MATLAB Elektronika Telekomunikasi

RISKI ANDAMI NAFA

2209106071

JURUSAN TEKNIK ELEKTRO

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA, 2010

Page 2: Elektronika Telekomunikasi - Matlab

Soal : S-Parameter for BJC at particular bias point anda operating frequency are follows :

Check the transistor stability,

stabilize it if necessary and design an amplifier for max gain

Pemograman ini menggunakan GUI pada Matlab, dengan Listing Program

s11_mag=handles.s11_mag; s12_mag=handles.s12_mag; s21_mag=handles.s21_mag; s22_mag=handles.s22_mag;

s11_phase=handles.s11_phase; s12_phase=handles.s12_phase; s21_phase=handles.s21_phase; s22_phase=handles.s22_phase;

s11=(s11_mag*cos(s11_phase*pi/180))+(s11_mag*sin(s11_phase*pi/180)*i) handles.s11=s11; guidata(hObject,handles);

s12=(s12_mag*cos(s12_phase*pi/180))+(s12_mag*sin(s12_phase*pi/180)*i) handles.s12=s12; guidata(hObject,handles);

s21=(s21_mag*cos(s21_phase*pi/180))+(s21_mag*sin(s21_phase*pi/180)*i) handles.s21=s21; guidata(hObject,handles);

s22=(s22_mag*cos(s22_phase*pi/180))+(s22_mag*sin(s22_phase*pi/180)*i) handles.s22=s22; guidata(hObject,handles);

set(handles.edit9,'string',s11); set(handles.edit10,'string',s12);

Page 3: Elektronika Telekomunikasi - Matlab

set(handles.edit11,'string',s21); set(handles.edit12,'string',s22);

a=imag(s11); b=imag(s12); c=imag(s21); d=imag(s22);

set(handles.edit21,'string',a); set(handles.edit22,'string',b); set(handles.edit23,'string',c); set(handles.edit24,'string',d);

format short %menghitung delta delta=(s11*s22)-(s12*s21) delta_mag=abs(delta) handles.delta=delta; guidata(hObject,handles); %menghitung k k1=1-(abs(s11)^2)-(abs(s22)^2)+(abs(delta)^2); k2=2*abs(s12)*abs(s21); %****************************** k=k1/k2 %nilai k handles.k=k; guidata(hObject,handles); %****************************** %menghitung nilai Cin cin1=s11-((conj(s22)*delta)); cin2=conj(cin1); %konjugat dari nilai cin1_f1 %****************************** cin=cin2/((abs(s11)^2)-(abs(delta)^2)); cin_mag=abs(cin) %magnitudo cin_phase=angle(cin)*180/pi; %****************************** %mencari niai rin rin1=s12*s21; rin1_mag=abs(rin1);%pembilang dari rin (magnitudo) rin2=abs(s11)^2; rin3=abs(delta)^2; %****************************** rin=(rin1_mag)/abs((rin2-rin3)) %nilai rin %****************************** %mencari nilai Cout cout1=conj(s11)*delta; cout2=conj((s22-cout1)); cout=cout2/((abs(s22)^2)-(abs(delta)^2)) %nilai Cout; cout_mag=abs(cout); %magnitudo dari Cout cout_phase=angle(cout)*(180/pi); %phase dari Cout %****************************** %mencari nilai rout rout1=abs((s12*s21)); rout2=((abs(s22)^2)-(abs(delta)^2)); rout=rout1/abs(rout2) %nilai dari rout %-------------------------------------------------------------------------- %------------------------------------------------------------------------- %menghitung Gamma_ms

c1=s11-((conj(s22)*delta))%mencari nilai dari s11 b1=1-(abs(s22)^2)-(abs(delta)^2)+(abs(s11)^2) %mencari nilai dari b1

Page 4: Elektronika Telekomunikasi - Matlab

gamma_ms1=b1/(2*c1) gamma_ms2=(b1/c1)^2-((4*conj(c1))/c1) gamma_ms3=0.5*sqrt(gamma_ms2); gamma_ms=gamma_ms1-gamma_ms3 %menghitung Gamma_ml c2=s22-((conj(s11)*delta))%mencari nilai dari s11 b2=1-(abs(s11)^2)-(abs(delta)^2)+(abs(s22)^2);%mencari nilai dari b1 gamma_ml1=b2/(2*c2); gamma_ml2=(b2/c2)^2-((4*conj(c2))/c2); gamma_ml3=0.5*sqrt(gamma_ml2); gamma_ml=gamma_ml1-gamma_ml3 gamma_ml_mag=imag(gamma_ml) %------------------------------------------------------------------------- G_ms=s11+((s12*s21*gamma_ml)/(1-(s22*gamma_ml))); G_ms_mag=imag(G_ms);

G_ml=s22+((s12*s21*gamma_ms)/(1-(s11*gamma_ms))) G_ml_mag=imag(G_ml); %-------------------------------------------------------------------------- %SET nilai set(handles.edit13,'string',k); set(handles.edit14,'string',delta_mag); set(handles.edit15,'string',cin_mag); set(handles.edit16,'string',cin_phase); set(handles.edit17,'string',rin); set(handles.edit18,'string',cout_mag); set(handles.edit19,'string',cout_phase); set(handles.edit20,'string',rout); set(handles.text30,'string',G_ms); set(handles.text33,'string',gamma_ml); set(handles.text53,'string',G_ms_mag); set(handles.text54,'string',gamma_ml_mag); %------------------------------------------------------------------------- %mencari nilai dari Gamma_in gamma_in=s11+((s21*s12*gamma_ml)/(1-(s22*gamma_ml))); gamma_out=s22+((s12*s21*gamma_ms)/(1-(s11*gamma_ms))); %------------------------------------------------------------------------- %mencari nilai dari Gt_max menurut persamaan 9.8 gt_max1=(1-abs(G_ml)^2)*abs(s21)^2*(1-abs(G_ms)^2); gt_max2=(1-s11*G_ms)*(1-s22*G_ml)-(s21*s12*G_ml*G_ms); gt_max3=(abs(gt_max2))^2; gt_max=gt_max1/gt_max3 db_gt=-10*log10(gt_max); set(handles.text52,'string',db_gt); %-------------------------------------------------------------------------

%melihat diagram kestabilan sistem if k>1 && delta_mag<1 cek='unconditional stable'; set(handles.text28,'string',cek); elseif k>1 && delta_mag>1 cek='still potentially stable'; set(handles.text28,'string',cek); else cek='potensial unstable'; set(handles.text28,'string',cek); end

Page 5: Elektronika Telekomunikasi - Matlab

Tampilan Grafiknya adalah :

Listing Program :

delta=handles.delta; k=handles.k;

s_param=[s11,s12;s21,s22];

[k,delta] = K_factor(s_param) % check stability

input_stability(s_param, 'r'); output_stability(s_param, 'b'); title('Graph Kestabilan system');

0.2

0.5

1.0

2.0

5.0

+0.2

-0.2

+0.5

-0.5

+1.0

-1.0

+2.0

-2.0

+5.0

-5.0

0.0

Graph Kestabilan system