当前位置:网站首页>驻波比计算方法

驻波比计算方法

2022-08-09 12:37:00 洪大宇

驻波比计算公式

R L ( d b ) = 10 log ⁡ 10 P f o r w a r d P r e f l e c t RL(db)= 10\log_{10}^{\frac{P_{forward}}{P_{reflect}}} RL(db)=10log10PreflectPforward
V S W R = 1 0 R L ( d b ) 20 + 1 1 0 R L ( d b ) 20 − 1 VSWR=\frac{ \frac{10^{RL(db)}}{20}+1 }{\frac{10^{RL(db)}}{20}-1 } VSWR=2010RL(db)12010RL(db)+1

射频驻波比计算(网上整理)

V S W R = P f o r w a r d + P r e f l e c t P f o r w a r d − P r e f l e c t VSWR=\frac{P_{forward}+P_{reflect}}{P_{forward}-P_{reflect}} VSWR=PforwardPreflectPforward+Preflect

dbm db w mw 转换关系

1 d b m = 10 ∗ log ⁡ 10 P o w e r 1 m w 1 dbm = 10*\log_{10}^{\frac{Power}{1mw}} 1dbm=10log101mwPower
30 d b m = 1 W 30dbm = 1W 30dbm=1W
1 w = 1000 m w 1w = 1000 mw 1w=1000mw
d b = a ( d b m ) − b ( d b m ) db = a(dbm)-b(dbm) db=a(dbm)b(dbm)
d b = 10 ∗ l o g 10 a ( p o w e r ) b ( p o w e r ) db = 10*log_{10}^{\frac{a(power)}{b(power)}} db=10log10b(power)a(power)

C 代码 记录

#include <stdio.h>
#include <math.h>

double dbm2power(double dbm){
    
    return pow(10.0,dbm/10.0)/1000.0;
}

double vswr_accurate(double forward,double reflecte){
    
    return (pow(10.0,(10.0*log10(dbm2power(forward)/dbm2power(reflecte))/20.0))+1.0)/(pow(10.0,10.0*log10(dbm2power(forward)/dbm2power(reflecte))/20.0)-1.0);
}

double vswr_accurate_v2(double forward,double reflecte){
    
	return (pow(10.0,(forward-reflecte)/20.0)+1.0)/(pow(10.0,(forward-reflecte)/20.0)-1.0);
}

double vswr_rough(double forward,double reflecte){
    
    return ((dbm2power(reflecte)+dbm2power(forward))/dbm2power(forward)-dbm2power(reflecte));
}

int main(void){
    
    printf("pwr %lf \n",vswr_rough(26.0,20.0));
}
原网站

版权声明
本文为[洪大宇]所创,转载请带上原文链接,感谢
https://hongdayu.blog.csdn.net/article/details/125443231