立即测试贴片天线的弯折化 使用双面板做贴片 单缝隙 用铜箔短路和做弯折处转承 随便靠近短路点越1/4总长度处馈入 只用40mm*100mm的大小尺寸 186MHz处 得到感觉不错的天线效率 此时驻波比上升1.5倍的带宽是2MHz
因为直接用双面板做传输线 等效介电常数很高 所以才能在这么小的尺寸实现远超预期的186MHz 经过计算 频率也大致相符 缺点是带宽非常窄 仅仅够精细调整后的单频点应用
后面又测了单块90mm的板子 频率344MHz 带宽4MHz (驻波比上升1.5倍)
但是如果采用空气介质 板间距5mm 预期占用90mm空间 将是不错的尺寸 要知道 这个尺寸下的铝板 网上首单价1块钱就可以买几块了
这种单缝隙天线的阻抗也不难计算
草率了 抱歉 路上想了各种可以简化计算的模型 发现均有漏洞 想硬做积分 发现这得搞一个3维的 与一维电流元天线相比 复杂度远远超出可行性
网上最简单的计算方法 也是对偶出一维磁流元再算 即使如此 结果也很复杂 抄一个等效导纳的经验公式
--------------------- 6.30 -------------------------
!!! 上面抄的公式依然有问题 从其推导看 因为双缝隙的远场与单缝隙有区别 应该并不完全合适单缝隙情况 !!!!!!!!!!!!
只能耐心推导了 反正今天下大雨 为了简化 当它是z轴上一个长w的一维的细缝 远场某处 使用球坐标 距离原点r r矢与z轴交角为θ 其投影在xy平面与x轴交角为φ 因为是定向半边 所以φ只用积一半
假设缝隙处处电场均等 振幅为V0/h 那么对应得磁流密度也是 V0/h 对于全开放空间 磁流就是V0 但是由于这是缝口 半开放的 磁流等效为 2V0 在短路处的反射 有以下磁流对应的远场公式
$ dH_\theta = \frac {2j V_0 sin \theta } {2 \eta \lambda r} e^{-jk_0r_z} dz = \frac {j V_0 } {\eta \lambda r} sin \theta e^{-jk_0(r-zcos \theta)} dz$
$ H_\theta = \int_{-w/2}^{w/2} dH_\theta =\frac {j V_0} {\eta \lambda r} sin \theta e^{-jk_0r} \int_{-w/2}^{w/2} e^{jk_0zcos \theta} dz $
>>> from sympy import symbols,integrate,cos,sin
>>> w,j,k0,z,theta=symbols('w,j,k0,z,theta')
>>> r=integrate(cos(k0*z*cos(theta))+j*sin(k0*z*cos(theta)), (z, -w/2, w/2), conds='none')
>>> print(r.simplify())
2*sin(k0*w*cos(theta)/2)/(k0*cos(theta))
$ H_\theta = \frac {2j V_0 sin \theta e^{-jk_0r}} {\eta k_0 \lambda r} \frac {sin (\frac {k_0 w cos \theta} 2)} {cos \theta} = \frac {j V_0 e^{-jk_0r}} {\pi \eta r } sin (\frac {k_0 w cos \theta} 2) tg \theta $
$ P_\Sigma = \oint_S \frac \eta 2 sin \theta |H_\theta|^2 ds = \frac {V_0^2} {2 \pi^2 \eta r^2} \int_0^\pi r d\varphi \int_0^\pi sin \theta (tg \theta sin (\frac {k_0 w cos \theta} 2))^2 r d\theta = \frac {V_0^2} {2 \pi \eta} \int_0^\pi sin \theta (tg \theta sin (\frac {k_0 w cos \theta} 2))^2 d\theta $
$ 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} $
下面的积分没法化简成普通的函数 使用40mm宽度缝隙 434MHz 实际算一下
>>> import math
>>> import scipy.integrate
>>> lbd=3e8/434e6
>>> k0=2*math.pi/lbd
>>> w=0.04
>>> 120.*math.pi**2/scipy.integrate.quad(lambda theta:math.sin(theta)*(math.tan(theta)*math.sin(k0*w*math.cos(theta)/2))**2, 0, math.pi)[0]
26936.532390360382
>>> 90*(lbd/w)**2
26877.29618382212
>>> w=4
>>> 120.*math.pi**2/scipy.integrate.quad(lambda theta:math.sin(theta)*(math.tan(theta)*math.sin(k0*w*math.cos(theta)/2))**2, 0, math.pi)[0]
21.48979101115975
>>> 120*lbd/w
20.737327188940093
发现无论缝隙宽度是小于波长还是很巨大 都与抄的公式基本接近 所以 以上演算应该没有问题 也说明双缝隙的远场与单缝隙还是很接近的
在一般情况下 由于是1/4波长处短路 等效在开口处开路 所以在缝口处的输入阻抗可以就用RΣ 否则就需要根据传输线阻抗变换之类的方法去分析了
还有一些有用的计算公式 比如贴片天线的有效长度公式 设计时候需要用到 但是对于1/4波长天线 不需要2ΔL 一份就足够
此外还有馈线点的公式 (错误的!!!!)
但是我不记得在哪个国外网站看到 说这个网上到处用的公式 其实只合适同轴线探针馈电模型 如果是插入式馈电设计 需要使用cos的4次方而不是2次方 一时间找不到记忆的具体来源 这里先记录一下
疏忽了 上面抄的馈线点公式 也不合适单缝情况 根据驻波符合正弦分布
由 $ V(x)=sin(\frac \pi 2 \frac x L) V_0 $ 和 $\frac {V_0^2} {2R_\Sigma} = \frac {V(x)^2} {2R(x)} $ 可知
$ R(x) = sin(\frac {\pi x} {2L})^2 R_\Sigma $
----------- 7.1 补充 ------------
上面这个式子 是从能量的角度推导的 并不能表现阻抗中的复数部分 如果从传输线阻抗变换的角度硬算 是可以得到复阻抗的 方便进一步匹配
>>> from sympy import symbols, tan, pi
>>> z0,r,k1,l1=symbols('z0,r,k1,l1')
>>> y=1/(1/(1j*z0*tan(k1*l1))+(z0+1j*r*tan(pi/2-k1*l1))/z0/(r+1j*z0*tan(pi/2-k1*l1)))
>>> y.simplify()
0.5*(r*tan(k1*l1) + I*z0)*sin(2*k1*l1)
这就有点尴尬了 我暂时也不知道怎么让sympy使用倍角公式继续简化结果 但是人工可以算出 其实数部分 和能量方式推出的R(x) 其实是一致的 而其虚数部分则是
$ X(x) = 0.5 j Z_c sin(\frac {\pi x} {L}) $
Zc是传输线的特征阻抗 一般比较低 所以阻抗中的虚数部分是很小的 再考虑到其实RΣ其实本身也忽略了虚数部分 因此这个结果其实意义不大
---------------------------------
写了个程序模拟其带宽 (7.1更新 馈入点改用传输线阻抗变换算法 结果区别不大)
import scipy.integrate
import numpy
from matplotlib import pyplot
z0=50
w=0.008
h=0.0016
epsilon=4.5
freq=434e6
scope=0.002
feed=None
match=None
if False:
def match(z, f):
#@outport: L/series, @antenna: C/parallel, L=1.4525860662263755e-07, C=9.112836049098965e-13
L=1.3225860662263755e-07
C=10e-13
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]
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_sigma=r_func(k0, w)
if not feed:
feed=numpy.arcsin(numpy.sqrt(z0/r_sigma))*2*l/numpy.pi
#z=r_sigma*numpy.sin(numpy.pi*feed/2/l)**2
z=1/((zc+1j*r_sigma*numpy.tan(k1*(l-feed)))/(r_sigma+1j*zc*numpy.tan(k1*(l-feed)))/zc
-1j/(zc*numpy.tan(k1*feed)))
if match:
z=match(z, freq)
print(f'epsilon_eff={epsilon_eff}, zc={zc}')
print(f'Length={l}, ΔLength={delta_l}, r_sigma={r_sigma}')
print(f'feed={feed}, z={z}')
########################################
f=numpy.linspace(freq*(1-scope), freq*(1+scope), 1001)
lbd=299792458./f
k0=2*numpy.pi/lbd
k1=k0*numpy.sqrt(epsilon_eff)
z=r_func(k0, w)
#z=1./(1./z-1.j/(zc*numpy.tan(f/freq*numpy.pi/2)))
#z=z*numpy.sin(numpy.pi*feed/2/l)**2
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_xlim(freq*(1-scope), freq*(1+scope))
ax1.set_xticks(numpy.linspace(freq*(1-scope), freq*(1+scope), 5))
ax1.grid()
plt1a=ax1.plot(f, numpy.real(z), linewidth=1, color='blue', label='Real')
plt1b=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()
plt2=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))
ax3=ax1.twinx()
ax3.spines['right'].set_position(('outward', 60))
ax3.set_ylabel('VSWR', color='teal')
ax3.set_ylim(1, 5)
ax3.grid()
plt3=ax3.plot(f, vswr, linewidth=1, color='teal', label='VSWR')
plts = plt1a+plt1b+plt2+plt3
ax3.legend(plts, [t.get_label() for t in plts], loc='upper right')
pyplot.show()
其理论带宽真是窄得令人发指啊
即使是空气介质 一样不够用
当缝隙长度达到接近1/2波长时候 带宽才比较够用 接近中心频率的1%
幸好实际上会有各种不理想的情况 无法计算的杂7杂8效应 否则与其当天线 还不如当晶振用了
也许把缝隙前沿改成三角形 梯形 椭圆型等等 可以改善带宽
---------
后面又想了想 以上程序在带宽方面没什么指导意义 实际情况比上述好得多 上面的窄带宽来源于“完美”传输线的特性 但是这么一个扁盒子 其实际的谐振品质应该不高 比如说从光从馈点到各处边 就有不同长度的传播/反射路径的可能 如果有空学习这方面的知识后再修改吧
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |