• 沒有找到結果。

基於行動電信網路的車速量測之研究

N/A
N/A
Protected

Academic year: 2021

Share "基於行動電信網路的車速量測之研究"

Copied!
67
0
0

加載中.... (立即查看全文)

全文

(1)

網路工程研究所

基於行動電信網路的車速量測之研究

Deriving the Vehicle Speeds from Mobile

Telecommunications Network

研 究 生:張裕隆

指導教授:林一平 教授

(2)

基 於 行 動 電 信 網 路 的 車 速 量 測 之 研 究

Deriving the Vehicle Speeds from Mobile Telecommunication Network

研 究 生:張裕隆 Student:Yu-Long Chang

指導教授:林一平 Advisor:Yi-Bing Lin

國 立 交 通 大 學

網 路 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Network Engineering

College of Computer Science

National Chiao Tung University

in partial Fulfillment of the Requirements

for the Degree of

Master

in

Computer Science

June 2013

Hsinchu, Taiwan, Republic of China

(3)

基於行動電信網路的車速量測之研究

網路

研究

(Intelligent Transportation Systems ITS) 測 (sensors)

測量 路車速 Lin-Chang-Huangfu (LCH)

行動 (Mobile Switching Center MSC) 的

電信網路 LCH 的

(cell residence times) 的 (bias) 的

LCH 於車速的 的車

測 (Vehicle Detector VD) 的 的研究 LCH

車速的 的

(4)

Deriving the Vehicle Speeds from Mobile

Telecommunications Network

Student: Yu-Long Chang

Advisor: Dr. Yi-Bing Lin

Institute of Network Engineering

National Chiao Tung University

ABSTRACT

Vehicle speeds of roads are often measured by the Intelligent Transportation Systems (ITS) through some sensors or software solutions. Our previous work proposed the Lin-Chang-Huangfu (LCH) scheme to compute the cell residence times by the standard counter values in the mobile telecommunications switches without any modification to the telecommunications network. In this paper, we investigate the accuracy of the LCH scheme by deriving the bias of the cell res-idence times computed in this scheme. Then we extend the LCH scheme with some filtering techniques for the vehicle speed estimation, and validate our approach with the vehicle detector measurements at National Highway 3, Longtan Township, Taoyuan County, Taiwan. Our study indicates that the LCH scheme is an effective approach for the vehicle speed estimation.

Index Terms: Lin-Chang-Huangfu (LCH) Scheme, Mobile Switching Center (MSC), telecom-munication, vehicle speed

(5)

謝 的 的 的 研究的 的 謝 謝 的 的 謝 的 謝 的 謝謝 的 的 謝 的 謝謝 的 的 的 謝 的 的 路 謝謝 Hank 謝 的 謝謝 的 謝 的 謝謝 的 謝謝

(6)

· · · · i ABSTRACT · · · · ii 誌謝 · · · iii · · · · iv · · · · v · · · · vi · · · · 1 Lin-Chang-Huangfu (LCH) · · · · 4(Bias) · · · · 6 車速 之 · · · 16 · · · 20 · · · 25 · · · 26 A· · · 29 B E[ρn(τ )]· · · 31 C · · · 33

(7)

1.1 . . . 1 1.2 電信網路 . . . 2 3.1 動 的 (△: 動 i N: i ◦:•:: ∆τ ) . . . . 7 4.1 車速 的 . . . 17 5.1 ( × VD BS 的 ) . . . 20 5.2 2011 9 16 VD LCH 的車速 (∆t = 1 hour x = 1 km) . 22 5.3 2011 9 25 VD LCH 的車速 (∆t = 1 hour x = 1 km) . 23 5.4 LCH VD 之 的 (∆t = 1 hour x = 1 km) . . . . 24 A.1 的 . . . 29

(8)

∆t ∆τ τ 的 (⌊ τ ∆t∆t,τ ∆t+ 1 ⌋ ∆t ) ρ(τ ) ∆τ 的 量

tc (call holding time)

tm (cell residence time)

t∗m(τ ) LCH ∆τ 的 的

N (τ ) ∆τ

λu(τ ) ∆τ 的 速

ta (inter-call arrival time)

v(τ )∆τ 的 車速 btm(t∗m(τ ))α(τ ) ∆τβ(τ ) ∆τ 的 的 γ(τ ) ∆τλ 速 1 η 的 1 µ

(9)

1 δ ∆τfm(tm) 的 (density function) Fm(tm) 的 (distribution function) fm∗(tm) fm(tm)的 τc τm Pi iq1 tc> τm的 的 q2 τc> tm的 的 的 ρn(τ ) ∆τρe(τ ) ∆τρh(τ ) ∆τ∆τn (new call) 的 ∆τ∆τh (handover call) 的 ∆τt t∗ tn1 電 的 n2 tc,i ifc(tc,i) i 的 的 θ t n2 量測 的 ∆τk k

(10)

Kh 車速的

Vs (near-history) 的

(11)

的 (Intelligent Transportation Systems ITS) 測量 路車速

行車 車路 ITS

路車速 網路 ( Internet) 1.1

(12)

Cell i-1

Cell i-2

Cell i

Cell i+1

Cell i+2

Road

Internet

Mobile Core Network

Network

Probe

ITS Server

b

c

d

f

g

h

a

MSC

e

1.2: 電信網路 測量車速的 : • 車 測 (Vehicle Detector VD) [1] 車 測 ( 1.2⃝)a 路

(13)

測量車 ( 1.2⃝) 的速b 網路 車速 ITS ( 1.2⃝)c

• 基於 的 測車 (Global Positioning System(GPS)-based Vehicle Probe GVP) [2, 3] 車 的 (User Equipments UEs) GPS

GPS 行動電信網路 基

(Base Stations BSs 1.2⃝)d 行動 (Mobile Switching Center MSC

1.2⃝)e ITS 的 GPS 車速

• 動車 的 信 (Cellular Floating Vehicle Data CFVD) [4, 5, 6] 網路 測 (Network Probe 1.2 ⃝)f BSs MSC 之 的信

(signals) 信 ITS 的 行 ITS

的 (cell BS 的 電 ) 的

(cell residence times) 動速

VD 的 測 的 的 [4, 6] GVP GPS 的 的 電 GPS 的 路 GPS 的車 路的 GPS CFVD 的 電 信網路 的信 路 (signaling links) 網路 測 測 行動 網路之 的信 (signaling messages) 的 [7, 8, 9] Lin-Chang-Huangfu (LCH) CFVD CFVD 的 LCH MSC 的 ( 的 ) 的 MSC 動 的 的 速 LCH 的 車速 的 VD LCH LCH 的 的 的研究 LCH 車速 的 的 LCH LCH 的 的 車速 的 的 LCH 的 之

(14)

Lin-Chang-Huangfu (LCH)

[7] LCH 1.2 的 MSC ( 1.2⃝)e 行動 [11] BS MSC BS 的 電 ( 的 1.2⃝)g 的 BS MSC 動 的 路 的 的 (handover) 的 行動電信 MSC 的 行 ( / 電 動 ) MSC ∆t 行 的 15 的 的 ( Erlang) τ ∆τ (⌊ τ ∆t∆t,τ ∆t + 1 ⌋ ∆t ) 車速的路 路 (target road segment 1.2 ⃝)h

i ( 1.2⃝) 的g ρ(τ ) ∆τ i的 量

