理论需要联系实际 15楼的理论虽然看起来不错 但是与实测相差实在太远 比如在一块 40mm*86mm*1.6mm的测试板上 馈电在31mm处 理论上频率是425MHz 应该测到电阻为8k+3j 带宽极窄 如下图
但是 实测效果却是这样的
频率相差不大 可以认为是设定的介电常数有误差 缩短效应比预想的略大等 但是实测电阻和带宽居然可以相差近数十倍 这就毫无指导意义了
我认为这个原因应该有:
实际上我这里并没有足够的背板尺寸(比波长小很多) 导致辐射可以绕射到后方而不是 因此实际远场辐射近乎大一倍 等效于电阻小一倍 这个因素在实际中很难衡量 可以采用一个因子 Cd =1~2 来弥补
损耗 毕竟在理论推导中 没有考虑这一因素 等于谐振电路的品质为无穷大 但是实际并非如此 这个损耗可以等同于天线处并了一个电阻 $R_{loss}$ 其来源包括:
趋肤效应带来的铜耗 : 经过计算 在400M左右趋肤深度3μm 虽然只有铜箔厚度的1/10 但是考虑到是大面积铺铜 在这个尺寸的天线下 可以不用考虑
传输线电感的磁耗 : 也暂时不考虑
内外介质不同造成的表面波耗损: 因为内外介质介电常数相差甚大 这个确实影响非常大 但是没有大到这个地步
覆铜板介电材料的耗损: 内介质介电常数越大 相同辐射下 驻波能量就会越大 带来的耗损也越大
着重考虑 2.d 设天线长L 宽W 介质等效介电常数 $ε_r$ 那么根据驻波幅度分布 因为介质耗损而消耗的功率可以积分得
$ P_{loss1} =\int_0^L \frac {(sin(\frac {\pi x} {2L}) V_0)^2} {2 / (2 \pi f tg \delta)} dC = \int_0^L \pi f tg \delta (sin(\frac {\pi x} {2L}) V_0)^2 \varepsilon_r \varepsilon_0 W dx /h = \frac {\pi f \varepsilon_r \varepsilon_0 WL tg \delta V_0^2} {2h} $
等效到缝隙处的电阻为
$ R_{loss1} = V_0^2 /2P_{loss1} = \frac {h} {\pi f \varepsilon_r \varepsilon_0 WL tg \delta} $
我也不知道测试板的耗损角正切 但是从嘉立创那里查到他们用的电路板资料
对于本实测 代入得 477欧 相比天线的8k而言 使得天线效率极为低下
修改程序 增加绕射系数(此例直接为2) 增加介质耗损计算后 得到结果如下
仔细对比实测屏幕和此图 可以看到 无论是带宽表现 输入阻抗等 实测与计算间的误差已经够小 足够进行实用的指导了
但是从图上看出 尚有一部分未考虑到的耗损在内 使得计算的阻抗比实测还是略高 我认为这是目前我尚无能力分析的表面波耗损 从网上一些文章来看 我这种高介电常数的 应该影响也颇大 如果我找到有用的经验公式 再加进去吧 目前看来有20%的耗损 比较属于鸡肋 为此努力不值得 不做什么又觉得有点亏
因为15楼的过程中删改太多 干脆这里归纳一下 (注意只针对1/4波长天线类型而非1/2波长的)
$ R_\Sigma = \frac {V_0^2} {2 P_\Sigma} = \frac {\pi \eta} {\int_0^\pi sin \theta (tg \theta sin (\frac {k_0 W cos \theta} 2))^2 d\theta} = \frac {120 \pi^2} {\int_0^\pi sin \theta (tg \theta sin (\frac {k_0 W cos \theta} 2))^2 d\theta} $
$ R_{open} = \frac 1 {1/R_\Sigma + 1/R_{loss1}}$
$ Z_{in}(x) = sin(\frac {\pi x} {2L})^2 R_{open} + 0.5 j Z_c sin(\frac {\pi x} {L}) $
$ R_{loss1} = \frac {h} {\pi f \varepsilon_r \varepsilon_0 WL tg \delta} $
从理论上说 完美的平行板传输线特征阻抗是
$ Z_c =\frac { 120 \pi }{\sqrt {\varepsilon_{eff}}} \frac{h}W $
经验修正公式为 (Microwave Engineering, Pozar David M., Fourth Edition))
$ Z_c =\frac { 120 \pi}{\sqrt {\varepsilon_{eff}}} \frac 1 {W/h+1.393+0.667ln(W/h+1.444) } $
$ k_0 = 2 \pi / \lambda = 2\pi f/c $
$ k_1 = k_0 \sqrt {\varepsilon_{eff}} $
$\varepsilon_{eff} = \frac {\varepsilon_r +1} 2 +\frac {\varepsilon_r -1} {2 \sqrt{1+12h/W}}$
$ L= \frac \pi {4 k_1} $
$ \Delta L= 0.412 \frac {(\varepsilon_{eff}+0.3)(W/h+0.264)} {(\varepsilon_{eff}-0.258)(W/h+0.8)} h \approx h/2 $
$ L_{make} = L - \Delta L $
W 随意 但是如果超过波长的1/2 需要注意避免W方向的驻波 W太小 天线效率也低
h 随意 但是据称实践中取0.02λ最好 天线效率最高 尤其注意 低于0.02λ 效率会急剧下降
修改后的程序
import scipy.integrate
import numpy
from matplotlib import pyplot
z0=50
w=0.04
h=0.0016
epsilon=4.7
freq=410e6
span=20e6
feed=0.031
match=None
coef_diffraction=2.
loss_tangent=0.02
if False:
def match(z, f):
#@outport: L/series, @antenna: C/parallel, L=2.214142593172209e-08, C=3.930538829868875e-12
L=2.214142593172209e-08
C=3.930538829868875e-12
w=2.j*numpy.pi*f
z=1/(1/z+w*C)
z=z+w*L
return z
################################
numpy.seterr(all='warn')
def r_int(theta, k0, w):
return numpy.sin(theta)*(numpy.tan(theta)*numpy.sin(k0*w*numpy.cos(theta)/2))**2
@numpy.vectorize
def r_func(k0, w):
return 120.*numpy.pi**2/scipy.integrate.quad(r_int, 0, numpy.pi, args=(k0, w))[0]/coef_diffraction
epsilon_eff=(epsilon+1.)/2+(epsilon-1.)/2/numpy.sqrt(1+12.*h/w)
zc=120*numpy.pi/numpy.sqrt(epsilon_eff)/(w/h+1.393+0.667*numpy.log(w/h+1.444))
delta_l=0.412*h*(epsilon_eff+0.3)*(w/h+0.264)/(epsilon_eff-0.258)/(w/h+0.8)
lbd=299792458./freq
k0=2*numpy.pi/lbd
k1=k0*numpy.sqrt(epsilon_eff)
l=lbd/4/numpy.sqrt(epsilon_eff)
r_loss1=h/numpy.pi/freq/epsilon/8.854187817e-12/w/l/loss_tangent
r_sigma=r_func(k0, w)
z=1/(1/r_loss1+1/r_sigma)
if not feed:
feed=numpy.arcsin(numpy.sqrt(z0/z))*2*l/numpy.pi
z=1/((zc+1j*z*numpy.tan(k1*(l-feed)))/(z+1j*zc*numpy.tan(k1*(l-feed)))/zc
-1j/(zc*numpy.tan(k1*feed)))
if match:
z=match(z, freq)
z00=z
print(f'epsilon_eff={epsilon_eff}, zc={zc}')
print(f'Length={l}, ΔLength={delta_l}')
print(f'r_sigma={r_sigma} r_loss1={r_loss1}')
print(f'feed={feed}, z={z}')
########################################
f=numpy.linspace(freq-span/2, freq+span/2, 1001)
lbd=299792458./f
k0=2*numpy.pi/lbd
k1=k0*numpy.sqrt(epsilon_eff)
z=r_func(k0, w)
z=1/(1/r_loss1+1/r_sigma)
z=1/((zc+1j*z*numpy.tan(k1*(l-feed)))/(z+1j*zc*numpy.tan(k1*(l-feed)))/zc
-1j/(zc*numpy.tan(k1*feed)))
if match:
z=match(z, f)
fig, ax1=pyplot.subplots()
fig.subplots_adjust(right=0.6)
ax1.set_title('Input impedance of antenna')
ax1.set_xlabel('Freq')
ax1.set_ylabel('Impedance (Ω)', color='black')
ax1.set_xticks(numpy.linspace(freq-span/2, freq+span/2, 5))
ax1.grid()
plts=ax1.plot(f, numpy.real(z), linewidth=1, color='blue', label='Real')
plts+=ax1.plot(f, numpy.imag(z), linewidth=1, color='red', label='Imag')
ax2=ax1.twinx()
ax2.set_ylabel('Phase (°)', color='orange')
ax2.set_ylim(-90, 90)
ax2.grid()
plts+=ax2.plot(f, numpy.degrees(numpy.angle(z)), linewidth=1, color='orange', label='Phase')
gamma=(z-z0)/(z+z0)
vswr=(1.+numpy.abs(gamma))/(1.-numpy.abs(gamma))
gamma00=(z-z00)/(z+z00)
vswr00=(1.+numpy.abs(gamma00))/(1.-numpy.abs(gamma00))
ax3=ax1.twinx()
ax3.spines['right'].set_position(('outward', 60))
ax3.set_ylabel('VSWR', color='teal')
ax3.set_ylim(1, 5)
ax3.grid()
plts+=ax3.plot(f, vswr, linewidth=1, color='teal', label='VSWR')
plts+=ax3.plot(f, vswr00, linewidth=1, color='darkgreen', label='VSWR00')
ax3.legend(plts, [t.get_label() for t in plts], loc='upper right')
pyplot.show()
这里不得不说 虽然进行得比较深入了 但是我得说 在这个频段 贴片天线有许多不足
尺寸比普通线型天线大 毕竟一个2维得 一个1维的
介电介质质耗损对天线效率有太大影响 普通人很难准备合适的介电介质 使用空气介质 又会让尺寸进一步变大
虽然可以定向 但是如果考虑电波绕射问题 尺寸还需要更进一步变大
而我虽然没有在标题上加上尺寸限制 但是一直是我考虑的重点 所以 大概这个项目是失败了会放弃 (因为如果用空气介质 即使使用对角线反射型的天线 尺寸也超过了100mm 需要重新购买 而且对大东西感觉不喜) 虽然学到了不少东西
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |