Class: CalcSat::Communication
- Inherits:
-
Object
- Object
- CalcSat::Communication
- Defined in:
- lib/calc_sat.rb
Instance Method Summary collapse
- #fspl(d, f) ⇒ Object
-
#initialize ⇒ Communication
constructor
通信 p_sat: 衛星からの電波の電力 l_tr: 衛星からの電波が地上に届くまでのロス c_p: 搬送波電力 n_0: 雑音電力密度.
- #line_establised?(p_sat, l_tr, n_0, cn_req) ⇒ Boolean
- #system_noise_temp(t_a, t_f, t_e, l_frk) ⇒ Object
Constructor Details
#initialize ⇒ Communication
通信 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
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 |