(carried traffic) ρ(τ ) ∆τ i的 的 (carried call holding times )

(offered call holding time) 的 BS 的 電

電 的 ( ) 的 BS 的 量 的 的 電 MSC ρ(τ ) tc MSC 量測 的 tc 的 ( tc ) γ(τ ) ∆τ itm [7] Little's Law[12]

(15)

∆τ it∗m(τ ) Little's Law

N (τ ) = λu(τ )t∗m(τ ) (2.1)

N (τ ) ∆τ iλu(τ ) ∆τ

i的 速 ta (inter-call arrival time)

∆τ (∆t/ta) tc(∆t/ta) ρ(τ ) = N (τ )tc∆t ta N (τ ) = ρ(τ )ta tc∆t (2.2) 於 λu(τ ) ∆τ i的 速 ∆τ λu(τ )∆t i (tc/ta) ∆τ (λu(τ )tc∆t/ta) i γ(τ ) = λu(τ )tc∆t ta λu(τ ) = γ(τ )ta tc∆t (2.3) (2.1) (2.2) (2.3) t∗m(τ ) = ρ(τ ) γ(τ ) (2.4) 基於 (2.4) 路 的 車速 i− 1 的車 ( 1.2⃝)b i i + 1 x i 的 路 (2.4) 路 ∆τ車速 v(τ ) v(τ ) = x t∗m(τ ) = xγ(τ ) ρ(τ ) (2.5) LCH 的 的 LCH 車速的 量

(16)

(Bias)

LCH 的 的 LCH 於 車速的 的 LCH 車速的 tm 的 (2.4) 的 t∗m(τ ) tm 的 的 btm(t∗m(τ )) = E[t∗m(τ )]− E[tm] (3.1) 的 (error) 的 的 的 之 的 [13] ∆τ 的 γ(τ ) ρ(τ ) 的 γ(τ ) ρ(τ ) t∗m(τ ) (3.1) 3.1 6 [t0, t19] 動的 3.1 UE 3 的行 UE 3 t8 動 i ( △ ) t11 電 UE 3 ( ) UE 3 t13 i ( N ) t15 UE 3 的 ( ) UE 3 的 tm = t13− t8 UE 3 的 tc= t15− t11 ∆τ = t19− t5 ( 3.1 ) ∆τ i 測 的 的 : • (new call) 於 ∆τ 的 3.1 的 t10 UE 6 的 t11 UE 3 的 • 的 (existing call) ∆τ i的 UE 1 的 電 ∆τt4 UE 1 UE 1

(17)

i UE 1 t5 i t4 < t5 行 • (handover call) 的 UE 2 t6 UE 4 t9 UE 5 t12 v v v

time

v v v 3.1: 動 的 (△: 動 i N: i ◦:•: 電 : ∆τ ) α(τ ) β(τ ) γ(τ )∆τ i 的 3.1 α(τ ) = 2 ( t10 t11 的電 ) β(τ ) = 1 ( t4

(18)

的電 ) γ(τ ) = 3 ( t6 t9 t12的 ) λ 速 (call arrival rate) E[α(τ )] = λ∆τ (3.2) tm (mean) 1 ηtc 1 µ 的 (facts)

Fact 1. tc (exponential distribution) tm

(arbitrary density function) fm(tm) 速 η ∆τ

(arbitrary distribution) 1 δ E[β(τ )] = λ µ E[γ(τ )] = λη δµ Proof: ∆τi 的 行 的 E[β(τ )] E[α(τ )] 1 µ E[∆τ ] E[β(τ )] E[β(τ )] = E[α(τ )](1/µ) E[∆τ ] = λ µ (3.3) 1 µ < E[∆τ ] 1 µE[∆τ ] ∆τ 的 於 的 量 E[β(τ )] E[α(τ )] 1 µE[∆τ ] (3.3) E[γ(τ )] E[α(τ )] 電 的 於

的 (memoryless) 的 (residual call holding time 3.1 的 τc= t15−t13)

1

µ tm

(distribution function) Fm(tm) (residual cell residence

time) τm( 3.1 的 τm = t13−t11) (residual life theorem)

[14] τm 的 (density function) 1− Fm(tm) (1/η) = [1− Fm(tm)]η 的 量測 的 tc 的 的 電 Pi iq1 = Pr[tc > τm] 的 q2 = Pr[τc > tm] 的 的 Pi = q1q2i−1(1− q2) i≥ 1 於 電 的 i=1 iPi = i=1 iq1q2i−1(1− q2) = q1 1− q2 (3.4)

(19)

(3.4) q1的 q1 = Pr[tc > τm] = ∫ τm=0 ∫ tc=τm µe−µtc[1− F m(τm)]ηdtcdτm = ∫ τm=0 e−µτm[1− F m(τm)]ηdτm (3.5) 1− q2 1− q2 = Pr[τc< tm] = ∫ τc=0 ∫ tm=τc µe−µτcf m(tm)dtmdτc = ∫ τc=0 µe−µτc[1− F m(τc)]dτc = ( µ η ) q1 (3.6) (3.5) (3.6) 電 的 q1 1− q2 = η µ E[γ(τ )] E[γ(τ )] = E[α(τ )] ( η µ ) = λη δµ (3.7) 3.2 3.3 3.7 A的 的

E[α(τ )] E[β(τ )] E[γ(τ )]∆τ 的 的 Fact 2. tc ∆τ 1 µ 1 δ tm fm(tm) 速 ηE[ρ(τ )] = λ δµ Proof: Fact 1 的 τc tcτm tm 的 於 i∆τ ρ(τ ) 的 3.1 ∆τ UE 3 的 t11 tc= t15− t11 t11 UE 3 的 τm = t13− t11 於 的 (Poisson Process) t11 UE 3 的 (random observer) t11 ∆τ 的 的 t11 的 ∆τ ∆τn 1 δ ∆τE[ρn(τ )]

(20)

E[ρn(τ )] = E[min(tc, τm, ∆τn)] = E[min(min(tc, ∆τn), τm)] (3.8) xn = min(tc, ∆τn) 速 µ + δ fm(tm)的 fm∗(tm) B 的 (3.8) E[ρn(τ )] = E[min(xn, τm)] = 1 µ + δ [ η (µ + δ)2 ] [1− fm∗(µ + δ)] (3.9) 3.1 ∆τ UE 1 的 t4 t5 τc= t16− t5 τm = t18− t5 於 t5 UE 1 的 tcτc 1 µ∆τE[ρe(τ )] = E[min(τc, τm, ∆τ )] 於 τc ∆τµ δ E[ρe(τ )] (3.9) E[ρe(τ )] = E[ρn(τ )] 3.1 ∆τ UE 4 的 t9 i tm = t17− t9 t9 的 τc = t14− t9 於 t9 UE 4 tctc 1 µ τc tct9 ∆τt9 ∆τ∆τh 1 δ ∆τE[ρh(τ )] E[ρh(τ )] = E[min(τc, tm, ∆τh)] = E[min(min(τc, ∆τh), tm)] (3.10) xh xh = min(τc, ∆τh) 速 µ + δ

(21)

(3.9) 的 (3.10) E[ρh(τ )] = E[min(xh, tm)] = ( 1 µ + δ ) [1− fm∗(µ + δ)] (3.11) (3.2) (3.9) (3.11) Fact 1 E[ρ(τ )]

