主题041:微带天线设计与仿真

目录

  1. 引言
  2. 微带天线基础理论
  3. 微带贴片天线设计
  4. 馈电技术与阻抗匹配
  5. 阵列天线设计
  6. 宽带与多频技术
  7. 圆极化微带天线
  8. Python仿真实现
  9. 工程案例分析
  10. 总结与展望

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引言

微带天线(Microstrip Antenna)是20世纪70年代发展起来的一种新型天线形式,因其具有剖面低、重量轻、成本低、易于集成和共形等优点,在无线通信、雷达系统、卫星通信、移动通信等领域得到了广泛应用。

微带天线的发展历程

早期发展(1970年代)

  • 1972年,Howell和Munson首次系统研究了微带天线
  • 早期主要应用于军事和航空航天领域
  • 理论分析方法逐渐建立

快速发展期(1980-1990年代)

  • 移动通信的兴起推动了微带天线的普及
  • 各种改进型结构被提出
  • 数值仿真方法日趋成熟

现代发展(2000年至今)

  • 多频、宽带、可重构技术
  • 与RF电路的集成设计
  • 5G/6G毫米波应用
  • 智能天线和MIMO系统

微带天线的主要优点

  1. 低剖面:天线厚度通常小于波长,适合安装在飞行器、车辆等表面
  2. 重量轻:相比传统天线减重可达90%以上
  3. 成本低:可采用印刷电路板工艺批量生产
  4. 易于集成:可与微波电路集成在同一基板上
  5. 共形能力:可贴合曲面安装
  6. 极化多样:可实现线极化、圆极化等多种极化方式

微带天线的主要缺点

  1. 窄带宽:典型带宽仅为1-5%
  2. 低效率:导体损耗和介质损耗较大
  3. 低功率容量:不适合高功率应用
  4. 尺寸限制:低频段天线尺寸较大

微带天线基础理论

微带天线结构

微带天线由三部分组成:

        辐射贴片
    ┌─────────────┐
    │             │
    │   金属贴片   │  ← 辐射单元(铜或金)
    │             │
    └─────────────┘
    ═══════════════  ← 介质基板(FR4、Rogers等)
    ┌─────────────┐
    │             │
    │   接地板    │  ← 金属接地层
    │             │
    └─────────────┘

关键参数

  • 贴片长度L:决定谐振频率的主要参数
  • 贴片宽度W:影响输入阻抗和带宽
  • 基板厚度h:影响带宽和效率
  • 介电常数εr:影响天线尺寸和带宽

传输线模型

微带贴片天线可以用传输线模型近似分析。将贴片视为宽度为W、长度为L的传输线,两端开路形成辐射缝隙。

等效电路

    辐射缝隙(L×W)
    ┌─────┬─────┐
    │     │     │
    G1    │    G2  ← 辐射电导
    B1    │    B2  ← 边缘电容
    │     │     │
    └─────┴─────┘
      传输线

辐射电导计算

对于宽度为W的辐射缝隙,其辐射电导为:

G = W 2 90 λ 0 2 ( W ≪ λ 0 ) G = \frac{W^2}{90\lambda_0^2} \quad (W \ll \lambda_0) G=90λ02W2(Wλ0)

G = W 120 λ 0 ( W ≫ λ 0 ) G = \frac{W}{120\lambda_0} \quad (W \gg \lambda_0) G=120λ0W(Wλ0)

其中λ₀为自由空间波长。

边缘电容

开路端的边缘效应可用等效延伸长度ΔL表示:

Δ L = 0.412 h ( ε r e f f + 0.3 ) ( W / h + 0.264 ) ( ε r e f f − 0.258 ) ( W / h + 0.8 ) \Delta L = 0.412h\frac{(\varepsilon_{reff}+0.3)(W/h+0.264)}{(\varepsilon_{reff}-0.258)(W/h+0.8)} ΔL=0.412h(εreff0.258)(W/h+0.8)(εreff+0.3)(W/h+0.264)

腔体模型

腔体模型将贴片与接地板之间的区域视为谐振腔,上下为电壁,四周为磁壁。

腔内场分布

对于TMₘₙ模式,电场分布为:

E z = E 0 cos ⁡ ( m π x L ) cos ⁡ ( n π y W ) E_z = E_0 \cos\left(\frac{m\pi x}{L}\right)\cos\left(\frac{n\pi y}{W}\right) Ez=E0cos(Lx)cos(Wy)

谐振频率

f m n = c 2 ε r ( m L ) 2 + ( n W ) 2 f_{mn} = \frac{c}{2\sqrt{\varepsilon_r}}\sqrt{\left(\frac{m}{L}\right)^2 + \left(\frac{n}{W}\right)^2} fmn=2εr c(Lm)2+(Wn)2

