C++ 天线系统
天线系统分别为SIMO时,在线性仿真路径上等距离的取仿真点
//完善仿真区域类型,完善后的类型为:
//0–单个点仿真;
//1–仿真区域为一线段;
//2–仿真区域为某一平面,默认手动划分计算区域
//3–//仿真点为离散点,从对应的存储文件中获取
void CreateSimulationArea_DEM()
{
int i, j;
Vertex3D vect;
if (TRANSCEIVERSYSTEM == 1)
{if (AREA_TYPE == 0) //仅为单个仿真点{RECNUM = 1;RX = (Vertex3D*)calloc(RECNUM, sizeof(Vertex3D));RX[0].x = POSITION.x;RX[0].y = POSITION.y;RX[0].z = POSITION.z;}else if (AREA_TYPE == 1) //仿真区域为一线段{int i;float stepx, stepy, stepz, s;s = sqrt((SEP.x - SSP.x) * (SEP.x - SSP.x) + (SEP.y - SSP.y) * (SEP.y - SSP.y) + (SEP.z - SSP.z) * (SEP.z - SSP.z)) / STEP;stepx = (SEP.x - SSP.x) / s;stepy = (SEP.y - SSP.y) / s;stepz = (SEP.z - SSP.z) / s;RECNUM = (int)s + 1;RX = (Vertex3D*)calloc(RECNUM, sizeof(Vertex3D));for (i = 0; i < RECNUM; i++){RX[i].x = SSP.x + i * stepx;RX[i].y = SSP.y + i * stepy;RX[i].z = SSP.z + i * stepz;}}else if (AREA_TYPE == 2) //仿真区域为某一平面{int i = 0;int x_grid = (int)(X_MAX - X_MIN) / STEP + 1;int y_grid = (int)(Y_MAX - Y_MIN) / STEP + 1;RECNUM = x_grid * y_grid;FILE* fp12 = fopen("生成测试点.txt", "w");RX = (Vertex3D*)calloc(RECNUM, sizeof(Vertex3D));for (int jj = 0; jj < x_grid; jj++){for (int kk = 0; kk < y_grid; kk++){RX[i].x = X_MIN + jj * STEP;RX[i].y = Y_MIN + kk * STEP;RX[i].z = Z_AVERAGE;fprintf(fp12, "%d %f %f %f\n", i, RX[i].x, RX[i].y, RX[i].z);i++;}}}
}
else
{}
}
关于建筑物穿透代码:
#include"ReadDEM.h"
#pragma warning (disable: 4996)
float** creat2d(int mm, int nn)
{
float** a;
int j;
a = (float**)malloc(sizeof(float*) * mm);//mm个行
for (j = 0; j &l
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