E[ρ(τ )] = E[α(τ )]E[ρn(τ )] + E[β(τ )]E[ρe(τ )] + E[γ(τ )]E[ρh(τ )]

= (E[α(τ )] + E[β(τ )]) { 1 µ + δ [ η (µ + δ)2 ] [1− fm∗(µ + δ)] } +E[γ(τ )] {( 1 µ + δ ) [1− fm∗(µ + δ)] } = λ δµ Fact 3. ∆τ 1 δ tc tm E[ρ(τ )] = λ δµ Proof: Fact 2的 ρ(τ ) ∆τE[ρn(τ )] E[ρn(τ )] = E[min(yn, ∆τn)] = E[min(min(tc, τm), ∆τn)] (3.12) (3.8) ∆τn [ 0,1 δ ] 的 (uniform distribution) δ 於 tc τmµ η yn = min(tc, τm) 速 µ + η (3.12) E[ρn(τ )] = ∫ 1 δ ∆τn=0 ∫ ∆τn yn=0

δyn(µ + η)e−(µ+η)yndynd∆τn

+ ∫ 1 δ ∆τn=0 ∫ yn=∆τn δ∆τn(µ + η)e−(µ+η)yndynd∆τn = ( 1 µ + η ) [ 1 δ µ + η + δe−(µ+ηδ ) µ + η ] (3.13)

(22)

∆τE[ρh(τ )] E[ρh(τ )] = E[min(τc, tm, ∆τh)] (3.14) τc tmµ η ∆τh [ 0,1 δ ] 的 (3.14) 的 (3.12) E[ρh(τ )] = E[ρn(τ )] ∆τE[ρe(τ )] E[ρe(τ )] = E [ min ( ye, 1 δ )] = E [ min ( min(τc, τm), 1 δ )] (3.15) ye = min(τc, τm) 速 µ + η (3.15) E[ρe(τ )] = ∫ 1 δ ye=0 ye(µ + η)e−(µ+η)yedye+ ∫ ye=1δ ( 1 δ ) (µ + η)e−(µ+η)yedy e = ( 1 µ + η ) [1− e−(µ+ηδ )] (3.16) (3.2) (3.13) (3.16) Fact 1 E[ρ(τ )]

E[ρ(τ )] = E[α(τ )]E[ρn(τ )] + E[β(τ )]E[ρe(τ )] + E[γ(τ )]E[ρh(τ )]

= (E[α(τ )] + E[γ(τ )]) ( 1 µ + η ) [ 1 δ µ + η + δe−(µ+ηδ ) µ + η ] +E[β(τ )] ( 1 µ + η ) [ 1− e−(µ+ηδ ) ] = λ δµ Fact 4. ∆τ tc tm 1 δ 1 µ 1 ηE[γ(τ )]≈ λη δµ Proof:t 1 δ 1 µ t t 的 於 tt∗ (1/µ) ⌉ =⌈µt∗⌉tt (1/η) ⌋ ⌊ t∗ (1/η) ⌋ 的 ⌊ t∗ (1/η) ⌋ =⌊ηt∗⌋

(23)

電 的 E[n1] = ⌊ηt

⌈µt∗ limt∗→∞E[n1] =

η

µ t

E[γ(τ )] = E[α(τ )]E[n1]

λη δµ (3.17) Fact 5. ∆τ = 1 δ tc tm 1 µ 1 η t 於 limt→∞E[ρ(τ )] = λ δµ Proof: n2 動 t≫ n2 δ , n2 µ 的行 於 n2 的 tm的 的 t ⌈λtn2 n2 t ( initial effect) 的 t

( end effect) tc,i i

fc(tc,i) i 的 的 速 µt n2 量測 的 θ θ = ⌈λtn∑2 i=1 tc,i=0

tc,ifc(tc,i)dtc,i = ⌈λtn 2 µ n2 ⌈ t (1/δ) ⌉ =⌈n2tδ⌉ 於 E[ρ(τ )] ∆τ iE[ρ(τ )]≈ θ ⌈n2tδ⌉ t lim t→∞E[ρ(τ )] = λ δµ (3.18)

的 Fact 5的 Fact 2 Fact 3 (Erlang

equation) 的 量 λ µ ∆τ 的 量 λ δµ Fact 6. tc tm 1 µ 1 η ∆τ = 1 δ t 的行 於 btm(t∗m(τ )) = µδ λη2 Proof: t→ ∞ 的行 於 LCH 的量測 ∆τ

(24)

行 (3.17) (3.18) 1 δE[γ(τ )] E[ρ(τ )] (2.4) t∗m(τ ) c1 = E[ρ(τ )] (1/δ) = λ µ c2 = E[γ(τ )] (1/δ) = λη µ 於 (2.4) f (r, s) t∗m(τ ) = f (r, s)|r=c1,s=c2 = (r s ) r=c1,s=c2 (3.19) (3.19) (Taylor series) f (r, s) (c1, c2)的 f (r, s) = f (c1, c2) + [ ∂f (r, s) ∂r r=c1,s=c2 ] (r− c1) + [ ∂f (r, s) ∂s r=c1,s=c2 ] (s− c2) + ( 1 2 ) [ 2f (r, s) ∂r2 r=c1,s=c2 ] (r− c1)2 + [ ∂s ( ∂f (r, s) ∂r ) r=c1,s=c2 ] (r− c1)(s− c2) + ( 1 2 ) [ 2f (r, s) ∂s2 r=c1,s=c2 ] (s− c2)2+· · · (3.20) 於 f (r, s) (c1, c2) 的 E[r] = c1 E[s] = c2

E[r− c1] = 0, E[s− c2] = 0 E[(r− c1)(s− c2)] = 0 (3.21)

(3.19) 2f (r, s) ∂r2 r=c1,s=c2 = 0 2f (r, s) ∂s2 r=c1,s=c2 = 2c1 c3 2 (3.22) (3.21) (3.22) (3.20) 的 E[f (r, s)] = f (c1, c2) + ( 1 2 ) [ 2f (r, s) ∂s2 r=c1,s=c2 ] E[(s− c2)2] = c1 c2 + ( c1 c3 2 ) E[(s− c2)2] = 1 η + ( µ2 λ2η3 ) E[(s− c2)2] (3.23)

(25)

(3.23) E[(s− c2)2] = V ar [ γ(τ ) (1/δ) ] = δ2V ar[γ(τ )] (3.7)

γ(τ ) (Poisson random variable) E[γ(τ )] = λη δµ (variance) V ar[γ(τ )] = λη δµ (3.23) E[f (r, s)] = 1 η + ( µ2 λ2η3 ) V ar    (γ(τ )1 δ )     = 1 η + µδ λη2 (3.24) 於 tm 1 η (3.1) (3.24) btm(t∗m(τ )) btm(t m(τ )) = E[t∗m(τ )]− E[tm] = [ 1 η + µδ λη2 ] 1 η = µδ λη2 (3.25) (3.25) LCH ( µ ) ∆τ ( δ ) 速 λ ( η ) 的 車 行 的 ( 的速 ) (3.25) LCH 車速 行 的 的

(26)

車速

(2.5) 車速 的 路 的 (leaky-bucket) [16] 的 i ( 4.1(a) 的⃝)1 路之 的 ( 4.1(a) 的2 ⃝)3 路 的 的 行 γ(τ ) ρ(τ ) 行 (2.5) 的 行動電信網路 的 (location update) i 路 的

