数字信号处理7

更新时间:2024-03-08 09:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字信号处理实验

实验七:小信号放大器性能分析与仿真

班级: 姓名: 学号: 指导老师:

年11月 2013

实验七:小信号放大器性能分析与仿真一. 实验原理

小信号放大器是电子线路的重要组成部分之一,由于它工作在晶体管的线性区域内,因此又称为线性放大器。使用MATLAB可以仿真小信号放大器的各种参数,如电压增益.输出阻抗.输入阻抗.频率响应等。 二.实验内容

一,

function[Av,Ai,Zo,Vb,Ie,E,vo]=amplif2(Rb1,Re1,Rc1,R1,R2,Rc2,Re3,Rf,h,vs,beta,Ec,Ed,Kp); if nargin<14;kp=1,end; if nargin<13;Ed=15,end; if nargin<12;Ec=24,end; if nargin<11;beta=50,end; if nargin<10;vs=1e-03,end;

if nargin<9;h=[1.2e+03 3.37e-4;80 27.1e-6];end;

if nargin<8;Rf=33e+03;end; if nargin<7;Re3=3.3e+03;end; if nargin<6;Rc2=18e+03;end; if nargin<5;R2=3.9e+03;end; if nargin<4;R1=130;end;

if nargin<3;Rc1=100e+03;end; if nargin<2;Re1=100;end;

if nargin<1;Rb1=1000e+03;end;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);Rc=hie*Rc1/(hie+Rc1);

T=[hoe+1/Re1 -hoe -1-hfe;-hoe hoe+1/Rc hfe;1 0 hie];

V=inv(T)*[0 0

vs]';v2=V(2);ib2=v2/hie;Av1=v2/vs; Zi=vs/V(3);

Re=Re3/hoe/(Re3+1/hoe);Rc=Rc2/hoe/(Rc2+1/hoe);

T=[1/Re -1-hfe;1 hie+Rc];

V=inv(T)*[0-hfe*Rc*ib2]';Av2=V(1)/v2; Av0=V(1)/vs;

Zo=V(1)/((1+hfe)*hfe*Rc*ib2/(Rc+hie));Zo=abs

(Zo);

B=Re1/(Rf+Re1); F=1+Av0*B;

Av=Av0/F;Zi=Zi*F;Zi=Zi*Rb1/(Zi+Rb1);Zo=Zo/F;vo=Av*vs;

Av=[Av Av0 Av1 Av2]; if

Kp==1;Vbe=.7;ns='Si';else;Vbe=.2;ns='Ge';end;

Z=[Rb1+R2+(1+beta)*Re1 -(1+beta)*R2;beta*Rc1-R2 Rc1+(1+beta)*(R1+R2)];

Ib=inv(Z)*[-Vbe Ed-Vbe]';

I1=(1+beta)*Ib(1);I2=(1+beta)*Ib(2);

I3=(1+beta)*(Ec-Vbe-Rc2*beta*Ib(2))/(Rc2+(1+beta)*Re3);

I=[I1 I2 I3];I=round(I*1e+04)*.1;

V=[Re1*I1 (R1+R2)*I2 Re3*I3]+Vbe;

V==round(V*10)*.1;

Zi=round(Zi);Zo=round(Zo);Av=round(Av);

E=[Ec Ed];Vb=V;Ie=I;format short; Av,Zi,Zo,Vb,Ie,E,vo]=amplif2();

kp =

1

Ed =

15

Ec =

24

beta =

50

vs =

1.0000e-003 三

function[Av,Zi,Zo,V,I,vo]=amplif3(Rb,Rc,Re,R1,R2,R3,R4,Re3,Zee,h,vs,beta,Ec,Kp);

if nargin<14;Kp=1;end;

if nargin<13;Ec=12;end;

if nargin<12;beta=50;end;

if nargin<11;vs=1e-03;end;

if nargin<10;h=[1.2e+03 3.37e-4;100 27.1e-6];end;

if nargin<9;Zee=1e+05;end;

if nargin<8;Re3=3300;end;

if nargin<7;R4=47;end;

if nargin<6;R3=680;end;

if nargin<5;R2=2400;end;

if nargin<4;R1=4800;end;

if nargin<3;Re=68;end;

if nargin<2;Rc=560;end;

if nargin<1;Rb=4700;end;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

A=[1 0 0 0 0 hie 0;0 0 1 0 0 0 hie];

A=[A;(1+Re*hoe) -Re*hoe 0 0 -1 -(1+hfe)*Re 0];

A=[A;0 0 (1+Re*hoe) -Re*hoe -1 0 -(1+hfe)*Re];

A=[A;Zee 0 Zee 0 -(2*Zee+Re) 0 0];

A=[A;Rc*hoe -(1+Rc*hoe) 0 0 0 -hfe*Rc 0];

A=[A;0 0 Rc*hoe -(1+Rc*hoe) 0 0 -hfe*Rc];

V=inv(A)*[vs 0 0 0 0 0 0]';

vo=[V(2) V(4)];Av=vo/vs;Av=round(Av*10)*.1;

Rb1=1/(1/Rb+1/R2+1/R1);Zi=vs/V(6);Zi=Zi*Rb1/(Zi+Rb1);

Zo=(Rc+hie)/(1+hfe);Zo=round(Zo);Zi=round(Zi); if

Kp==1;Vbe=.8;ns='Si';else;Vbe=.2;ns='Ge';end;

A=[(R1+R2+R3)/R3 R1+R2 R2;1 -(1+beta)*R4 0;0 beta -2*(1+beta)];

B=inv(A)*[Ec+(R1+R2)/R3*Vbe Vbe 0]';format short;

V=[B(1)

Ec-R1*((B(1)-Vbe)/R3+B(2)+B(3))-Rb*B(3) Ec-beta*B(3)*Rc];

I=[B(3)*(1+beta)

(V(3)-Vbe)/Re3];I=round(I*1e+04)*.1; >> [Av,Zi,Zo,V,I,vo]=amplif3()

Av =

-3.5000 3.5000

Zi =

1110

Zo =

17 V =

1.5426 3.8287 7.7480 I =

7.7000 2.1000

vo =

-0.0035 0.0035 四

function[H,Zi]=amplif4(Ce,C1,C2,Rb1,Rb2,Rc,Re,RL,h,Rs);

if nargin<10;Rs=1e+03;end;

if nargin<9;h=[1.2e+03 3.37e-4;50 27.1e-6];end;

if nargin<8;RL=6e+03;end;

if nargin<7;Re=1.5e+03;end;

if nargin<6;Rc=2e+03;end;

if nargin<5;Rb2=6e+03;end;

if nargin<4;Rb1=24e+03;end;

if nargin<3;C2=20e-06;end;

if nargin<2;C1=20e-06;end

if nargin<1;Ce=200e-06;end;

syms s;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

zt=[hie 0;-hfe/hoe

1/hoe];ze=Re/(1+s*Re*Ce);ze=ones(2,2)*ze;

Z=zt+ze;A=[Z(1,1) det(Z);1 Z(2,2)]/Z(2,1);

Rb=Rb1*Rb2/(Rb1+Rb2);

A=[1 Rs+1/s/C1;0 1]*[1 0;1/Rb 1]*A*[1 0;1/Rc 1]*[1 1/s/C2;0 1];

A=A*[1 0;1/RL 1];Zi=A(1,1)/A(2,1)-Rs;

f=logspace(1,5,101);

[b,a]=numden(Zi);b=sym2poly(b);a=sym2poly(a);

Zi=freqs(b,a,2*pi*f);k=max(abs(Zi+Rs)/Zi);

H=k/A(1,1);[b,a]=numden(H);

b=sym2poly(b);a=sym2poly(a);H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avm=round(max(Av)*10)*.1;

subplot(211);semilogx(f,Av);grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Av(dB)');

%title(['Av_m_a_x='num2str(Avm)'(dB)']);

subplot(212);semilogx(f,real(Zi),f,imag(Zi));grid;zoom xon;

xlabel('frequency(Hx)');ylabel('Zi(Ohm)');

set(gcf,'units','pix','pos',[200,120,560,420],'name','Common Emitter Amplifer,BBI 2000','num','off');

35Av(dB)302511010210frequency(Hz)310410540002000Zi(Ohm)0-2000-400011023451010frequency(Hx)1010

function[H]=amplif5(Cc,ft,Ic,Rb1,Rb2,Rc,RL,Rs,h,rbc);

if nargin<10;rbc=5e+06;end;

if nargin<9;h=[1200 3.37e-4;50 27.1e-6];end;

if nargin<8;Rs=1e+03;end;

if nargin<7;RL=6e+03;end;

if nargin<6;Rc=2e+03;end;