其中:

  • m, n = 0, 1, 2, …(不同时为零)
  • c为光速
  • εr为基板介电常数

主模TM₁₀

最常用的工作模式,电场沿长度方向呈半正弦分布,沿宽度方向均匀分布。

全波分析

对于更精确的分析,需要采用全波方法:

矩量法(MoM)

  • 将贴片表面电流展开为基函数
  • 求解电场积分方程
  • 计算输入阻抗和辐射场

有限元法(FEM)

  • 离散整个计算区域
  • 求解矢量波动方程
  • 适合复杂结构分析

FDTD方法

  • 时域直接求解麦克斯韦方程
  • 可获得宽带特性
  • 适合时域分析

微带贴片天线设计

矩形贴片天线设计

矩形贴片是最基本的微带天线形式。

设计步骤

步骤1:确定介电常数和基板厚度

选择原则:

  • 低介电常数(εr < 4):带宽大,尺寸大
  • 高介电常数(εr > 6):带宽小,尺寸小
  • 基板厚度:h = 0.01-0.05λ₀

常用基板材料:

材料 介电常数 损耗角正切 适用频率
FR4 4.4 0.02 < 5 GHz
Rogers RO4350B 3.48 0.0037 < 20 GHz
Rogers RO3003 3.0 0.0013 < 30 GHz
Alumina 9.8 0.0001 高频应用

步骤2:计算有效介电常数

ε r e f f = ε r + 1 2 + ε r − 1 2 ( 1 + 12 h W ) − 1 / 2 \varepsilon_{reff} = \frac{\varepsilon_r + 1}{2} + \frac{\varepsilon_r - 1}{2}\left(1 + 12\frac{h}{W}\right)^{-1/2} εreff=2εr+1+2εr1(1+12Wh)1/2

步骤3:计算等效延伸长度

Δ L = 0.412 h ( ε r e f f + 0.3 ) ( W / h + 0.264 ) ( ε r e f f − 0.258 ) ( W / h + 0.8 ) \Delta L = 0.412h\frac{(\varepsilon_{reff}+0.3)(W/h+0.264)}{(\varepsilon_{reff}-0.258)(W/h+0.8)} ΔL=0.412h(εreff0.258)(W/h+0.8)(εreff+0.3)(W/h+0.264)

步骤4:计算贴片长度

L = c 2 f r ε r e f f − 2 Δ L L = \frac{c}{2f_r\sqrt{\varepsilon_{reff}}} - 2\Delta L L=2frεreff cL

步骤5:确定贴片宽度

W = c 2 f r 2 ε r + 1 W = \frac{c}{2f_r}\sqrt{\frac{2}{\varepsilon_r + 1}} W=2frcεr+12

宽度选择原则:

  • W < λ₀/2:窄带,高输入阻抗
  • W ≈ λ₀/2:标准设计
  • W > λ₀/2:宽带,可能激发高次模

设计实例:2.4 GHz WiFi天线

设计参数

  • 工作频率:f₀ = 2.4 GHz
  • 基板:FR4,εr = 4.4,h = 1.6 mm

计算过程

  1. 计算宽度
    W = 3 × 10 8 2 × 2.4 × 10 9 2 4.4 + 1 = 30.5  mm W = \frac{3\times10^8}{2\times2.4\times10^9}\sqrt{\frac{2}{4.4+1}} = 30.5 \text{ mm} W=2×2.4×1093×1084.4+12 =30.5 mm

  2. 计算有效介电常数
    ε r e f f = 4.4 + 1 2 + 4.4 − 1 2 ( 1 + 12 1.6 30.5 ) − 1 / 2 = 4.08 \varepsilon_{reff} = \frac{4.4+1}{2} + \frac{4.4-1}{2}\left(1 + 12\frac{1.6}{30.5}\right)^{-1/2} = 4.08 εreff=24.4+1+24.41(1+1230.51.6)1/2=4.08

  3. 计算等效延伸长度
    Δ L = 0.412 × 1.6 ( 4.08 + 0.3 ) ( 30.5 / 1.6 + 0.264 ) ( 4.08 − 0.258 ) ( 30.5 / 1.6 + 0.8 ) = 0.79  mm \Delta L = 0.412\times1.6\frac{(4.08+0.3)(30.5/1.6+0.264)}{(4.08-0.258)(30.5/1.6+0.8)} = 0.79 \text{ mm} ΔL=0.412×1.6(4.080.258)(30.5/1.6+0.8)(4.08+0.3)(30.5/1.6+0.264)=0.79 mm

  4. 计算长度
    L = 3 × 10 8 2 × 2.4 × 10 9 × 4.08 − 2 × 0.79 = 28.9  mm L = \frac{3\times10^8}{2\times2.4\times10^9\times\sqrt{4.08}} - 2\times0.79 = 28.9 \text{ mm} L=2×2.4×109×4.08 3×1082×0.79=28.9 mm