行動電信網路 (Location Areas LAs LA j

i− 1 i 4.1(a) 的⃝)4 ( 4.1(a) 的⃝)5 的

LA 動 LA 行 MSC 的 LA [11, 15]

BS MSC 行動 ( Visitor Location Register VLR)

基於 路 的 : 1.i 行 的 i 的 LA A 行 的 i 的 LA B 行 的 A B 路 路 動 LA j− 1 LA jLA j + 1 ( 4.1(a) ⃝)5 LA ji− 1 ( A) LA j + 1i + 1 ( B) i− 1 i + 1 路 路行 的車 的 車 i 的 LA 路 路 ( 4.1(b) ⃝)1 1 的 測 :

(27)

g

R

oa

d 1

Cell

i

Cell

i+1

Cell

i+2

Cell

i-3

Cell

i-2

Cell

i-1

LA j-1

LA j

LA j+1

1

5

4

Road 2

2

3

(a) 路 行

Cell

i

Cell

i+1

Cell

i+2

Cell

i-3

Cell

i-2

Cell

i-1

LA j-1

LA j

LA j+1

Cell

i+3

1

(b) 車 動 路 的

(Location Area LA)

(28)

2.i 行 的 的 路的 路 動 4.1(b) 的 {i− 2, i − 1, i} {i− 1, i, i + 1} {i, i + 1, i + 2} 路 1 2 的 i路的 γ(τ ) ρ(τ ) 於 路的 速 (2.5) 的 路 的 的 量 ∆τ 的 路的車速 基於 的 (far-history) (near-history) ∆τ 的 的 量 的 的 的 的 於 ∆τ ∆τk k∆τ0 = ∆τ ∆τ∆τ1 的 Kh v(τ ) . Kh 的 路 速 v(τ ) = x[∑Kk=0γ(τk) ] ∑K k=0ρ(τk) where K = min { N : Nn=0 γ(τn)≥ Kh } (4.1) 的 γ(τ ) 於 Kh (4.1) 的 (2.5) ( ) MSC ∆t ρ(τ ) γ(τ ) ( ) 的 的 的 的 車速 的 ( 的車速 於 Vs)

(29)

. 路 速 v(τ )←    W v(τ ) + (1− W )v(τ − ∆t), for |v(τ) − v(τ − ∆t)| < Vs v(τ ), for|v(τ) − v(τ − ∆t)| ≥ Vs (4.2) 0≤ W ≤ 1 (weighting factor) v(τ − ∆t) ∆τ 的車速 Vs 測 的 (4.2) 的 W 的車速 v(τ − ∆t) 於 的車速 v(τ )

(30)

LCH 的車速 VD 量測的車速 ( 5.1 的⃝) 的車速a 車速 速 路 66 km 的 VD ( 5.1 的⃝) 量測b 的 BS ( 速 路 66.8 km VD 800 5.1 的⃝)c LCH 1 2 車速 的 x = 1 km ∆t = 1 hour x的 [17, 18] 測量 Kh = 10 Vs = 40 km/hour W = 0.5

VD 66 km

Base Station 66.8 km

a

b

c

5.1: ( × VD BS 的 )

(31)

vs VD 量 測 的 車 速 (s = V D) LCH 的 車 速 (s = LCH) 5.2(a) 5.2(b) 路 2011 9 16 8:00 20:00 的 vs VD LCH 8:00 20:00 的 ( vs > 75 km/hour) 5.3(a) 5.3(b) 路 2011 9 25 8:00 20:00 的 vs 5.3(a) 測 18:00 20:00 的 ( vs< 60 km/hour) 5.3(b) 8:00 20:00 的 ( vs > 75 km/hour) 5.2 5.3 車 行 LCH 的速 VD (discrepancy) ϵ ϵ = vLCH − vV D vV D (5.1) 基於 5.2 5.3 5.4 的 ϵ ϵ 的 於 20% ( 5.4(b) 19:00 20:00 的 ) ϵ 於 20% 車 的 (3.25) LCH 的 的 的 行動電信網路 49 (2011 9 13 2011 10 31 ) 8:00 20:00 的 γ(τ ) ρ(τ ) 基於 的研究 的 E[ϵ] 14.46% 1 2 E[ϵ] 12.7% E[ϵ] 7.51%

(32)

0 25 50 75 100 125 vs (km/hour) 8 10 12 14 16 18 20 Time (hour) ◦: s = LCH ×: s = V D . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ... × × × × × × × × × × × × (a) 0 25 50 75 100 125 vs (km/hour) 8 10 12 14 16 18 20 Time (hour) ◦: s = LCH ×: s = V D . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ... × × × × × × × × × × × × (b) 5.2: 2011 9 16 VD LCH 的車速 (∆t = 1 hour x = 1 km)

(33)

0 25 50 75 100 125 vs (km/hour) 8 10 12 14 16 18 20 Time (hour) ◦: s = LCH ×: s = V D . . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ . ... × × × × × × × × × × × × (a) 0 25 50 75 100 125 vs (km/hour) 8 10 12 14 16 18 20 Time (hour) ◦: s = LCH ×: s = V D . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ . ... × × × × × × × × × × × × (b) 5.3: 2011 9 25 VD LCH 的車速 (∆t = 1 hour x = 1 km)

(34)

0 20 40 60 80 100 ǫ(%) 8 10 12 14 16 18 20 Time (hour) ◦: Northbound •: Southbound . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ . . ... • • • • • • • • • • • • (a) 2011 9 16 的 0 20 40 60 80 100 ǫ(%) 8 10 12 14 16 18 20 Time (hour) ◦: Northbound •: Southbound . ... ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ . ... • • • • • • • • • • • (b) 2011 9 25 的 5.4: LCH VD 之 的 (∆t = 1 hour x = 1 km)

(35)

的 LCH [7, 8] 車速 的 LCH 於車速 的 ( 行 的速 ) LCH 的 的 LCH 之 車速 的 VD 量測 之車速 的 LCH 的 車速 VD 量測的車速 的 的 之 的 (discrepancies) 於 20% 1 2 E[ϵ] 14.46% 12.7% E[ϵ] 7.51% 路 的 的 車速 的 的研究 LCH 的 測 路的 車速 的 ( VD 的 測 ) 車速 研究 ITS 網路的車速 測 [19] 的 車速 的

(36)

[1] Sang Jin Park, Tae Yong Kim, Sung Min Kang, and Kyung Heon Koo , "A novel sig-nal processing technique for vehicle detection radar," in 2003 IEEE MTT-S Internatiosig-nal

Microwave Symposium Digest, 2003, pp. 8-13.

[2] Anurak Poolsawat, Wasan Pattara-Atikom, and Boonchai Ngamwongwattana, "Acquiring road traffic information through mobile phones," in 8th International Conference on ITS

Telecommunications (ITST), 2008, pp. 170-174.

[3] Ruey Long Cheu, Chi Xie, and Der-Horng Lee, "Probe vehicle population and sample size for arterial speed estimation," Computer-Aided Civil and Infrastructure Engineering, vol. 17, no. 1, pp. 53–60, Jan. 2002.

[4] Chih-Yi Chiang, Ju-Yin Chuang, Jian-Kai Chen, Chia-Chen Hung, Wei-Hui Chen, and Kuen-Rong Lo, "Estimating instant traffic information by identifying handover patterns of UMTS signals," in 2011 14th International IEEE Conference on Intelligent Transportation

