ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言辅助设计威尔金森功率分配器

2021-05-02 17:33:50  阅读:327  来源: 互联网

标签:辅助设计 %. float result1 k2 2f 分配器 printf C语言


C语言辅助设计威尔金森功率分配器

  多路功分器馈电网络的设计,经常采用两路功分器级联的方式。基本的威尔金森(Wiljinson)功分器结构如下所示:

在这里插入图片描述
  根据功率分配比计算阻抗的过程需要重复用到威尔金森(Wiljinson)功率分配器的设计步骤和计算过程,计算过程繁杂且容易出错,借助C语言来简化这个过程。
  代码中以特性阻抗 Z0=50Ω,两路功分器作为计算。

#include<stdio.h>
#include<float.h>
#include<math.h>
#define Z0 50//输入阻抗
typedef struct design {
	float a[8];//阵列
	struct data {//介质板参数
		float Er;
		float Mur;
		float H;
		float Hu;
		float T;
		float TanD;
	};
}antenna;
int main(void) {
	antenna Yagi;
	Yagi.Er = 2.2;
	Yagi.Mur = 1;
	Yagi.H = 0.254;
	float num1, num2,k2,k3,result1,z02,z03,R;
loop:printf("输入功率分配比:\n");
	printf("p1值:");
	scanf_s("%f", &num1);
	printf("p2值:");
	scanf_s("%f", &num2);
	printf("验算过程:\n");
	printf("--------------\n");
	printf("功率分配比:  %.2f:%.2f\n", num1, num2);
	k2 = num2 / num1;
	printf("k方值为:%f\n", k2);
	result1 = 1 + k2;
	printf("比值分子为:%f\n", result1);
	k3 = (float)pow(k2, 1.5);
	printf("比值分母为:%f\n", k3);
	printf("根号下值为:%f\n", result1/k3);
	z03= (float)(pow(result1 / k3,0.5)) * Z0;
	z02= (float)(pow(pow(k2, 0.5) * result1, 0.5)) * Z0;
	R = result1 / pow(k2, 0.5) * Z0;
	printf("--------------\n");
	printf("计算得的阻抗值为\n");
	printf("Z03=%.2fΩ  Z02=%.2fΩ\n", z03, z02);
	printf("隔离电阻:");
	printf("R=%.2fΩ\n", R);
	printf("**************************************\n");
	goto loop;
	return 0;
}

代码中的结构体部分是其他函数调用时使用的,计算阻抗暂时用不到。
验证:功率分配比为1:1时

在这里插入图片描述
功率分配比为0.66036:0.58008时(切比雪夫加权)

在这里插入图片描述

标签:辅助设计,%.,float,result1,k2,2f,分配器,printf,C语言
来源: https://blog.csdn.net/weixin_45545395/article/details/116354685

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有