class CalcSat::Communication
Public Class Methods
new()
click to toggle source
通信 p_sat: 衛星からの電波の電力 l_tr: 衛星からの電波が地上に届くまでのロス c_p: 搬送波電力 n_0: 雑音電力密度
# File lib/calc_sat.rb, line 68 def initialize() @c = 2.9979 * 10**6 # 電波の速さ 2.9979 * 10**6 [km/sec] end
Public Instance Methods
fspl(d, f)
click to toggle source
# File lib/calc_sat.rb, line 80 def fspl(d, f) #自由空間伝搬損失 Free Space Path Loss #電波が地上に届くまでに弱まってしまう割合 l_d = (@c / 4*Math::PI*f*d)**2 return l_d end
line_establised?(p_sat, l_tr, n_0, cn_req)
click to toggle source
# File lib/calc_sat.rb, line 72 def line_establised?(p_sat, l_tr, n_0, cn_req) # 通信回線が成立するか判定 c_p = p_sat - l_tr cn = c_p / n_0 cond = cn - cn_req > 3 return cond end
system_noise_temp(t_a,t_f,t_e,l_frk)
click to toggle source
# File lib/calc_sat.rb, line 88 def system_noise_temp(t_a,t_f,t_e,l_frk) t_s = (t_a/l_frk) + (1 - (1/l_frk))*t_f + t_e return t_s end