news 2026/1/15 9:34:52

雷达天线图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
雷达天线图

(Antenna Radiation Pattern)。

1. 什么是天线方向图?

它是用来描述天线在空间各个方向上发射或接收电磁波能力的图形。简单来说,它告诉我们这个雷达/天线主要往哪个方向“看”,以及它的“视力”范围形状是怎样的。

2. 核心组成部分

专业的雷达天线图通常包含以下几个关键部分(形似花瓣):

  • 主瓣 (Main Lobe):能量最集中的区域,也是雷达主要探测或通信的方向。主瓣越窄,方向性越好,探测越精准。

  • 旁瓣/副瓣 (Side Lobes):主瓣旁边的小波瓣。这是不需要的能量泄漏,旁瓣过大容易造成干扰或被敌方侦测,通常设计时要尽量压低。

  • 后瓣 (Back Lobe):指向天线后方的辐射瓣,通常也是希望消除的。

  • 零点 (Nulls):辐射极弱甚至为零的方向,用于隔离干扰信号。

代码部分

import numpy as np import matplotlib.pyplot as plt import matplotlib import os def configure_chinese_font(): """ 配置Matplotlib的中文字体,尝试适配不同操作系统。 """ # 常见的中文字体列表 (Windows, Linux, macOS) font_candidates = [ 'SimHei', # Windows 黑体 'Microsoft YaHei', # Windows 微软雅黑 'Heiti TC', # macOS 黑体 'WenQuanYi Micro Hei', # Linux 文泉驿 'SimSun', # 宋体 'Arial Unicode MS' # 通用后备 ] # 找到第一个系统中存在的字体 found_font = None for font in font_candidates: try: # 尝试通过名字获取字体路径来验证字体是否存在 matplotlib.font_manager.findfont(font, fallback_to_default=False) found_font = font break except: continue if found_font: print(f"检测到可用中文字体: {found_font}") plt.rcParams['font.sans-serif'] = [found_font] plt.rcParams['axes.unicode_minus'] = False # 解决负号'-'显示为方块的问题 else: print("未检测到常用中文字体,将使用默认字体(中文可能无法显示)。") # 这种情况下通常建议手动安装 SimHei.ttf def generate_antenna_pattern(): # 1. 设置数据 # theta: 角度范围,从 -pi 到 pi theta = np.linspace(-np.pi, np.pi, 1000) # 模拟一个 8 阵元的均匀线性阵列 (ULA) N = 8 # 阵元数量 d_lambda = 0.5 # 阵元间距(波长的一半) # 相位差 psi psi = 2 * np.pi * d_lambda * np.sin(theta) # 阵列因子 (Array Factor) 公式,并进行归一化 # 使用 np.errstate 忽略除以 0 的警告 with np.errstate(divide='ignore', invalid='ignore'): gain = np.abs(np.sin(N * psi / 2) / (N * np.sin(psi / 2))) # 修正 NaN 值 gain = np.nan_to_num(gain, nan=1.0) # 2. 创建极坐标图 # 稍微增加一点画布高度 plt.figure(figsize=(10, 9), dpi=150) ax = plt.subplot(111, projection='polar') # 3. 绘制图形 ax.plot(theta, gain, color='red', linewidth=2, label='辐射强度 (归一化)') # 4. 美化图表 ax.set_theta_zero_location('N') ax.set_theta_direction(-1) ax.fill(theta, gain, color='red', alpha=0.1) # 移除极径轴的刻度标签(0.2, 0.4等),让图更清爽 ax.set_yticklabels([]) # 5. 添加标注 (Annotation) # 标注主瓣 (Main Lobe) - 调整了 xytext,稍微往下移了一点 (1.3 -> 1.2) ax.annotate('主瓣 (Main Lobe)\n能量最集中,用于探测', xy=(0, 1.0), xytext=(0, 1.2), # 位置下调,防止超出边界 arrowprops=dict(facecolor='black', shrink=0.05), horizontalalignment='center', fontsize=12, color='blue') # 标注旁瓣 (Side Lobe) side_lobe_angle = np.arcsin(1.5 / (N * d_lambda)) ax.annotate('旁瓣 (Side Lobe)\n能量泄漏,易受干扰', xy=(side_lobe_angle, 0.25), xytext=(side_lobe_angle + 0.3, 0.6), arrowprops=dict(facecolor='green', shrink=0.05), fontsize=10, color='green') # 标注零点 (Null) null_angle = np.arcsin(1.0 / (N * d_lambda)) ax.annotate('零点 (Null)\n无辐射区域', xy=(null_angle, 0.0), xytext=(null_angle + 0.2, 0.3), arrowprops=dict(facecolor='gray', arrowstyle='->'), fontsize=10, color='gray') # 设置标题,稍微减小 padding plt.title(f'雷达天线辐射方向图 (Antenna Pattern)\nN={N} 阵元均匀阵列模拟', va='bottom', fontsize=14, pad=15) # 6. 保存到本地 save_path = 'radar_antenna_pattern.png' # 关键:使用 tight_layout 自动调整布局,确保内容不被裁剪 plt.tight_layout() # 保持 bbox_inches='tight' 作为双重保险 plt.savefig(save_path, bbox_inches='tight') print(f"图像已成功生成并保存为: {os.path.abspath(save_path)}") # 显示图形 plt.show() if __name__ == "__main__": configure_chinese_font() generate_antenna_pattern()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/9 22:23:49

27、Python 包管理工具全解析

Python 包管理工具全解析 1. 入口点与脚本安装 入口点的概念有一些复杂的方面,但从高层次来看,重要的是知道可以使用入口点将脚本作为命令行工具安装到用户路径中。要实现这一点,只需遵循特定语法并定义一个运行命令行工具的函数。 2. 在 Python 包索引中注册包 如果你编…

作者头像 李华
网站建设 2026/1/9 10:06:32

AD学习笔记-34 PCBlogo的添加

设计PCB时,我们有时候会添加一些logo,今天我们学习如何进行操作。1、图片导入我们找到放置-图形。软件会让你选定一个区域。然后我们再选中图片即可,是不是非常的方便。

作者头像 李华
网站建设 2025/12/15 5:16:52

9、Puppet 中的变量、表达式、事实以及 Hiera 数据管理

Puppet 中的变量、表达式、事实以及 Hiera 数据管理 1. Puppet 中的迭代:each 函数的使用 在 Puppet 中,当我们需要创建多个相似的资源时,手动编写每个资源会非常繁琐。例如,创建三个不同编号的脚本资源,除了任务编号不同外,其他属性都相同。如果后续需要修改脚本属性,…

作者头像 李华
网站建设 2025/12/23 14:52:01

电商系统中MyBatis‘小于等于‘查询实战案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商商品查询模块,实现按价格区间筛选商品功能。要求使用MyBatis动态SQL,能够查询价格小于等于指定值的商品。包含以下功能:1) 基础查询…

作者头像 李华
网站建设 2026/1/9 0:14:15

二叉树延伸:堆结构与 TopK 问题的深度绑定与优化

目录 前言 树 非树 树的相关术语 二叉树 二叉树的分类 计算完全二叉树和满二叉树的高度和结点数 二叉树的存储结构 顺序结构 链式结构 实现顺序结构二叉树 堆的概念与结构 堆的实现 堆的初始化 堆的值交换 获取堆顶元素、堆的数据个数、堆的判空、堆的销毁 *建…

作者头像 李华
网站建设 2025/12/27 11:48:33

企业IT实战:安全获取微软系统镜像的3种方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级微软系统下载管理器,支持批量获取Windows各版本直链,自动验证数字签名,生成下载报告。包含断点续传功能和企业内网分发方案。点击…

作者头像 李华