Systems (ITSC), 2011, pp. 390-395.

[5] Kuen-Rong Lo, Chih-Yi Chiang, Ju-Yin Chuang, Jian-Kai Chen, Chia-Chen Hung, and Wei-Hui Chen , "Feasibility analysis of UMTS handover logs for traffic state estimation," in 2011 11th International Conference on ITS Telecommunications (ITST), 2011, pp. 684-690.

[6] Bon-Yeh Lin, Chi-Hua Chen, and Chi-Chun Lo, "A traffic information estimation model using periodic location update events from cellular network", Communications in

Com-puter and Information Science, 2011, vol. 135, pp. 72-77.

[7] Yi-Bing Lin, Ming-Feng Chang, and Chien-Chun Huang-Fu , "Derivation of cell residence times from the counters of mobile telecommunications switches," IEEE Transactions on

(37)

Wireless Communications, 2011, vol. 10, no. 12, pp. 4048-4051.

[8] Yi-Bing Lin, Chien-Chun Huang-Fu, and Nabil Alrajeh, "Predicting human movement based on telecom's handoff in mobile networks," IEEE Transactions on Mobile Computing, in press.

[9] Chien-Chun Huang-Fu and Yi-Bing Lin, "Deriving Vehicle Speeds From Standard Statis-tics of Mobile Telecom Switches,"IEEE Transactions on Vehicular Technology, 2012, vol. 61, no. 7, pp. 3337-3341.

[10] Ren-Huang Liou, Yi-Bing Lin, Yu-Long Chang, and Ming-Feng Chang, "Deriving the ve-hicle speeds from mobile telecommunications network," the 12th International Conference

on ITS Telecommunications (ITST), November 2012.

[11] Yi-Bing Lin and Ai-Chun Pang, Wireless and Mobile All-IP Networks. John Wiley & Sons, Inc., 2005.

[12] Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik,

Quanti-tative System Performance Computer System Analysis Using Queueing Network Models.

Prentice-Hall, Inc., 1984.

[13] Jay L. Devore, Probability and Statistics for Engineering and the Sciences. Duxbury Press, 2011.

[14] Leonard Kleinrock, Queueing Systems, Vol. I, Theory, Wiley, New York, 1976.

[15] Yi-Bing Lin, "Performance modeling for mobile telephone networks", IEEE Network, vol. 11, pp. 63–68, Nov./Dec. 1997.

[16] Yi-Bing Lin and Imrich Chlamtac, Wireless and Mobile Network Architectures. John Wiley & Sons, Inc., 2000.

[17] David Gundlegard and Johan M. Karlsson, "Handover Location Accuracy for Travel Time Estimation in GSM and UMTS," IET Intelligent Transport Systems, 2009, vol. 3, no. 1, pp. 87-94.

[18] Hillel Bar-Gera, "Evaluation of a Cellular Phone-Based System for Measurements of Traf-fic Speeds and Travel Times: A Case Study from Israel," Transpiration. Research Part C:

(38)

Emerging Technologies, 2007, vol. 15, no. 6, pp. 380-391.

[19] Chai-Hien Gan and Yi-Bing Lin, "Push-to-talk service for intelligent transportation sys-tems," IEEE Transactions on Intelligent Transportation Systems, 2007, vol. 8, no. 3, pp. 391-399.

(39)

A

If(flag==true) ++ ; Generate the next UE movement event and insert it in the event list

Generate the first call arrival,

UE movement and events, and insert them in the event list.

++; If(flag==true) ++ ; Generate the next event and insert it in the event list flag=false;

Generate the next call

arrival event and insert it in the event list ++ ; flag=true; Generate the next call completion event and insert it in the event list ; ck=1; flag=false; Start

Process the next event e. ck=e.timestamp;

e.type=?

End

(40)

A.1 的 3.2 3.3 3.7

1 的 Nn Ne Nh N∆t

0 (timestamp) ck 誌 f lag 1 f alse 2

的 動 (event

list) 的 的 3

的 的 4

的 (call arrival) 的 行 5 動 (UE

movement) 的 行 6 (call completion) 行 7

(∆t) 的 行 8 5 Nn 1 f lag true 的 行 3 6 f lag true Nh 1 行 動的 行 3 7 f lag f alse 的 行 3 8 N∆t 1 f lag true Ne 1 行 行 9 9 N∆t 106 行 10 行 3 10 的 Nn Ne Nh N∆t α(τ ) β(τ ) γ(τ )

(41)

B

E[ρ

n

(τ )]

[15] ∆τE[ρn(τ )] τm rm(t) Rm(t) rm∗(s) [14] rm(t) tmFm(t) rm(t) = η[1− Fm(t)] (B.1) (B.1) tmfm∗(s) rm∗(s)r∗m(s) = t=0 η[1− Fm(t)]e−stdt = (η s ) [1− fm∗(s)] (B.2) Fρn(τ )(t) Fxn(t) ρn(τ ) xn = min(tc, ∆tn) 的 於 ρn(τ ) = min(xn, τm) Fρn(τ )(t) = Fxn(t) + Rm(t)[1− Fxn(t)] (B.3) ρn(τ )E[ρn(τ )] = t=0 [1− Fρn(τ )(t)]dt (B.4) (B.3) (B.4) E[ρn(τ )] =∈ t∞t=0[1− Fxn(t)]dt− t=0 Rm(t)[1− Fxn(t)]dt (B.5)

(42)

xnµ + δ (B.2) (B.5) E[ρn(τ )] = E[xn] t=0 Rm(t)e−(µ+δ)tdt = 1 µ + δ rm∗(µ + δ) µ + δ = 1 µ + δ [ η (µ + δ)2 ] [1− fm∗(µ + δ)] (B.6)

(43)

C

1 2 的 1 ifstream in1( RNC321 .c_str ()) ; 2 ifstream in2( RNC311 .c_str ()) ; 3 ifstream in3( RNC353 .c_str ()) ; 4 string tmp ; 5 int IMSI ; 6 string Time ; 7

8 while (in1 >> IMSI >> Time) 9 { 10 string type = "" ; 11 string subType = "" ; 12 int cellId ; 13 int sessionId ; 14 15 in1 >> tmp ; 16 type += tmp ; 17 while (in1 >> tmp) 18 { 19 if(tmp [0] >=65 && tmp [0] <=90) 20 break ; 21 type += " " ; 22 type += tmp ; 23 } 24 subType += tmp ; 25 while (in1 >> tmp )

(44)

26 { 27 if(tmp [0] >=48 && tmp [0] <=57) 28 break ; 29 subType += " " ; 30 subType += tmp ; 31 }

32 in1 >> cellId >> sessionId >> tmp >> tmp >> tmp >> tmp; 33 hour = atoi(Time. substr (0 ,2).c_str ()) ;

34 minute = atoi(Time. substr (3 ,2).c_str ()) ; 35 second = atoi(Time. substr (6 ,2).c_str ()) ; 36 int nowTime = hour *3600+ minute *60+ second ; 37

38 if( subType == " Normal loc updating ") 39 {

40 if( cellId %10000 == 3483 || cellId %10000 == 3488 || cellId

%10000 == 9929) // North

41 {

42 if(Nhead == NULL) 43 {

44 Nhead = new treenode (IMSI , nowTime ) ; 45 } 46 else 47 { 48 treenode *p = Nhead ; 49 while(p != NULL) 50 { 51 if(p->IMSI > IMSI) 52 { 53 if(p->left == NULL) 54 {

55 p->left = new treenode (IMSI , nowTime ) ; 56 break ;

57 }

(45)

59 {

60 p = p->left ;

61 }

62 }

63 else if(p->IMSI < IMSI)

64 {

65 if(p->right == NULL)

66 {

67 p->right = new treenode (IMSI , nowTime ) ; 68 break ; 69 } 70 else 71 { 72 p = p->right ; 73 } 74 } 75 else 76 { 77 break ; 78 } 79 } 80 } 81 }

82 else if( cellId %10000 == 3417 || cellId %10000 == 8494 ||

cellId %10000 == 3286) // South

83 {

84 if(Shead == NULL) 85 {

86 Shead = new treenode (IMSI , nowTime ) ; 87 }

88 else 89 {

90 treenode *p = Shead ; 91 while(p != NULL)

(46)

92 {

93 if(p->IMSI > IMSI)

94 {

95 if(p->left == NULL)

96 {

97 p->left = new treenode (IMSI , nowTime ) ; 98 break ; 99 } 100 else 101 { 102 p = p->left ; 103 } 104 }

105 else if(p->IMSI < IMSI)

106 {

107 if(p->right == NULL)

108 {

109 p->right = new treenode (IMSI , nowTime ) ; 110 break ; 111 } 112 else 113 { 114 p = p->right ; 115 } 116 } 117 else 118 { 119 break ; 120 } 121 } 122 } 123 } 124 }

(47)

126 {

127 int x = -1 ;

128 if( cellId %10000 == pattern1 ) 129 {

130 x = 0 ; 131 }

132 else if( cellId %10000 == pattern2 ) 133 {

134 x = 1 ; 135 }

136 else if( cellId %10000 == pattern3 ) 137 {

138 x = 2 ; 139 }

140 else if( cellId %10000 == pattern4 ) 141 {

142 x = 3 ; 143 }

144 else if( cellId %10000 == pattern5 ) 145 {

146 x = 4 ; 147 }

148 if(x >=0) 149 {

150 if( extrahead == NULL) 151 {

152 extrahead = new treenode (IMSI , nowTime ) ; 153 extrahead -> sessionId = sessionId ;

154 extrahead ->check[x] = 1 ; 155 extrahead ->count ++ ; 156 extrahead ->cell = x ; 157 } 158 else 159 {

(48)

160 treenode *p = extrahead ; 161 while(p != NULL) 162 { 163 if(p->IMSI > IMSI) 164 { 165 if(p->left == NULL) 166 {

167 p->left = new treenode (IMSI , nowTime ) ; 168 p->left -> sessionId = sessionId ;

169 p->left ->check[x] = 1 ; 170 p->left ->count ++ ; 171 p->left ->cell = x ; 172 break ; 173 } 174 else 175 { 176 p = p->left ; 177 } 178 }

179 else if(p->IMSI < IMSI)

180 {

181 if(p->right == NULL)

182 {

183 p->right = new treenode (IMSI , nowTime ) ; 184 p->right -> sessionId = sessionId ;

185 p->right ->check[x] = 1 ; 186 p->right ->count ++ ; 187 p->right ->cell = x ; 188 break ; 189 } 190 else 191 { 192 p = p->right ; 193 }

(49)

194 } 195 else

196 {

197 p->count ++ ;

198 if(p-> sessionId == sessionId )

199 {

200 p->check[x] = 1 ;

201 if(x-p->cell == 0 && p->count <=3)

202 { 203 p->count -- ; 204 } 205 else if(p->count == 2) 206 { 207 if(x-p->cell >0) 208 { 209 p->dir =2 ; 210 } 211 else if(x-p->cell <0) 212 { 213 p->dir =1 ; 214 } 215 p->cell = x ; 216 } 217 else if(p->count == 3) 218 {

219 if((p->dir == 1 && x>p->cell) || (p->

dir == 2 && x<p->cell))

220 { 221 p->check[x] = 0 ; 222 p->count -- ; 223 } 224 } 225 } 226 else

(50)

227 {

228 for(int i=0;i< patternNum ;i++) 229 p->check[i] = 0 ; 230 p-> sessionId = sessionId ; 231 p->check[x] = 1 ; 232 p->count = 1 ; 233 p->cell = x ; 234 } 235 int sum = 0 ;

236 for(int i=0;i< patternNum ;i++) 237 sum +=p->check[i] ; 238 if(sum >=3) 239 p->flag = true ; 240 break ; 241 } 242 } 243 } 244 } 245 } 246 }

247 while (in2 >> IMSI >> Time) 248 { 249 string type = "" ; 250 string subType = "" ; 251 int cellId ; 252 253 in2 >> tmp ; 254 type += tmp ; 255 while (in2 >> tmp) 256 { 257 if(tmp [0] >=65 && tmp [0] <=90) 258 break ; 259 type += " " ; 260 type += tmp ;

(51)

261 } 262 subType += tmp ; 263 while (in2 >> tmp ) 264 { 265 if(tmp [0] >=48 && tmp [0] <=57) 266 break ; 267 subType += " " ; 268 subType += tmp ; 269 } 270 in2 >> cellId >> tmp >> tmp >> tmp >> tmp >> tmp; 271 hour = atoi(Time. substr (0 ,2).c_str ()) ;

272 minute = atoi(Time. substr (3 ,2).c_str ()) ; 273 second = atoi(Time. substr (6 ,2).c_str ()) ; 274 int nowTime = hour *3600+ minute *60+ second ; 275 if( subType == " Normal loc updating ")

276 {

277 if( cellId %10000 == 8440 || cellId %10000 == 9357 || cellId

%10000 == 8422 || cellId %10000 ==7175 || cellId %10000 ==3236) 278 { 279 treenode *p = Nhead ; 280 while(p != NULL) 281 { 282 if(p->IMSI > IMSI) 283 { 284 p = p->left ; 285 }

286 else if(p->IMSI < IMSI) 287 {

288 p = p->right ; 289 }

290 else 291 {

(52)

293 { 294 Timeslot tmp ; 295 tmp.begin = p->time ; 296 tmp.end = nowTime ; 297 p->T. push_back (tmp) ; 298 p->flag = true ; 299 } 300 break ; 301 } 302 } 303 } 304 } 305 }

306 while (in3 >> IMSI >> Time) 307 { 308 string type = "" ; 309 string subType = "" ; 310 int cellId ; 311 312 in3 >> tmp ; 313 type += tmp ; 314 while (in3 >> tmp) 315 { 316 if(tmp [0] >=65 && tmp [0] <=90) 317 break ; 318 type += " " ; 319 type += tmp ; 320 } 321 subType += tmp ; 322 while (in3 >> tmp ) 323 { 324 if(tmp [0] >=48 && tmp [0] <=57) 325 break ; 326 subType += " " ;

(53)

327 subType += tmp ; 328 }

329 in3 >> cellId >> tmp >> tmp >> tmp >> tmp >> tmp; 330 hour = atoi(Time. substr (0 ,2).c_str ()) ;

331 minute = atoi(Time. substr (3 ,2).c_str ()) ; 332 second = atoi(Time. substr (6 ,2).c_str ()) ; 333 int nowTime = hour *3600+ minute *60+ second ; 334 if( subType == " Normal loc updating ")

335 {

336 if( cellId %10000 == 3578 || cellId %10000 == 3642) 337 { 338 treenode *p = Shead ; 339 while(p != NULL) 340 { 341 if(p->IMSI > IMSI) 342 { 343 p = p->left ; 344 }

345 else if(p->IMSI < IMSI) 346 {

347 p = p->right ; 348 }

349 else 350 {

351 if(p->time < nowTime && nowTime -p->time <=3600)

352 { 353 Timeslot tmp ; 354 tmp.begin = p->time ; 355 tmp.end = nowTime ; 356 p->T. push_back (tmp) ; 357 p->flag = true ; 358 } 359 break ; 360 }

(54)

361 } 362 } 363 } 364 } 365 in1. close () ; 366 in2. close () ; 367 in3. close () ; 的

1 while (in >> IMSI >> Time) 2 { 3 string type = "" ; 4 string subType = "" ; 5 int RNC ; 6 int cellId ; 7 int sessionId ; 8 int finalId ; 9 10 in >> tmp ; 11 type += tmp ; 12 while (in >> tmp) 13 { 14 if(tmp [0] >=65 && tmp [0] <=90) 15 break ; 16 type += " " ; 17 type += tmp ; 18 } 19 subType += tmp ; 20 while (in >> tmp ) 21 { 22 if(tmp [0] >=48 && tmp [0] <=57) 23 break ; 24 subType += " " ; 25 subType += tmp ;

(55)

26 }

27 RNC = atoi(tmp.c_str ()) ;

28 in >> cellId >> sessionId >> finalId >> tmp >> tmp >> tmp; 29 hour = atoi(Time. substr (0 ,2).c_str ()) ;

30 minute = atoi(Time. substr (3 ,2).c_str ()) ; 31 second = atoi(Time. substr (6 ,2).c_str ()) ; 32 int nowTime = hour *3600+ minute *60+ second ; 33

34 Phone *p; 35

36 if(type == "Voice call ") 37 {

38 if(head == NULL) 39 {

40 if( finalId == 0) 41 {

42 head = new Phone( nowTime ) ; 43 head ->IMSI = IMSI ;

44 head -> cellId = cellId ;

45 head -> sessionId = sessionId ; 46 head ->call = true ;

47 head ->next = NULL ;

48 dir= search (IMSI , nowTime ) ;

49 if(( cellId == targetCell1 || cellId == targetCell2 ))

50 {

51 head ->time = nowTime ;

52 head -> deltaT = nowTime / deltaT ; 53 head ->check = 0 ;

54 N[ nowTime / deltaT ]++ ; 55 head -> through = true ; 56 head -> filter = false ;

57 }

58 } 59 }

(56)

60 else 61 {

62 bool f = false ;// flag of IMSI exists 63 p = head ;

64 while (1==1) // check IMSI exists or not 65 { 66 if(p->IMSI == IMSI) 67 { 68 f = true ; 69 if( finalId == 1) 70 { 71 if(p->call == true) 72 { 73 p->call = false ;

74 dir= search (IMSI , nowTime ) ;

75 if(( cellId == targetCell1 || cellId ==

targetCell2 ) && p-> cellId == cellId )

76 { 77 p-> through = true ; 78 p-> filter = false ; 79 if(p->check == 1)// handover in 80 { 81 if(nowTime -p->time <=

limiteErlang && nowTime -p-> time >= 10)

82 {

83 if(dir == 1)

84 {

85 Nrecord [p->time/ deltaT ].

handoverIn ++ ;

86 AddErlang (p,nowTime ,1) ;

87 }

88 else if(dir == 2)

(57)

90 Srecord [p->time/ deltaT ]. handoverIn ++ ; 91 AddErlang (p,nowTime ,2) ; 92 } 93 N[p->time/ deltaT ]++ ; 94 } 95 } 96 else if(p->check == 0) 97 { 98 if(nowTime -p->time <=

limiteErlang && nowTime -p-> time >= 10) 99 { 100 if(dir == 1) 101 { 102 AddErlang (p,nowTime ,1) ; 103 } 104 else if(dir == 2) 105 { 106 AddErlang (p,nowTime ,2) ; 107 } 108 } 109 } 110 }

111 else if(( cellId != targetCell1 && cellId

!= targetCell2 ) && (p->check == 2 || p ->check == 3))// session end ouside

112 {

113 p-> through = true ; 114 p-> filter = false ;

115 if(p->check == 2 || ( p->check == 3

&& p->outtime -p->time >=10))

116 {

(58)

118 {

119 Nrecord [p-> outtime / deltaT ].

handoverOut ++ ;

120 AddErlang (p,p->outtime ,1) ;

121 }

122 else if(dir == 2)

123 {

124 Srecord [p-> outtime / deltaT ].

handoverOut ++ ; 125 AddErlang (p,p->outtime ,2) ; 126 } 127 } 128 } 129 } 130 p-> sessionId = 0 ; 131 p->check = -1 ; 132 p-> cellId = cellId ; 133 p-> filter = false ; 134 p-> through = false ; 135 p-> startime = 0 ; 136 } 137 else 138 {

139 if(p->call == false) // new call

140 {

141 p->call = true ;

142 p-> sessionId = sessionId ; 143 p-> startime = nowTime ; 144 dir= search (IMSI , nowTime ) ;

145 if(( cellId == targetCell1 || cellId ==

targetCell2 ))

146 {

147 p->time = nowTime ;

(59)

149 p->check = 0 ; 150 N[p->time/ deltaT ]++ ; 151 p-> through = true ; 152 p-> filter = false ; 153 } 154 } 155 else // handover 156 {

157 dir= search (IMSI , nowTime ) ;

158 if(( cellId == targetCell1 || cellId ==

targetCell2 ) && (p-> cellId != targetCell1 && p-> cellId != targetCell2 ))// handoverIn

159 {

160 if(p->check == 2 && nowTime -p->

outtime < HItime )

161 {

162 p->check = 1 ;

163 }

164 else if(p->check == 3 && nowTime -p->

outtime < HItime )

165 {

166 p->check = 0 ;

167 }

168 else if((p->check == 2 || p->check ==

3) && nowTime -p->outtime >= HItime )

169 {

170 if(p->check == 2 || ( p->check ==

3 && p->outtime -p->time >=10) )

171 {

172 if(dir == 1)

(60)

174 AddErlang (p,p->outtime ,1)

;

175 Nrecord [p-> outtime / deltaT

]. handoverOut ++ ; 176 } 177 else if(dir == 2) 178 { 179 AddErlang (p,p->outtime ,2) ;

180 Srecord [p-> outtime / deltaT

]. handoverOut ++ ;

181 }

182 }

183 p->time = nowTime ;

184 p-> deltaT = nowTime / deltaT ; 185 p-> outtime = 0 ; 186 p->check = 1 ; 187 p-> sessionId = sessionId ; 188 } 189 else 190 { 191 p->time = nowTime ;

192 p-> deltaT = nowTime / deltaT ; 193 p->check = 1 ;

194 }

195 }

196 else if((p-> cellId == targetCell1 || p->

cellId == targetCell2 ) && ( cellId != targetCell1 && cellId != targetCell2 )) // handoverOut

