当前位置: 首页 > article >正文

阻抗匹配

这里主要有L型匹配和PI型匹配两种

#include <math.h>
#include <stdio.h>
#include<stdlib.h>
void main()
{double RL,XL,Q,Rs;double Q1,Q2,Qe,L1,L2,L3,XL1,XL2,B,Ri,XC1,XC2,C1,C2,C;double Freq,w,Xs,Xp,ind,cap;int i=1,goon=1,select;do{i=0;printf("请输入工作频率(MHz) Frequency = ");scanf("%lf",&Freq);printf("              请输入源阻抗 Rs = ");scanf("%lf",&Rs);printf("             输入实部 Real(Z) =  ");scanf("%lf",&RL);printf("             输入虚部 Imag(Z) =  ");scanf("%lf",&XL);if(XL > 0)printf("=========在%g Hz下,需要进行匹配的阻抗为%g + j*%g\n\n",Freq,RL,XL);elseprintf("=========在%g Hz下,需要进行匹配的阻抗为%g - j*%g\n\n",Freq,RL,-XL);printf("    L型匹配请按-------1    PI型匹配请按-------2\n    Input: ");scanf("%d",&select);if(select==1){if(RL < Rs){Q = sqrt(Rs/RL-1);Xs = Q * RL;Xp = Rs/Q;w = 2*3.1416*Freq*1e6;ind = Xs*1e6/w-XL*1e6/w;cap = 1e6/(Xp*w);printf("\n\n               ******先并后串*******    \n");if(cap >= 1)printf("第一种匹配方式:\n----C1 = %.3f uF",cap);else if(cap*1e3 > 1)printf("第一种匹配方式:\n----C1 = %.3f nF",cap*1e3);else if(cap*1e6 > 1)printf("第一种匹配方式:\n----C1 = %.3f pF",cap*1e6);elseprintf("第一种匹配方式:\n----C1 = %.3f fF",cap*1e9);if(ind >= 1)printf("    L1 = %.3f uH\n",ind);else if(ind*1e3 > 1)printf("    L1 = %.3f nH\n",ind*1e3);elseprintf("    L1 = %.3f pH\n",ind*1e6);ind = Xp*1e6/w;if (XL == 0)cap = 1e6/(Xs*w);elsecap = 1/(1/(1e6/(Xs*w))+1/(1e6/(XL*w)));if(ind >= 1)printf("第二种匹配方式:\n----L1 = %.3f uH",ind);else if(ind*1e3 > 1)printf("第二种匹配方式:\n----L1 = %.3f nH",ind*1e3);elseprintf("第二种匹配方式:\n----L1 = %.3f pH",ind*1e6);if(cap >= 1)printf("    C1 = %.3f uF\n",cap);else if(cap*1e3 > 1)printf("    C1 = %.3f nF\n",cap*1e3);else if(cap*1e6 > 1)printf("    C1 = %.3f pF\n",cap*1e6);elseprintf("    C1 = %.3f fF\n",cap*1e9);}else{Q = XL/RL;RL = RL*(1+Q*Q);XL = XL*(1+1/(Q*Q));Q = sqrt(RL/Rs-1);Xs = Q * Rs;Xp = RL/Q;w = 2*3.1416*Freq*1e6;ind = Xs*1e6/w;if (XL == 0)cap = 1e6/(Xp*w);elsecap = 1e6/(Xp*w)+1e6/(XL*w);printf("\n\n               --------先串后并--------\n");if(ind >= 1)printf("第一种匹配方式:\n----L1 = %.3f uH",ind);else if(ind*1e3 > 1)printf("第一种匹配方式:\n----L1 = %.3f nH",ind*1e3);elseprintf("第一种匹配方式:\n----L1 = %.3f pH",ind*1e6);if(cap >= 1)printf("    C1 = %.3f uF\n",cap);else if(cap*1e3 > 1)printf("    C1 = %.3f nF\n",cap*1e3);else if(cap*1e6 > 1)printf("    C1 = %.3f pF\n",cap*1e6);elseprintf("    C1 = %.3f fF\n",cap*1e9);if (XL == 0)ind = Xp*1e6/w;elseind = 1/(1/(Xp*1e6/w)-1/(XL*1e6/w));cap = 1e6/(Xs*w);if(cap >= 1)printf("第二种匹配方式:\n----C1 = %.3f uF",cap);else if(cap*1e3 > 1)printf("第二种匹配方式:\n----C1 = %.3f nF",cap*1e3);else if(cap*1e6 > 1)printf("第二种匹配方式:\n----C1 = %.3f pF",cap*1e6);elseprintf("第二种匹配方式:\n----C1 = %.3f fF",cap*1e9);if(ind >= 1)printf("    L1 = %.3f uH\n",ind);else if(ind*1e3 > 1)printf("    L1 = %.3f nH\n",ind*1e3);elseprintf("    L1 = %.3f pH\n",ind*1e6);}}else if(select==2){XL=0-XL;printf("====该匹配需要确定 Q=  ");scanf("%lf",&Qe);Q2=2*Qe;Ri=(RL/(1+Q2*Q2));XL2=RL/Q2;XC2=Q2*Ri;Q1=sqrt((50/Ri)-1);XL1=50/Q1;XC1=Q1*Ri;w=2*3.14159*Freq*1E6;C1=1/(w*XC1);C2=1/(w*XC2);C=(C1*C2)/(C1+C2);L1=XL1/w;L2=XL2/w;L3=XL/w;B=Freq/Q2;printf("*************在%g MHz下,匹配的样式如下:并L1,串C,并L2,串L3\n",Freq);if((L1 >= 1E-6)&&(L1 <= 1E-3))printf("==========先并联电感L1为 %.2f uH",L1*1E6);if((L1 >= 1E-9)&&(L1 <= 1E-6))printf("==========先并联电感L1为 %.2f nH",L1*1E9);if((L1 >= 1E-12)&&(L1 <= 1E-9))printf("==========先并联电感L1为 %.2f pH",L1*1E12);if((C >= 1E-6)&&(C <= 1E-3))printf("再串联电容C为 %.2f uF\n",C*1E6);if((C >= 1E-9)&&(C <= 1E-6))printf("再串联电容C为 %.2f nF\n",C*1E9);if((C >= 1E-12)&&(C <= 1E-9))printf("再串联电容C为 %.2f pF\n",C*1E12);if((C >= 1E-15)&&(C <= 1E-12))printf("再串联电容C为 %.2f fF\n",C*1E15);	if((L2 >= 1E-6)&&(L2 <= 1E-3))printf("==========然后并联电感L2为 %.2f uH",L2*1E6);if((L2 >= 1E-9)&&(L2 <= 1E-6))printf("==========然后并联电感L2为 %.2f nH",L2*1E9);if((L2 >= 1E-12)&&(L2 <= 1E-9))printf("==========然后并联电感L2为 %.2f pH",L2*1E12);if((L3 >= 1E-6)&&(L3 <= 1E-3))printf("最后串联电感L3为 %.2f uH\n",L3*1E6);if((L3 >= 1E-9)&&(L3 <= 1E-6))printf("最后串联电感L3为 %.2f nH\n",L3*1E9);if((L3 >= 1E-12)&&(L3 <= 1E-9))printf("最后串联电感L3为 %g.2f pH\n",L3*1E12);	if((B >= 1E-3)&&(B <= 1))printf("带宽为 %g MHz\n",B*1E3);elseprintf("带宽为 %g MHz\n",B);}elsei=1;printf("\n=======是否继续阻抗匹配,继续请按1,退出请按任意键=========\n\n\n");scanf("%d",&goon);if(goon==1)i=1;elsei=0;}while(i==1);
}

 