if nargin<5;Rb2=6e+03;end;

if nargin<4;Rb1=24e+03;end;

if nargin<3;Ic=2.5;end;

if nargin<2;ft=100e+06;end;

if nargin<1;Cc=3e-012;end;

syms s;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

gm=Ic/26;hfe=min([hfe .95*hie*gm]);

rbe=hfe/gm;rbb=hie-rbe;cbe=gm/(2*pi*ft);

Rb=Rb1*Rb2/(Rb1+Rb2);

RL1=1/(hoe+1/Rc+1/RL);

ybe=1/rbe+s*cbe;

zc=1/(1/rbc+s*Cc);

A=[1 zc;gm 1]/(1-gm*zc);

A=[1 Rs;0 1]*[1 0;1/Rb 1]*[1 rbb;0 1]*[1 0;ybe 1]*A*[1 0;1/RL1 1];

H=1/A(1,1);[b,a]=numden(H);b=sym2poly(b);a=sym2poly(a);

f=logspace(3,8,201);H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avm=max(Av);I=find(abs(Av-(Avm-3))<.1);

I=fix(mean(I));f3db=f(I);Av3db=Av(I);

subplot(211);semilogx(f,Av,[f3db f3db],Avm-[0 20],'r:');

grid;zoom xon;

xlabel('frequency(Hz)');ylabel( 'Av(dB)');

tstr=['f_3_d_B=',num2str(round(f3db*1e-04)*.01),' (MHz)'];

tstr=[tstr blanks(6)

'Av_0=',num2str(round(Avm*10)*.1),'(dB)'];

title(tstr);

subplot(212);

semilogx(f,angle(H)*180/pi-180);grid;

xlabel('frequency(Hz)');ylabel('Phase(a)');

set(gcf,'units','pix','pos',[200,120,560,420],'name','Common Emitter

Amplifier,BBI2000','num','off');

f3dB=0.71 (MHz) Av0=29.3(dB)40200-20310Av(dB)1041010frequency(Hz)561071080-50-100-150310Phase(a)1041010frequency(Hz)56107108六

function[H]=amplif6(Cc,ft,Ic,RL,Rs,h,rc,m);

if nargin<8;m=0.2;end;

if nargin<7;rc=5e+06;end;

if nargin<6;h=[1200 3.37e-4;50 27.1e-6];end;

if nargin<5;Rs=1e+03;end;

if nargin<4;RL=2e+03;end;

if nargin<3;Ic=2.5;end;

if nargin<2;ft=100e+06;end;

if nargin<1;Cc=3e-012;end;

syms s;

hie=h(1,1);hfe=h(2,1);a0=hfe/(1+hfe);

gm=Ic/26;hfe=min([hfe .95*hie*gm]);

re=a0/gm;rbb=hie-hfe/gm;

cbe=gm/(2*pi*ft);Ce=cbe/(1+m);

ze=1/(1/re+s*Ce);zc=1/(1/rc+s*Cc);

A=[rbb+ze rbb*((1-a0)*zc+ze)+zc*ze;1 rbb+zc]/(rbb+a0*zc);

A=[1 Rs;0 1]*A*[1 0;1/RL 1]

H=1/A(1,1);[b,a]=numden(H);b=sym2poly(b);a=sym2poly(a);

f=logspace(3,8,401);H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avm=max(Av);

I=find(abs(Av-(Avm-3))<.1);

I=fix(mean(I));f3db=f(I);Av3db=Av(I);

subplot(211);semilogx(f,Av,[f3db f3db],Avm-[0 20],'r:');

grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Av(dB)');

tstr=['f_3_d_B=num2str(round(f3db*1e-04)*.01)(MHz)'];

tstr=[tstr blanks(6)

'Av_0=num2str(round(Avm*10)*.1)(dB)'];

title(tstr);

subplot(212);semilogx(f,angle(H)*180/pi);grid;

xlabel('frequency(Hz)');ylabel('phase(a)');

set(gcf,'units','pix','pos',[200,120,560,420],'name','Common Base

Amplifer,BBI2000','num','off');

f3dB=num2str(round(f3db*1e-04)*.01)(MHz) Av0=num2str(round(Avm*10)*.1)(dB)100-10-20310Av(dB)1041010frequency(Hz)561071080-20-40-60310phase(a)1041010frequency(Hz)56107108

本文来源:https://www.bwwdw.com/article/jo7a.html

Top