197 {

198 if( cellId %10000 != p-> cellId %10000) //

leave this BS set

(61)

200 if(p->check == 0)

201 {

202 if(nowTime -p->time <=

limiteErlang && nowTime -p ->time >= 10) 203 { 204 if(dir == 1) 205 { 206 AddErlang (p,nowTime ,1) ; 207 Nrecord [ nowTime / deltaT ]. handoverOut ++ ; 208 } 209 else if(dir == 2) 210 { 211 AddErlang (p,nowTime ,2) ; 212 Srecord [ nowTime / deltaT ]. handoverOut ++ ; 213 } 214 } 215 p->check = -1 ; 216 p->time = 0 ; 217 p-> deltaT = 0 ; 218 p-> sessionId = sessionId ; 219 }

220 else if(p>check == 1 && nowTime

-p->time >= HItime )

221 {

222 if(nowTime -p->time <=

limiteErlang )

(62)

224 p-> through = true ; 225 p-> filter = false ; 226 if(dir == 1) 227 { 228 AddErlang (p,nowTime ,1) ; 229 Nrecord [p->time/ deltaT ]. handoverIn ++ ; 230 Nrecord [ nowTime / deltaT ]. handoverOut ++ ; 231 } 232 else if(dir == 2) 233 { 234 AddErlang (p,nowTime ,2) ; 235 Srecord [p->time/ deltaT ]. handoverIn ++ ; 236 Srecord [ nowTime / deltaT ]. handoverOut ++ ; 237 } 238 N[p->time/ deltaT ]++ ; 239 } 240 p->check = -1 ; 241 p->time = 0 ; 242 p-> deltaT = 0 ; 243 p-> sessionId = sessionId ; 244 } 245 }

246 else if(nowTime -p->time >= HOtime )

(63)

248 if(p->check == 0) 249 { 250 if(nowTime -p->time <= limiteErlang ) 251 { 252 if(dir == 1) 253 { 254 AddErlang (p,nowTime ,1) ; 255 Nrecord [ nowTime / deltaT ]. handoverOut ++ ; 256 } 257 else if(dir == 2) 258 { 259 AddErlang (p,nowTime ,2) ; 260 Srecord [ nowTime / deltaT ]. handoverOut ++ ; 261 } 262 } 263 p->check = -1 ; 264 p->time = 0 ; 265 p-> deltaT = 0 ; 266 p-> sessionId = sessionId ; 267 }

268 else if(p>check == 1 && nowTime

-p->time >= HItime ) 269 { 270 if(nowTime -p->time <= limiteErlang ) 271 { 272 p-> through = true ;

(64)

273 p-> filter = false ; 274 if(dir == 1) 275 { 276 AddErlang (p,nowTime ,1) ; 277 Nrecord [p->time/ deltaT ]. handoverIn ++ ; 278 Nrecord [ nowTime / deltaT ]. handoverOut ++ ; 279 } 280 else if(dir == 2) 281 { 282 AddErlang (p,nowTime ,2) ; 283 Srecord [p->time/ deltaT ]. handoverIn ++ ; 284 Srecord [ nowTime / deltaT ]. handoverOut ++ ; 285 } 286 N[p->time/ deltaT ]++ ; 287 } 288 p->check = -1 ; 289 p->time = 0 ; 290 p-> deltaT = 0 ; 291 p-> sessionId = sessionId ; 292 } 293 }

294 else if(p->check == 1 && nowTime -p->

time < HItime )

(65)

296 p->check = -1 ; 297 p->time = 0 ; 298 p-> outtime = 0 ; 299 p-> deltaT = 0 ;

300 }

301 else if(p->check == 1 && nowTime -p->

time >= HItime )

302 {

303 if(dir ==1)

304 {

305 Nrecord [p->time/ deltaT ].

handoverIn ++ ;

306 }

307 else if(dir == 2)

308 {

309 Srecord [p->time/ deltaT ].

handoverIn ++ ; 310 } 311 N[p->time/ deltaT ]++ ; 312 p-> through = true ; 313 p-> filter = false ; 314 p->check = 2 ; 315 p-> outtime = nowTime ; 316 } 317 else if(p->check == 0) 318 { 319 p->check = 3 ; 320 p-> outtime = nowTime ; 321 } 322 }

323 else if((p->check == 2 || p->check == 3))

324 {

325 if(p->check == 2 || ( p->check == 3

(66)

326 {

327 if(dir == 1)

328 {

329 AddErlang (p,p->outtime ,1) ; 330 Nrecord [p-> outtime / deltaT ].

handoverOut ++ ;

331 }

332 else if(dir == 2)

333 {

334 AddErlang (p,p->outtime ,2) ; 335 Srecord [p-> outtime / deltaT ].

handoverOut ++ ; 336 } 337 } 338 p->check = -1 ; 339 p->time = 0 ; 340 p-> deltaT = 0 ; 341 p-> sessionId = sessionId ; 342 } 343 } 344 p-> cellId = cellId ; 345 p-> sessionId = sessionId ; 346 } 347 break ; 348 } 349 if(p->next == NULL) 350 break ; 351 p = p->next ; 352 } 353 if(f == false) 354 { 355 if( finalId == 0) 356 {

(67)

358 p = p->next ; 359 p->IMSI = IMSI ; 360 p-> cellId = cellId ; 361 p-> sessionId = sessionId ; 362 p->call = true ; 363 p->next = NULL ;

364 dir= search (IMSI , nowTime ) ;

365 if(( cellId == targetCell1 || cellId ==

targetCell2 ))

366 {

367 p->time = nowTime ;

368 p-> deltaT = nowTime / deltaT ; 369 p->check = 0 ; 370 N[p->time/ deltaT ]++ ; 371 p-> through = true ; 372 p-> filter = false ; 373 } 374 } 375 } 376 } 377 } 378 }

參考文獻

相關文件

B3-4 DEEP LEARNING MODEL COMPRESSION BY NETWORK SLIMMING Ching-Hao Wang (王敬豪), Shih-Che Chien (簡士哲), Feng-Chia Chang (張峰嘉), and Wen-Huang Cheng (鄭文皇). B3-5

The relief fresco &#34;Stories of the Buddha's Life&#34; embody the advancement of life education: a profound outlook on life, religion and life and death, ultimate care, life

All configurations: Chien-Chang Ho, Pei-Lun Lee, Yung-Yu Chuang, Bing-Yu Chen, Ming Ouhyoung, &#34;Cubical Marching Squares: Adaptive Surface Extraction from Volume Data with

 Sequence-to-sequence learning: both input and output are both sequences with different lengths..

Gershman, &#34;Leveraging Behavioral Patterns of Mobile Applications for Personalized Spoken Language Understanding,&#34; in Proc.. ▪ Task: user

[13] Chun-Yi Wang, Chi-Chung Lee and Ming-Cheng Lee, “An Enhanced Dynamic Framed Slotted ALOHA Anti-Collision Method for Mobile RFID Tag Identification,” Journal

Wolfgang, &#34;The Virtual Device: Expanding Wireless Communication Services through Service Discovery and Session Mobility&#34;, IEEE International Conference on

Jiayi Zhou, Kun-Ming Yu, Chun Yuan Lin, Kuei-Chung Shih1 and Chuan Yi Tang, “Balanced Multi-process Parallel Algorithm for Chemical Compound Inference with Given Path Frequencies,”