阵列天线方向图乘积定理的C#实现

基于方向图乘积定理的任意直线阵的C#实现

本篇博客将介绍方向图乘积定理和C#编程实现方法,同时比较C#编程的方向图阵列综合与HFSS方向图阵列综合。

方向图乘积定理:

任意形式单元天线构成的直线阵如下图所示:
           阵列天线方向图乘积定理的C#实现_第1张图片
阵中第n个单元的远区辐射场可表示为如下形式:
                    阵列天线方向图乘积定理的C#实现_第2张图片
其中在这里插入图片描述,An和an分别表示单元天线的激励幅度和相位,f(θ,φ)为单元天线的方向图函数。
由上可得,阵列的远区总场为:
在这里插入图片描述
波程差为:                  Rn-r=-ξn*cos⁡β
化简可得阵列的方向图函数为:
                    在这里插入图片描述
阵因子为:                在这里插入图片描述

C#实现:

class Program
{
	static void Main(string[] args)
	{
		List data_x = new List();//方向图的X轴数据,角度
		List data_y = new List();//方向图的y轴数据,增益
		int N_data = data_x.Count;//角度点数
		int N_cell = 9;//阵列单元数
		double F = 1.575;//天线频率
		double k = 2 * Math.PI * F / 300;//k=2π/λ
		double[] position = {0,158,298,415,541,675,771,929,1058};//单元位置分布
		double[] power = { 0.48,0.23,0.77,0.35,1,0.64,0.37,0.64,0.2};//单元馈电分布
		double[] phase = {64,121,158,143,188,214,259,289,242};//单元相位分布
		double[] ArrayReal = new double[N_data];//复数实部
		double[] ArrayImage = new double[N_data];//复数虚部
		double[] ArrayComplex = new double[N_data];//复数幅值
		ExpComplex expcomplex = new ExpComplex();
		for (int i = 0; i < N_data; i++)
		{
			double k_d = k * Math.Sin(data_x[i] * Math.PI / 180);
			for (int j = 0; j < N_cell; j++)
				{
					ArrayReal[i] = ArrayReal[i] + power[j] * data_y[i] * expcomplex.Real(phase[j] * Math.PI / 180 + k_d * position[j]);
					ArrayImage[i] = ArrayImage[i] + power[j] * data_y[i] * expcomplex.Image(phase[j] * Math.PI / 180 + k_d * position[j]);
				}
			ArrayComplex[i] =10* (Math.Log (expcomplex.complex(ArrayReal[i], ArrayImage[i])));
		}

	}
}

//简易的复数运算类
//z=x+i*y,exp(z)=exp(x)*cos(y)+i*exp(x)*sin(y)
class ExpComplex
{
	//返回实部
	public double Real(double x)
	{
		return Math.Cos(x);
	}
	//返回虚部
	public double Image(double x)
	{
		return Math.Sin(x);
	}
	//返回幅值
	public double complex(double x, double y)
	{
		return Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2));
	}
}

C#阵列综合与HFSS阵列综合比较

单元方向图:
阵列天线方向图乘积定理的C#实现_第3张图片
组阵信息,10个单元天线,天线频率0.91GHz,单元天线激励位置,幅度,相位如下:
阵列位置,{0,203,426,585,785,1016,1234,1427,1590,1793};
阵列幅度,{ 0.12,0.35,0.21,0.83,0.42,1,0.33,0.28,0.41,0.36};
阵列相位,{39,61,74,159,212,244,253,221,175,156}

总场方向图:
阵列天线方向图乘积定理的C#实现_第4张图片
红色的线为通过HFSS综合得到的方向图,蓝色的线为C#通过方向图乘积定理得到方向图。

单元方向图
阵列天线方向图乘积定理的C#实现_第5张图片
组阵信息,9个单元天线,天线频率1.575GHz,单元天线激励位置,幅度,相位如下:
阵列位置分布,{0,158,298,415,541,675,771,929,1058};
阵列馈电分布,{ 0.48,0.23,0.77,0.35,1,0.64,0.37,0.64,0.2};
阵列相位分布,{64,121,158,143,188,214,259,289,242};

合成的总场方向图:
阵列天线方向图乘积定理的C#实现_第6张图片
红色的线为通过HFSS综合得到的方向图,蓝色的线为C#通过方向图乘积定理得到方向图。

通过C#与HFSS综合得到的总场方向图比较可得,两者是很接近的,方向图波形一致,副瓣略有差异。

你可能感兴趣的:(天线)