最终尺寸

  • L = 28.9 mm
  • W = 30.5 mm
  • h = 1.6 mm

圆形贴片天线

圆形贴片具有更好的对称性,适合圆极化设计。

谐振频率

f m n = X m n c 2 π a ε r e f f f_{mn} = \frac{X_{mn}c}{2\pi a\sqrt{\varepsilon_{reff}}} fmn=2πaεreff Xmnc

其中:

  • a为贴片半径
  • Xmn为贝塞尔函数根(X₁₁ = 1.841,X₂₁ = 3.054)
  • m为角向模式数,n为径向模式数

主模TM₁₁

电场沿径向呈J₁分布,沿角向呈cos(φ)分布。

设计公式

a = X 11 c 2 π f r ε r a = \frac{X_{11}c}{2\pi f_r\sqrt{\varepsilon_r}} a=2πfrεr X11c

考虑边缘效应的修正:

a e f f = a [ 1 + 2 h π a ε r ( ln ⁡ π a 2 h + 1.7726 ) ] 1 / 2 a_{eff} = a\left[1 + \frac{2h}{\pi a\varepsilon_r}\left(\ln\frac{\pi a}{2h} + 1.7726\right)\right]^{1/2} aeff=a[1+πaεr2h(ln2hπa+1.7726)]1/2

三角形贴片天线

三角形贴片尺寸更小,适合紧凑型设计。

谐振频率

f m n = 2 c 3 a ε r m 2 + m n + n 2 f_{mn} = \frac{2c}{3a\sqrt{\varepsilon_r}}\sqrt{m^2 + mn + n^2} fmn=3aεr 2cm2+mn+n2

其中a为三角形边长。

主模

TM₁₀模式,边长约为:

a = 2 c 3 f r ε r a = \frac{2c}{3f_r\sqrt{\varepsilon_r}} a=3frεr 2c


馈电技术与阻抗匹配

微带线馈电

微带线馈电是最常用的馈电方式,将微带传输线直接连接到贴片边缘。

输入阻抗计算

贴片边缘的输入阻抗为:

R i n = 1 2 G R_{in} = \frac{1}{2G} Rin=2G1

其中G为辐射电导。

对于TM₁₀模式:

R i n = 90 λ 0 2 W 2 cos ⁡ 2 ( π x 0 L ) R_{in} = 90\frac{\lambda_0^2}{W^2} \cos^2\left(\frac{\pi x_0}{L}\right) Rin=90W2λ02cos2(Lπx0)

其中x₀为馈电点位置。

阻抗匹配方法

方法1:偏移馈电点

将馈电点从边缘向中心移动,输入阻抗降低。

R i n ( x ) = R e d g e cos ⁡ 2 ( π x L ) R_{in}(x) = R_{edge} \cos^2\left(\frac{\pi x}{L}\right) Rin(x)=Redgecos2(Lπx)

50Ω匹配位置:

x 50 = L π arccos ⁡ 50 R e d g e x_{50} = \frac{L}{\pi}\arccos\sqrt{\frac{50}{R_{edge}}} x50=πLarccosRedge50

方法2:四分之一波长变换器

使用λ/4阻抗变换段:

Z 1 = Z 0 R i n Z_1 = \sqrt{Z_0 R_{in}} Z1=Z0Rin

变换段长度:

l = λ g 4 = c 4 f ε r e f f l = \frac{\lambda_g}{4} = \frac{c}{4f\sqrt{\varepsilon_{reff}}} l=4λg=4fεreff c

方法3:切角匹配

在贴片边缘切角,改变电流分布,降低输入阻抗。

同轴探针馈电

同轴探针从接地板背面穿过基板连接到贴片。

优点

  • 馈电网络在背面,不占用辐射面空间
  • 适合阵列天线
  • 可独立优化馈电网络

缺点

  • 需要钻孔
  • 存在感抗
  • 高频时损耗增大

感抗补偿

探针引入的感抗:

X L = 377 2 π tan ⁡ ( 2 π h λ 0 ) X_L = \frac{377}{2\pi}\tan\left(\frac{2\pi h}{\lambda_0}\right) XL=2π377tan(λ02πh)

补偿方法:

  • 在贴片中心附近馈电(电场最强,等效容抗)
  • 使用容性耦合
  • 优化探针位置

电磁耦合馈电(缝隙耦合)

通过缝隙将能量从馈线耦合到贴片。

结构

    贴片层
    ═══════
    介质基板
    ═══════
    接地板(带缝隙)
    ═══════
    馈线层

优点

  • 馈线与辐射层隔离
  • 带宽较宽(可达10-15%)
  • 交叉极化低

设计参数

  • 缝隙尺寸:通常λ/10 × λ/20
  • 缝隙位置:影响耦合强度
  • 基板厚度:上层薄,下层厚

共面波导馈电

在接地板同一平面内制作共面波导馈线。

优点

  • 单层结构,无需过孔
  • 适合MMIC集成
  • 易于实现宽带匹配

缺点

  • 辐射损耗较大
  • 需要精确控制间隙

阵列天线设计

阵列理论基础

阵列因子

N元均匀线阵的阵列因子:

A F = ∑ n = 0 N − 1 I n e j n ( k d cos ⁡ θ + β ) AF = \sum_{n=0}^{N-1} I_n e^{jn(kd\cos\theta + \beta)} AF=n=0N1Inejn(kdcosθ+β)

其中:

  • In为第n个单元的激励电流
  • d为单元间距
  • β为相邻单元相位差
  • θ为观察方向

均匀激励阵列

A F = sin ⁡ ( N ψ / 2 ) sin ⁡ ( ψ / 2 ) AF = \frac{\sin(N\psi/2)}{\sin(\psi/2)} AF=sin(ψ/2)sin(Nψ/2)

其中ψ = kd cosθ + β。

主瓣方向

θ 0 = arccos ⁡ ( − β k d ) \theta_0 = \arccos\left(-\frac{\beta}{kd}\right) θ0=arccos(kdβ)

半功率波瓣宽度

H P B W ≈ 50.8 ° N ( d / λ ) HPBW \approx \frac{50.8°}{N(d/\lambda)} HPBWN(d/λ)50.8°

旁瓣电平

均匀阵列的第一旁瓣为-13.2 dB。

微带阵列设计

单元间距选择

为避免栅瓣,单元间距应满足:

d < λ 0 1 + ∣ sin ⁡ θ m a x ∣ d < \frac{\lambda_0}{1 + |\sin\theta_{max}|} d<1+sinθmaxλ0

对于宽边阵列(θmax = 90°):

d < λ 0 2 d < \frac{\lambda_0}{2} d<2λ0

实际设计通常取d = 0.6-0.8λ₀。

馈电网络设计

并联馈电

  • 所有单元等相位馈电
  • 适合宽边辐射
  • 带宽较窄

串联馈电

  • 单元依次连接
  • 可产生相位梯度
  • 适合波束扫描

串并联混合馈电

  • 结合两者优点
  • 常用企业馈电结构

波束扫描技术

相控阵原理

通过改变单元间相位差实现波束扫描:

β = − k d sin ⁡ θ 0 \beta = -kd\sin\theta_0 β=kdsinθ0

扫描限制

随着扫描角度增大:

  • 波束展宽
  • 增益下降
  • 输入阻抗变化
  • 可能出现栅瓣

宽角扫描技术

  • 使用宽波束单元
  • 优化单元间距
  • 采用稀疏阵列

阵列综合方法

切比雪夫综合

等旁瓣电平设计,给定旁瓣电平SLL,单元激励为:

I n = 1 + 2 ∑ m = 1 M a m cos ⁡ ( 2 π m n N ) I_n = 1 + 2\sum_{m=1}^{M} a_m \cos\left(\frac{2\pi mn}{N}\right) In=1+2m=1Mamcos(N2πmn)

泰勒综合

在指定角度范围内等旁瓣,近旁瓣低,远旁瓣逐渐升高。

遗传算法综合

优化目标:

  • 低旁瓣
  • 窄主瓣
  • 指定零陷位置
  • 高效率

宽带与多频技术

宽带技术

微带天线窄带原因

  • 高Q值谐振腔
  • 薄基板储能
  • 单谐振模式

展宽技术

1. 厚基板技术

增加基板厚度可降低Q值:

Q ∝ 1 h Q \propto \frac{1}{h} Qh1

限制:

  • 表面波增加
  • 馈电感抗增大
  • 效率下降

2. 低介电常数基板

使用泡沫或空气基板:

B W ∝ h λ 0 ε r BW \propto \frac{h}{\lambda_0\sqrt{\varepsilon_r}} BWλ0εr h

3. 多层结构

    寄生贴片(上层)
    ═══════════════
    空气/泡沫层
    ═══════════════
    主贴片(下层)
    ═══════════════
    介质基板
    ═══════════════
    接地板

通过耦合产生双谐振,带宽可达15-20%。

4. 缝隙加载

在贴片上开缝隙,引入额外谐振模式。

常见缝隙形状:

  • U形缝隙
  • E形缝隙
  • L形缝隙
  • 环形缝隙

5. 短路针加载

使用短路针降低谐振频率,减小尺寸的同时保持带宽。