http://www.lryc.cn/news/2418384.html

相关文章:

  • 当前目录下有一个文件名为 class_score.txt 的文本文件,存放着某班学生的学号、数学课成绩(第 2 列)和语文课成绩(第 3 列)。请编程完成下列要求。
  • 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》最终支线攻略
  • 分享github好用的磁力站bt导航和阿里云盘导航、百度网盘搜索引擎导航
  • VC2008移动头文件未重建
  • signature=da0cbfb45ebebe4ea0118c0a20df185e,MS15-018:Internet Explorer 累积安全更新:2015 年 3 月 10 日...
  • 系统因缺少MSVCIRT.DLL文件导致程序异常的解决办法
  • 杀毒软件工作原理 及 现在主要杀毒技术
  • 2021爱智先行者—软件入门及远程控制开关灯
  • ci service 和catalog.wci是什么?
  • 适用ios,android,wp等平台手机emoji表情符号兼容方案
  • android女孩名字的由来,诗经中的女孩灵动名字 寓意深刻而又唯美
  • Java Bean详解
  • opencv Mat数据 乘以系数
  • 爱色影音播放器免费版
  • php卡盟主站_《卡盟源码秒卡购》运营级别卡盟系统源码支持API站对接站[带有SUP+商户+支持秒搭建主站]...
  • CC软件的一些实用技巧
  • 小明医声发布,看AI技术秀得飞起
  • colab使用步骤
  • 【微信小程序】从零开始搭建微信小程序项目
  • 云联惠认证时间_2019年4月份了,云联惠目前是什么情况?大家报案了吗?
  • 中国雅虎首页改版彻底与口碑网剥离
  • 虚幻引擎[真实字幕组]开始公开招募!这太真实了!
  • 苏州Uber优步司机奖励政策(4月2日~4月3日)
  • 【美团20240309笔试算法题】小美的数组询问
  • ZooKeeper实战总结
  • WAVE SUMMIT+ 2023 倒计时:走进青少年开发者的AI创新之旅
  • 程序猿购物指南
  • ruby 生成html,Ruby编写HTML脚本替换小程序的实例分享
  • XPE一般性组件整理
  • 分布式系统中CAP理论详解、面试必问、看完你就理解了