电压驻波比,英文称为 voltage standing wave ratio,简称VSWR,是射频领域中一个非常重要的概念。
随便拿一个射频器件来,其中肯定有一个驻波比的指标。
那为什么有驻波比这个指标呢?
当一个入射波,进入传输线进行传输时,如果传输线的负载阻抗不与传输线的特征阻抗不匹配,就会产生反射波。
入射波和反射波是行波,波随着时间的增长,向传输线的一端移动。
但是入射波和反射波叠加,会在传输线上形成驻波,驻波随着时间的增长,驻波无法行进,所以无法传输能量。
由传输线的电报方程,可以知道,传输线上的电压和电流表达式为:
因为在z=0处的反射系数为:
所以:
V(z)对应的幅度随时间的变化,就是传输线上的驻波随时间的变化。
而电压驻波比,即是Vmax和Vmin的比值。
负载阻抗为短路
当负载阻抗为短路时,ZL=0,终端反射系数为-1,电路中的驻波是这样的。此时驻波比为无穷大。
负载阻抗为开路
当负载阻抗为开路时,ZL=∞,终端反射系数为1,电路中的驻波是这样的。此时驻波比还是无穷大。
负载阻抗等于特征阻抗
当负载阻抗为特征阻抗时,ZL=50 ohm,终端反射系数为0,电路中的驻波是这样的。此时驻波比为1。
负载阻抗稍稍不匹配
当负载阻抗稍稍不匹配时,比如ZL=60ohm,电路中的驻波比是这样的。
所以,使用驻波比这个指标,是因为它反应了传输线上波的反射情况。
除了驻波比之外,还有一个和它等价的指标,那就是回波损耗。
回波损耗的定义为反射系数的log值:
也就是说,回波损耗是入射波功率与反射波功率的dB差值。
比如说,入射波的功率为50dBm,反射波的功率为10dBm,那么回波损耗就是40dB。
因为有回波损耗,所以在传输过程中,则会有由于该回波损耗产生的失配损耗(Mismatch loss)。
而失配损耗的定义为:
所以,反射系数,SWR,回波损耗,以及失配损耗有一一对应的关系。
常规情况下,会看到驻波比的指标<2,即对应的回波损耗为10dB左右,失配损耗为0.46dB左右。
附上matlab代码:
clc; clear all; close all; omega=2*pi;%设置角频率 t=0;%设置时间变量初始值 z=-30:0.01:0;%传输距离 k=1;%波数 Z0=50; V0_pos=1; Zload=0;%0--short;10000-open;50--matched;60-a few unmatched V0_neg=(Zload-Z0)/(Zload+Z0)*V0_pos; v=VideoWriter('行波形成.avi'); v.FrameRate=10; open(v); for i=1:100 y1=V0_pos*cos(omega*t-k*z); y2=V0_neg*cos(omega*t+k*z); y=y1+y2; figure(1); p=plot(z,y1,'b',z,y2,'g');% lgd=legend('入射波','反射波');% p(1).LineWidth=2; p(2).LineWidth=2; lgd.FontSize=16; axis([-30 0 -3 3]); mov(i)=getframe(gcf);%捕捉当前图像作为一帧 writeVideo(v,mov(i)); pause(0.05); t=t+0.05; end; close(v); Zload=0;%0--short;10000-open;50--matched;60-a few unmatched V0_neg=(Zload-Z0)/(Zload+Z0)*V0_pos; v=VideoWriter('负载短路.avi'); v.FrameRate=10; open(v); for i=1:100 y1=V0_pos*cos(omega*t-k*z); y2=V0_neg*cos(omega*t+k*z); y=y1+y2; figure(2); p=plot(z,y1,'b',z,y2,'g',z,y,'r');% lgd=legend('入射波','反射波','驻波');% p(1).LineWidth=2; p(2).LineWidth=2; p(3).LineWidth=2; lgd.FontSize=16; axis([-30 0 -3 3]); mov(i)=getframe(gcf);%捕捉当前图像作为一帧 writeVideo(v,mov(i)); pause(0.05); t=t+0.05; end; close(v); Zload=10000;%0--short;10000-open;50--matched;60-a few unmatched V0_neg=(Zload-Z0)/(Zload+Z0)*V0_pos; v=VideoWriter('负载开路.avi'); v.FrameRate=10; open(v); for i=1:100 y1=V0_pos*cos(omega*t-k*z); y2=V0_neg*cos(omega*t+k*z); y=y1+y2; figure(3); p=plot(z,y1,'b',z,y2,'g',z,y,'r');% lgd=legend('入射波','反射波','驻波');% p(1).LineWidth=2; p(2).LineWidth=2; p(3).LineWidth=2; lgd.FontSize=16; axis([-30 0 -3 3]); mov(i)=getframe(gcf);%捕捉当前图像作为一帧 writeVideo(v,mov(i)); pause(0.05); t=t+0.05; end; close(v); Zload=50;%0--short;10000-open;50--matched;60-a few unmatched V0_neg=(Zload-Z0)/(Zload+Z0)*V0_pos; v=VideoWriter('负载匹配.avi'); v.FrameRate=10; open(v); for i=1:100 y1=V0_pos*cos(omega*t-k*z); y2=V0_neg*cos(omega*t+k*z); y=y1+y2; figure(4); p=plot(z,y1,'b',z,y2,'g',z,y,'r');% lgd=legend('入射波','反射波','驻波');% p(1).LineWidth=2; p(2).LineWidth=2; p(3).LineWidth=2; lgd.FontSize=16; axis([-30 0 -3 3]); mov(i)=getframe(gcf);%捕捉当前图像作为一帧 writeVideo(v,mov(i)); pause(0.05); t=t+0.05; end; close(v); Zload=60;%0--short;10000-open;50--matched;60-a few unmatched V0_neg=(Zload-Z0)/(Zload+Z0)*V0_pos; v=VideoWriter('负载失配.avi'); v.FrameRate=10; open(v); for i=1:100 y1=V0_pos*cos(omega*t-k*z); y2=V0_neg*cos(omega*t+k*z); y=y1+y2; figure(5); p=plot(z,y1,'b',z,y2,'g',z,y,'r');% lgd=legend('入射波','反射波','驻波');% p(1).LineWidth=2; p(2).LineWidth=2; p(3).LineWidth=2; lgd.FontSize=16; axis([-30 0 -3 3]); mov(i)=getframe(gcf);%捕捉当前图像作为一帧 writeVideo(v,mov(i)); pause(0.05); t=t+0.05; end; close(v);
全部0条评论
快来发表一下你的评论吧 !