多频技术

多频应用需求

  • GSM/DCS/PCS多频段
  • WLAN 2.4/5.8 GHz
  • 卫星通信收发

实现方法

1. 多贴片结构

    ┌─────┐
    │ 小  │  ← 高频
    │ 贴片│
    └─────┘
    ┌─────────┐
    │   大    │  ← 低频
    │   贴片  │
    └─────────┘

2. 缝隙加载多频

不同形状缝隙产生不同谐振频率。

3. 多模式利用

利用TM₁₀、TM₀₁、TM₁₁等不同模式。

4. 可重构天线

使用开关(PIN二极管、MEMS)改变天线结构,实现频率切换。


圆极化微带天线

圆极化基础

圆极化条件

两个正交线极化分量幅度相等,相位差90°。

E y = E x e ± j π / 2 E_y = E_x e^{\pm j\pi/2} Ey=Exe±jπ/2

正号:右旋圆极化(RHCP)
负号:左旋圆极化(LHCP)

轴比(AR)

A R = ∣ E m a j o r ∣ ∣ E m i n o r ∣ AR = \frac{|E_{major}|}{|E_{minor}|} AR=EminorEmajor

理想圆极化:AR = 1(0 dB)
通常要求:AR < 3 dB

单馈点圆极化

切角法

在方形贴片对角切角,产生简并模分离。

    ┌───────┐
    │ \   / │
    │  \ /  │
    │   ×   │
    │  / \  │
    │ /   \ │
    └───────┘

切角尺寸:

Δ s = L 2 Q \Delta s = \frac{L}{2Q} Δs=2QL

其中Q为天线品质因数。

近似方形法

使贴片略呈矩形,分离简并模:

Δ f f = Δ L L ≈ 1 2 Q \frac{\Delta f}{f} = \frac{\Delta L}{L} \approx \frac{1}{2Q} fΔf=LΔL2Q1

缝隙扰动法

在贴片边缘开缝隙,扰动场分布。

双馈点圆极化

使用两个正交馈电点,通过功分器提供90°相位差。

正交混合耦合器

    输入 → [混合环] → 0°输出 → 水平馈电
              ↓
            -90°输出 → 垂直馈电

优点

  • 轴比带宽宽(可达10-15%)
  • 圆极化纯度高
  • 可电控切换旋向

缺点

  • 结构复杂
  • 馈电网络占用空间

圆极化阵列

顺序旋转技术

阵列中各单元依次旋转并施加相应相位差。

优点

  • 展宽轴比带宽
  • 改善圆极化纯度
  • 抑制交叉极化

设计

N元阵列,第n个单元:

  • 旋转角度:n×360°/N
  • 相位:n×360°/N

Python仿真实现

微带天线分析程序

"""
微带天线设计与仿真
包含:矩形贴片、圆形贴片、阵列设计
"""

import numpy as np
import matplotlib.pyplot as plt
from scipy import special
from scipy.optimize import fsolve

class MicrostripAntenna:
    """微带天线基类"""
    
    def __init__(self, freq, er, h):
        """
        参数:
            freq: 工作频率 (Hz)
            er: 介电常数
            h: 基板厚度 (m)
        """
        self.freq = freq
        self.er = er
        self.h = h
        self.c = 3e8  # 光速
        self.lambda0 = self.c / freq  # 自由空间波长
        
    def calculate_effective_dielectric_constant(self, W):
        """计算有效介电常数"""
        if W / self.h <= 1:
            ereff = (self.er + 1) / 2 + (self.er - 1) / 2 * \
                    ((1 + 12 * self.h / W) ** (-0.5) + 0.04 * (1 - W / self.h) ** 2)
        else:
            ereff = (self.er + 1) / 2 + (self.er - 1) / 2 * (1 + 12 * self.h / W) ** (-0.5)
        return ereff
    
    def calculate_extension_length(self, W, ereff):
        """计算等效延伸长度"""
        delta_L = self.h * 0.412 * (ereff + 0.3) * (W / self.h + 0.264) / \
                  ((ereff - 0.258) * (W / self.h + 0.8))
        return delta_L


class RectangularPatch(MicrostripAntenna):
    """矩形贴片天线"""
    
    def design(self):
        """设计矩形贴片尺寸"""
        # 计算宽度
        self.W = self.c / (2 * self.freq) * np.sqrt(2 / (self.er + 1))
        
        # 计算有效介电常数
        self.ereff = self.calculate_effective_dielectric_constant(self.W)
        
        # 计算等效延伸长度
        self.delta_L = self.calculate_extension_length(self.W, self.ereff)
        
        # 计算长度
        self.L = self.c / (2 * self.freq * np.sqrt(self.ereff)) - 2 * self.delta_L
        
        return self.L, self.W
    
    def calculate_input_impedance(self, x_feed):
        """
        计算输入阻抗
        参数:
            x_feed: 馈电点位置(从边缘算起)
        """
        # 边缘电阻(近似)
        R_edge = 90 * (self.lambda0 / self.W) ** 2
        
        # 输入阻抗随位置变化
        R_in = R_edge * np.cos(np.pi * x_feed / self.L) ** 2
        
        return R_in
    
    def find_feed_position(self, Z_target=50):
        """寻找50欧姆馈电位置"""
        # 边缘电阻
        R_edge = 90 * (self.lambda0 / self.W) ** 2
        
        if Z_target > R_edge:
            return None  # 无法匹配
        
        # 计算位置
        x_feed = self.L / np.pi * np.arccos(np.sqrt(Z_target / R_edge))
        
        return x_feed
    
    def radiation_pattern(self, theta, phi=0):
        """
        计算辐射方向图
        参数:
            theta: 俯仰角 (rad)
            phi: 方位角 (rad)
        """
        k0 = 2 * np.pi / self.lambda0
        
        # E面方向图(phi = 0)
        if phi == 0:
            # 沿宽度方向
            E_theta = np.sinc(k0 * self.W / 2 * np.sin(theta) / np.pi)
            # 沿长度方向
            E_theta *= np.cos(k0 * self.L / 2 * np.sin(theta))
        else:
            # H面方向图(phi = 90)
            E_theta = np.sinc(k0 * self.L / 2 * np.sin(theta) / np.pi)
            E_theta *= np.cos(k0 * self.W / 2 * np.sin(theta))
        
        return E_theta
    
    def calculate_bandwidth(self):
        """估算带宽(VSWR < 2)"""
        # 品质因数近似
        Q = self.er * self.L * self.W / (self.h * self.lambda0)
        
        # 带宽估算
        BW = 1 / Q * 100  # 百分比
        
        return BW
    
    def calculate_directivity(self):
        """估算方向性系数"""
        # 近似公式
        D = 6.6  # 典型矩形贴片方向性
        return D


class CircularPatch(MicrostripAntenna):
    """圆形贴片天线"""
    
    def design(self):
        """设计圆形贴片半径"""
        # TM11模式
        X11 = 1.841  # 一阶贝塞尔函数导数的第一个根
        
        # 初始半径
        a = X11 * self.c / (2 * np.pi * self.freq * np.sqrt(self.er))
        
        # 迭代考虑边缘效应
        for _ in range(5):
            a_eff = a * (1 + 2 * self.h / (np.pi * a * self.er) * 
                        (np.log(np.pi * a / (2 * self.h)) + 1.7726)) ** 0.5
            a = a * a / a_eff
        
        self.a = a
        return a
    
    def radiation_pattern(self, theta, phi=0):
        """计算辐射方向图"""
        k0 = 2 * np.pi / self.lambda0
        
        # 使用贝塞尔函数
        J1 = special.jv(1, k0 * self.a * np.sin(theta))
        
        E_theta = J1 / np.sin(theta)
        E_theta[theta == 0] = k0 * self.a / 2  # 处理theta=0奇点
        
        return E_theta


class PatchArray:
    """微带阵列天线"""
    
    def __init__(self, element, Nx, Ny, dx, dy):
        """
        参数:
            element: 单元天线对象
            Nx, Ny: x和y方向单元数
            dx, dy: 单元间距 (m)
        """
        self.element = element
        self.Nx = Nx
        self.Ny = Ny
        self.dx = dx
        self.dy = dy
    
    def array_factor(self, theta, phi):
        """
        计算阵列因子
        参数:
            theta: 俯仰角 (rad)
            phi: 方位角 (rad)
        """
        k0 = 2 * np.pi / self.element.lambda0
        
        # 相位项
        psi_x = k0 * self.dx * np.sin(theta) * np.cos(phi)
        psi_y = k0 * self.dy * np.sin(theta) * np.sin(phi)
        
        # 阵列因子
        if self.Nx > 1:
            AF_x = np.sin(self.Nx * psi_x / 2) / (self.Nx * np.sin(psi_x / 2))
            AF_x[np.abs(psi_x) < 1e-10] = 1
        else:
            AF_x = 1
        
        if self.Ny > 1:
            AF_y = np.sin(self.Ny * psi_y / 2) / (self.Ny * np.sin(psi_y / 2))
            AF_y[np.abs(psi_y) < 1e-10] = 1
        else:
            AF_y = 1
        
        return AF_x * AF_y
    
    def total_pattern(self, theta, phi):
        """计算总方向图"""
        element_pattern = self.element.radiation_pattern(theta, phi)
        array_factor = self.array_factor(theta, phi)
        return element_pattern * array_factor


