読者です 読者をやめる 読者になる 読者になる

マイクロストリップ線路のインピーダンス その2

式とか間違っていたので再掲。インピーダンスの計算式が間違っていた。。

#
# anntena.rb
#
# アンテナ実験用プログラム
#

# z impedance
# a width
# b distance
# m margin

def ms_impedance(a,b,t)
   a_d = a + (t / Math::PI) * (Math.log(2*b/t) + 1)
   60 * Math.log((8*b/a_d) - 0.358 + 1 / (((0.931*b)/a_d) + 0.736))
   #60 * Math.log(8*b/a - 0.358 + 1/(0.931*b/a + 0.736))
end

# 二分検索でaを求める
def search_a(z, b, t, m, upper, lower)
   upper = upper * 1.0
   lower = lower * 1.0
   mid = 0
   loop do
      mid = (upper + lower)/2
      sz = ms_impedance(mid,b,t)
      if (z.abs - sz.abs).abs < z*m
         break
      elsif (z.abs - sz.abs) > 0
         upper = mid
      else
         lower = mid
      end
   end
   [mid, ms_impedance(mid,b,t)]
end

def search(zs, bs, t, m, upper, lower)
   zs.zip(bs).map do |p|
      search_a(p[0], p[1],t, m, upper, lower)
   end
end
require 'pp'
a = search(
  (0..(150/5)).to_a.map{|i| i*5}.map {|i| 50.0*Math.exp(i * Math.log(130.0/50)/150.0)},
  (0..(150/5)).to_a.map{|i| i*5}.map {|i| ((42-4)/150.0 * i + 4)/1000.0}
  0.1/1000,
  0.00001,
  1, 0)

作成したヘリカルアンテナは測定した。テーパマッチング部分の銅版が利得を低下させているらしく、軸比を比べると1dB以上の値が、、、。実験の仕様は軸比1dB以下。
再実験になった。