news 2026/9/7 7:40:34

雷达天线图

作者头像

张小明

前端开发工程师

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/9/7 4:24:40

anoconda简单操作

1. 常用命令 conda env list:查看目前电脑中所有的conda环境 conda search pymysql:查找本机所支持的所有pymysql版本 conda list pymysql:查看本机已经安装 的pymysql版本 2. Jupyter Notebook

作者头像 李华
网站建设 2026/9/7 2:41:17

多场景头盔佩戴检测

多场景头盔佩戴检测系统 本文档旨在全面、深入地介绍安全帽佩戴检测系统的技术细节、架构设计及功能实现。系统集成了深度学习目标检测算法、Web全栈开发技术与数据库管理技术,形成了一套完整的闭环解决方案。1. 系统架构设计 (System Architecture) 本系统采用经典…

作者头像 李华
网站建设 2026/9/7 1:29:13

70看看:AI如何帮你快速生成代码项目

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用70看看平台,输入以下需求:创建一个简单的待办事项应用,包含添加、删除和标记完成功能。前端使用React,后端使用Node.js&#xff…

作者头像 李华
网站建设 2026/9/6 7:51:30

13、Puppet 模块与类:从基础到高级应用

Puppet 模块与类:从基础到高级应用 1. 模块代码编写 Puppet 模块具有标准的目录结构,这有助于 Puppet 自动查找模块内的清单文件、模板和其他组件。在这个示例中,我们主要关注 manifests 和 files 这两个子目录。以下是创建管理 NTP 服务的模块的详细步骤: 创建 ma…

作者头像 李华
网站建设 2026/9/7 3:53:58

JBoltAI 识图阅卷:AI 赋能教育考评,开启智能阅卷新时代

在教育信息化深入发展的今天,学校、考试院、培训机构面临着大规模阅卷的共性难题:人工阅卷效率低下、主观误差难以避免、人力成本居高不下。传统阅卷模式不仅消耗大量师资精力,还可能因疲劳、标准理解偏差等因素影响考评结果的公正性与准确性…

作者头像 李华
网站建设 2026/9/6 22:08:12

16、模板与容器管理:Puppet 实践全解析

模板与容器管理:Puppet 实践全解析 模板参数传递 在模板中声明参数,需在非打印标签内用竖线(|)列出参数。示例如下( template_params.epp ): <% | String[1] $aws_access_key,String[1] $aws_secret_key, | -%> aws_access_key_id = <%= $aws_access_key…

作者头像 李华