# 设计示例
def design_example():
    """2.4 GHz WiFi天线设计示例"""
    
    print("=" * 60)
    print("2.4 GHz 矩形微带贴片天线设计")
    print("=" * 60)
    
    # 设计参数
    freq = 2.4e9  # 2.4 GHz
    er = 4.4      # FR4
    h = 1.6e-3    # 1.6 mm
    
    # 创建天线对象
    antenna = RectangularPatch(freq, er, h)
    
    # 设计
    L, W = antenna.design()
    
    print(f"\n设计参数:")
    print(f"  工作频率: {freq/1e9:.2f} GHz")
    print(f"  基板介电常数: {er}")
    print(f"  基板厚度: {h*1e3:.2f} mm")
    
    print(f"\n计算结果:")
    print(f"  贴片长度 L: {L*1e3:.2f} mm")
    print(f"  贴片宽度 W: {W*1e3:.2f} mm")
    print(f"  有效介电常数: {antenna.ereff:.3f}")
    print(f"  等效延伸长度: {antenna.delta_L*1e3:.3f} mm")
    
    # 输入阻抗分析
    print(f"\n输入阻抗分析:")
    x_feed = antenna.find_feed_position(50)
    if x_feed:
        print(f"  50Ω匹配位置: 距边缘 {x_feed*1e3:.2f} mm")
        print(f"  距中心 {(L/2 - x_feed)*1e3:.2f} mm")
    
    # 带宽估算
    BW = antenna.calculate_bandwidth()
    print(f"\n性能估算:")
    print(f"  带宽(VSWR<2): {BW:.2f}%")
    print(f"  方向性系数: {antenna.calculate_directivity():.2f} dBi")
    
    return antenna


if __name__ == "__main__":
    antenna = design_example()

阵列设计与方向图仿真

"""
微带阵列天线仿真
包含:线阵、面阵、波束扫描
"""

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

