Class: CalcSat::Communication

Inherits:
Object
  • Object
show all
Defined in:
lib/calc_sat.rb

Instance Method Summary collapse

Constructor Details

#initializeCommunication

通信 p_sat: 衛星からの電波の電力 l_tr: 衛星からの電波が地上に届くまでのロス c_p: 搬送波電力 n_0: 雑音電力密度



68
69
70
# File 'lib/calc_sat.rb', line 68

def initialize()
  @c = 2.9979 * 10**6 # 電波の速さ 2.9979 * 10**6 [km/sec]
end

Instance Method Details

#fspl(d, f) ⇒ Object



80
81
82
83
84
85
86
# 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) ⇒ Boolean

Returns:

  • (Boolean)


72
73
74
75
76
77
78
# 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) ⇒ Object



88
89
90
91
# 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