class ArrayUtils:
    """阵列天线工具类"""
    
    @staticmethod
    def chebyshev_weights(N, SLL_dB):
        """
        切比雪夫阵列综合
        参数:
            N: 单元数
            SLL_dB: 旁瓣电平 (dB)
        返回:
            单元激励幅度
        """
        # 转换为线性比例
        R0 = 10 ** (abs(SLL_dB) / 20)
        
        # 计算参数
        x0 = np.cosh(np.arccosh(R0) / (N - 1))
        
        # 生成权值
        weights = np.zeros(N)
        for n in range(N):
            # 使用切比雪夫多项式
            sum_val = 0
            for m in range(N // 2):
                if N % 2 == 1:  # 奇数
                    term = special.comb(N - 1, m) * (x0 ** 2 - 1) ** m * x0 ** (N - 1 - 2 * m)
                else:  # 偶数
                    term = special.comb(N - 1, m) * (x0 ** 2 - 1) ** m * x0 ** (N - 1 - 2 * m)
                sum_val += term * np.cos((2 * n - N + 1) * m * np.pi / N)
            weights[n] = sum_val
        
        # 归一化
        weights = weights / np.max(weights)
        
        return weights
    
    @staticmethod
    def binomial_weights(N):
        """二项式阵列(无旁瓣)"""
        weights = np.array([special.comb(N - 1, n) for n in range(N)])
        return weights / np.max(weights)
    
    @staticmethod
    def uniform_weights(N):
        """均匀激励"""
        return np.ones(N)
    
    @staticmethod
    def triangular_weights(N):
        """三角分布"""
        n = np.arange(N)
        weights = 1 - 2 * np.abs(n - (N - 1) / 2) / (N - 1)
        return weights


def plot_2d_pattern(theta, pattern, title="Radiation Pattern"):
    """绘制二维方向图"""
    fig, axes = plt.subplots(1, 2, figsize=(14, 6))
    
    # 直角坐标
    ax1 = axes[0]
    ax1.plot(np.degrees(theta), 20 * np.log10(np.abs(pattern) + 1e-10))
    ax1.set_xlabel('Angle (degrees)')
    ax1.set_ylabel('Gain (dB)')
    ax1.set_title(title)
    ax1.grid(True)
    ax1.set_ylim(-40, 5)
    
    # 极坐标
    ax2 = axes[1], projection='polar'
    ax2[1].plot(theta, np.abs(pattern))
    ax2[1].set_title(title)
    
    plt.tight_layout()
    return fig


def plot_3d_pattern(theta, phi, pattern, title="3D Radiation Pattern"):
    """绘制三维方向图"""
    fig = plt.figure(figsize=(10, 8))
    ax = fig.add_subplot(111, projection='3d')
    
    # 创建网格
    THETA, PHI = np.meshgrid(theta, phi)
    
    # 转换为笛卡尔坐标
    R = np.abs(pattern)
    X = R * np.sin(THETA) * np.cos(PHI)
    Y = R * np.sin(THETA) * np.sin(PHI)
    Z = R * np.cos(THETA)
    
    # 绘制
    surf = ax.plot_surface(X, Y, Z, cmap='viridis', alpha=0.8)
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    ax.set_title(title)
    
    plt.colorbar(surf)
    return fig


# 阵列分析示例
def array_analysis_example():
    """阵列天线分析示例"""
    
    print("=" * 60)
    print("微带阵列天线分析")
    print("=" * 60)
    
    # 参数
    freq = 2.4e9
    c = 3e8
    lambda0 = c / freq
    
    N = 8  # 单元数
    d = 0.6 * lambda0  # 单元间距
    
    # 角度范围
    theta = np.linspace(-np.pi/2, np.pi/2, 361)
    
    # 波数
    k = 2 * np.pi / lambda0
    
    # 不同加权方式的比较
    weight_functions = {
        'Uniform': ArrayUtils.uniform_weights,
        'Triangular': ArrayUtils.triangular_weights,
        'Binomial': ArrayUtils.binomial_weights,
        'Chebyshev (-20dB)': lambda N: ArrayUtils.chebyshev_weights(N, -20)
    }
    
    plt.figure(figsize=(12, 8))
    
    for name, weight_func in weight_functions.items():
        # 计算权值
        weights = weight_func(N)
        
        # 计算阵列因子
        AF = np.zeros_like(theta, dtype=complex)
        for n in range(N):
            AF += weights[n] * np.exp(1j * n * k * d * np.sin(theta))
        
        # 归一化
        AF = np.abs(AF) / np.max(np.abs(AF))
        
        # 绘制
        plt.plot(np.degrees(theta), 20 * np.log10(AF + 1e-10), 
                label=name, linewidth=2)
        
        # 打印旁瓣信息
        print(f"\n{name}:")
        print(f"  激励权值: {weights}")
    
    plt.xlabel('Angle (degrees)')
    plt.ylabel('Array Factor (dB)')
    plt.title(f'{N}-Element Linear Array Comparison')
    plt.legend()
    plt.grid(True)
    plt.ylim(-50, 5)
    plt.axhline(y=-13.2, color='r', linestyle='--', label='Uniform SLL')
    plt.tight_layout()
    plt.savefig('array_comparison.png', dpi=150)
    plt.show()
    
    return


if __name__ == "__main__":
    array_analysis_example()

工程案例分析

案例1:双频GPS天线设计

需求

  • 接收GPS L1 (1575.42 MHz) 和 L2 (1227.60 MHz)
  • 圆极化
  • 小型化

设计方案

采用叠层结构:

    上层贴片(L1)
    ═══════════════
    空气层
    ═══════════════
    下层贴片(L2)
    ═══════════════
    基板
    ═══════════════
    接地板

设计要点

  1. 上层贴片尺寸:L1 = 47.5 mm,W1 = 47.5 mm(L1频段)
  2. 下层贴片尺寸:L2 = 61.0 mm,W2 = 61.0 mm(L2频段)
  3. 空气层厚度:5 mm
  4. 切角实现圆极化:Δs = 3 mm
  5. 单馈点同轴馈电

仿真结果

  • L1频段:S11 = -18 dB,轴比 = 1.2 dB,增益 = 4.5 dBi
  • L2频段:S11 = -15 dB,轴比 = 2.0 dB,增益 = 4.0 dBi

案例2:5G毫米波阵列

需求

  • 工作频率:28 GHz
  • 波束扫描范围:±60°
  • 增益:> 20 dBi

设计方案

8×8微带阵列:

单元设计

  • 贴片尺寸:3.2 mm × 3.2 mm
  • 基板:Rogers RO4350B,εr = 3.48,h = 0.254 mm
  • 单元间距:5.0 mm (0.47λ₀)

馈电网络

  • 企业馈电结构
  • 1:8功分器
  • 相移器实现波束扫描

性能

  • 中心频率增益:22 dBi
  • 扫描到60°时增益:18 dBi
  • 带宽:26-30 GHz

案例3:宽带Vivaldi天线阵列

需求

  • 工作频段:2-18 GHz
  • 超宽带特性
  • 高增益

设计方案

采用Vivaldi天线单元:

单元结构

  • 指数渐变槽线
  • 微带线到槽线转换
  • 基板:Rogers RO5880,h = 0.787 mm

阵列配置

  • 4×4阵列
  • 单元间距随频率优化
  • 对数周期排列

性能

  • 阻抗带宽:2-18 GHz (VSWR < 2)
  • 增益:15-20 dBi
  • 前后比:> 20 dB

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