### 전력제어(power control)란 무엇인가?
: 송신 전력을 필요 이상으로 크지 않게 하면서 또 요구되는 통신품질을 만족시킬 만큼의 최저 송신 전력으로 신호를 송출하도록 송신전력을 조절하는 것.
### power control을 왜 하는가?
: CDMA 시스템에서는 내가 원하는 신호를 제외하고 수신된 신호들은 간섭(interference)가 된다. 간섭이 크면 원하는 신호(desired signal)이 복조(demodulation)가 되지 않는다. 아니 복조는 되는데 프레임(frame)이 깨지는 비율이 증가하여 통신 품질이 나빠지게 된다.
따라서 너무 높지도 낮지도 않은 송신전력으로 전송하게 할 필요가 있다.
나는 B라는 사용자 인데 기지국이 A라는 사용자를 위한 송신전력을 높이면 나(B)에게는 간섭신호로 작용하여 내가 원하는 신호가 깨지기 쉽다.
그럼 만약 내가 기지국에게 나에게 보내는 신호 전력 레벨을 높이라고 요청할 수 있다면 어떻게 될까? 나의 desired signal의 수신레벨은 높아져 잘 들릴것이다. 그러나 나를 위한 트래픽 채널 전력은 A 사용자에게 간섭으로 작용할 것이다. 결국 서로 power 증가만 요청하게 될것이다.
마치 각국 사람들이 모인 파티장에서 서로 소곤 소곤 얘기 해도 될 것을, 한 나라 사람이 오버하여 목청을 높이면 다른 나라 사람들에게는 간섭(잡음)으로 들리고 다른 나라 사람들도 자기 나라 사람끼리 서로 알아듣기 위해서는 잡음을 극복할 만큼 더 크게 떠들어야 하는 것과 같다.
따라서 요구되는 통신품질을 만족하는 한도에서 송신전력을 제한할 필요가 있다.
PC해서 얻는 것은
(1) System capacity의 증가
(2) Rayleigh fading 하의 채널과 같이 열악한 채널 환경의 극복
(3) 각 사용자간 통신품질의 fairness 보장 (near far problem 극복)
일 것이라 생각합니다.
### 순방향 전력제어(Forward Link Power Control: FL PC), 역방향 전력제어(Reverse link Power Control: RL PC)가 있다던데 무엇인가?
- FL PC은 기지국에서 단말기로 송신하는 전력의 크기를 조절하는 것입니다. 순방향에서 수신된 신호를 이용하여 순방향으로 수신상태가 어떠하더라는 것을 단말기가 기지국에게 feedback으로 보냅니다. 기지국은 단말기가 보내온 feedback 정보를 이용하여 순방향 송신 전력을 변경시키게 됩니다.
RL PC은 반대로 기지국에서 수신된 신호를 기초로 하여 기지국이 단말기에게 신호가 작으니 혹은 크니 신호를 올려라 내려라 하는 것입니다. 수신된 신호의 Eb/No를 구해서 먼저 설정한 Eb/No 임계값과 비교해서 크면 단말기에게 송신 전력을 내리라고 '1'을 보냅니다. 작으면 송신 전력을 올리라고 '0'을 보냅니다. 보낼 트래픽 데이터에서 bit를 빼내고 power control bit을 대체해서 보냅니다. convolution coding된 원래 데이터를 빼내고 PCB를 넣는다? 그것도 PCB는 encoding을 안한다? 놀랍죠. 그래도 트래픽 데이터를 convolution coding해서 그 자리의 정보를 viterbi decoding해내면 복원할 수 있어요. 그래서 가능하죠. PCB를 보내는 자리를 선택하는 것도 쉽게 하는 것이 아니고 power control group (PCG) 중에서 처음 16bit 자리중에 랜덤하게 들어갑니다. 그래야 PCB 넣느냐고 데이터 깨진 자리가 랜덤하고 복원하기가 쉽죠. PCB를 넣을 때 convolution encoder등을 이용해서 encoding을 하지 않는 이유는 별것 없습니다. 빨리 PC 하려는 거죠. 언제 decoding해서 PC하겠습니까? decoding하는동안 채널특성 또 변하는데... 따라서 단말기가 받은 PCB는 잘 깨집니다. 그래서 덜 깨지게 하기 위해서도 그 위치를 랜덤하게 놓습니다. 잘깨지는 PCB의 전력을 크게하면 잘 안깨져서 PC 정말 잘 된다는 것을 연구한 논문도 꽤 됩니다.
그럼 soft handoff 일 때의 power control은 어떻게 될것인가요.
단말기 입장에서는 꽤 난처한 일입니다. (두 기지국이 PCB라고 보내왔는데 한쪽 기지국에서 보내온 PCB가 채널이 나빠서 깨질수가 있잖아요) 해결 방법은 의외로 간단합니다. 왠만해서는 power up이 없게한다는 겁니다. 두기지국으로부터 받은 PCB가 모두 power up이어야 송신전력을 증가하고 다른 경우는 모두 송신전력을 낮춥니다. 혹시 진짜 power up 해야할 상황이라면 다음번에는 기지국에서 power up하라고 다시 명령이 오겠죠. 만약 그런 경우 단말기가 괜히 power up했다면 기지국에서는 뭐하는 짓이냐고 power down하라고 하겠죠. 게다가 만약 한쪽 기지국으로부터 오는 PCB가 계속 잘못되어 power up으로 해석된다면 단말기의 송신전력은 계속 증가되고 결국 다른 단말기의 신호에 대해서 간섭으로 작용하게 되어 reverse link 용량을 깍아먹겠죠. 잘터지는 기지국에서는 power down하라고 나오는데 안터지는 기지국 때문에 단말기 밧데리만 낭비하게 되죠. 혼자 애써 부르지 말고 그런 기지국과는 연을 끊어야죠. 아무렴.
이것이 reverse closed loop power control입니다. 단말기가 신호를 보내고 기지국이 수신된 신호를 threshold와 비교하고, 기지국이 이에 따라서 송신전력 레벨을 조절하도록 명령을 내리고를 반복하여 power control 흐름이 loop를 형성합니다. 이 loop가 closed 되었다고 closed power control 이라고 합니다. CLPC에는 inner loop power control이 있고 outer loop power control이 있습니다. inner loop는 기지국에서 수신된 신호의 Eb/No를 예측하고 Eb/No 임계값과 비교해서 power control bit(PCB)를 결정하는 것입니다. outer loop는 Eb/No threshold를 조절하는 것입니다.
RL PC를 말할 때 CLPC외에도 open loop power control(OLPC)이라는 것도 있습니다. 호(call)가 처음 시작될 때 단말기가 역방향으로 송출할 신호전력을 정할 때 이용됩니다. 즉 access probe 날릴 때의 송신 전력을 계산할 때 이용되죠. OLPC은 순방향 링크와 역방향 링크의 특성이 비슷할 것이라는 가정하에 수행됩니다. 즉 기지국에서 보낸 신호를 단말기가 수신하여, "아, 이정도 레벨로 수신되었으니 기지국은 어느 정도 멀리 있을 거야"하고 생각하여 이에 맞게 단말기 송신전력을 정하게 됩니다. power control 흐름이 순환되지 않기 때문에 open loop power control 이라고 불립니다. OLPC는 단말기 안에서 모든게 이루워지죠. 실행되는 순서로 보면 CLPC는 OLPC보다 먼저 실행됩니다. traffic 상태가 되고 기지국으로부터 power control에 대한 명령이 내려온 이후에는 CLPC이 함께 실행됩니다.
말은 복잡하지만 단말기의 송신전력을 나타내는 다음의 개념적인 식(정확하려면 더 길어요)에서 보면 간단합니다.
⇒전화 처음 걸때 처음 access probe 송신전력
단말기송신전력 = -수신된전력 - offset_power + NOM_PWR + INIT_PWR
※offset_power: 73dBm for cellular(band class 0) or 75dBm for PCS(band class 1)
NOM_PWR, INIT_PWR는 기지국이 paging channel을 통해 access parameters message로 단말기에게 알려줍니다.
※수신된 전력은 순방향으로 수신된 파일럿 전력. IS-95A에서 비슷한 크기의 파일럿이 여럿 있을 때 경로감쇄를 너무 작게 예측해서 access 실패확률이 컸죠. 이것을 극복하려고 IS-95B 부터는 interference estimate corection이라는 것이 또 추가되었죠. min(max(-7 - Ec/Io, 0), 7)
※access probe에 대한 자세한 것은 단말기의 state 중에서 access state를 설명할 때...
### Outer loop power control은 또 무엇인가?
- 채널의 특성 변화에 따라서 Eb/No 임계값을 조정할 필요가 있을 경우에 이용됩니다. 기지국(Base Station)과 BS를 제어하는 BSC사이에서 power control을 위해 생긴 loop 를 말합니다. 기지국은 수신된 신호에서 Eb/No를 estimate합니다. estimate된 Eb/No값을 power control을 위해 Eb/No threshold와 비교해서 단말기에게 power control command를 날립니다. 아래와 같이요.
만약 received Eb/No > power control Eb/No thredhold 면,
단말기는 송신 전력을 내려라
만약 received Eb/No < power control Eb/No thredhold 면,
단말기는 송신 전력을 올려라
(참고: 통신 품질을 말할 때 Eb/No와 FER를 말하는데 사용자의 입장에서는 FER 이 통신품질이 됩니다. 무선망의 설계/운용은 보통 1%~5% FER을 voice call에 대해서 적용합니다. FER를 측정하려면 decoding도 해야되고 여러 frame을 본 후 말할 수 있어 시간도 오려걸립니다. 따라서 기지국에서는 편의상 FER에 해당되는 Eb/No를 이용합니다)
한편 기지국에서 수신된 트래픽 채널 프레임은 BSC로 전송되지요. BSC에서는 올라온 프레임으로 frame error rate을 확인합니다. 기지국에서 단말기가 빤히 내다 보이는 상태(가시거리 이내:line of sight)와 같이 채널의 특성이 좋은 경우에는 계속 frame이 깨지지 않았을 겁니다. target FER보다 낮은 FER을 보여주게 됩니다. 그럼 단말기가 지금과 같이 높은 전력으로 송신을 하지 않아도 되겠죠. 작게 말해도 되는데 크게 말하면 그 신호는 수신된 다른 사용자의 신호에겐 간섭이 되죠. 당연히 해당 단말기의 송신 전력을 줄일 필요가 있습니다.
단말기의 송신전력을 낮추어 통신해도 FER이 충분히 좋은 상태에 있을 수 있으므로, BSC는 기지국에게 네가 역방향 PC을 위해 현재 사용하고 있는 Eb/No 임계값을 내려도 되겠다고 말해주게 되죠. 기지국은 RL PC을 위해 사용하고 있던 Eb/No threshold값을 내려 이용하게 됩니다. 이에 따라 단말기에게 power down 명령이 가게 되고 단말기는 송신전력을 낮출 수 있게 됩니다.
반대의 경우로 채널의 특성이 안좋은 경우도 있겠죠. 이 때는 지금까지 잘 사용해 왔던 power control을 위한 Eb/No 임계값을 계속 사용하면 FER이 허용된 통신 품질보다 높아 지게 됩니다. 그러면 안되겠죠? BSC는 기지국에게 Eb/No threshold를 높혀서 사용하라고 지시합니다. 기지국은 그렇게 하고 당연히 단말기에게 power up 명령이 가게 되어 단말기는 송신 전력을 증가시키게 됩니다.
이와같이 채널(전파환경)의 변화에 따라서 기지국에서 power control을 위해 사용하던 Eb/No threshold값을 변화시키는 동작을 하는 것을 outer loop power control입니다.
만약 estimated FER > target FER 이면,
BSC는 기지국에게 소리칩니다. Eb/No threshold를 낮춰라.
만약 estimated FER < target FER 이면,
Eb/No threshold를 높혀라.
물론 단말기 입장에서는 outer loop 이런것 몰라도 문제 없겠죠. 기지국에서 내려오는 power control command만 보면 되니깐... 그래서 outer loop power control은 IS-95 스펙 어디를 뒤져봐도 없어요. 이것 찾느라 ctl+F 누르지 마옵소서. 장비업체에게 물으소서.
### IS-95A(RS1), IS-95B(RS2), cdma2000의 PC 방법은 무슨 차이?
- backward compatibility 지원에 의해 상위 시스템은 하위 시스템의 power control 방법을 지원합니다.
IS-95A (vocoder의 속도가 9.6kbps인 rate set1 시스템)에서는 단말기가 순방향에서 수신한 신호가 어떻더라는 것을 PMRM(Power Measurement Report Message)를 통해서 기지국으로 전송합니다. Feedback을 message로 보내는 것입니다. message로 보내니 feedback을 위한 data overhead가 높고 빨리 보낼 수가 없어 급변하는 채널의 특성을 따라 잡기가 어렵습니다. PMRM을 보내는 때를 결정하는 것은 두가지가 있습니다. 어떤 시간주기를 가지고 매 주기마다 보내는 것을 '주기적 보고'라고 합니다. 미리 지정한 FER thredhold가 되었을 때 기지국으로 보고하는 것을 '임계치 보고'라고 합니다. 어떤 기지국에서 어떤 보고 방법을 쓸 것인가는 단말기가 system에 access하는 동안 paging channel에서 날라오는 SPM(system parameters message)를 통해 기지국이 단말기에게 알려줍니다.
SPM에서 PWR_PERIOD_ENABLE, PWR_THRESH_ENABLE 이 indicator입니다. SPM에는 FER이 내려가는 것이 아니고 PWR_REP_FRAMES이 몇개의 frame을 볼 것인가를, PWR_REP_THRESH이 몇개의 bad frame인가를 의미함으로 FER을 말해주죠. PWR_REP_DELAY라는 것도 있는데 단말기가 PMRM 보내고 다시 FER 계산하기 위해서 frame 세기 전에 잠깐 쉴(?) 시간을 알려줍니다.
기지국에서는 수신된 PMRM에 담긴 내용을 참고로 하여 순방향에서 송신전력을 높이든지 낮추든지 하게 됩니다. 어떤 PC 알고리즘을 사용할지에 대한것은 기지국 만드는 사람의 손에 달렸지 스펙에 규정되어 있지는 않습니다.
cellular와 PCS 규약(vocoder rate이 14.4kbps인 rate set 2 system)을 다 포함하는 IS-95B 에서는 feedback을 message 형태로 보내지 말고 bit만 보내자는 겁니다. EIB (Erasure Indicator Bit) 라는 것을 보냅니다. 단말기는 20ms 길이의 frame을 수신하여 frame이 깨졌는지 안깨졌는지에 대한 정보를 EIB로 역방향을 통해 기지국으로 보냅니다.
(참고:
프레임 구조가 아래와 같아 vocoder rate = 288bits/20ms = 14.4 kbps
1bit(EIB) + 267 data bits + 12 CRC bits + 8 endoder tail bit
CRC : cyclic redundancy check, frame quality indicator라도도 함
tail bit: convolution encoder에서 shift register에 있는 값 밀어내기 위해 아무런 의미없이 추가한 값
)
기지국은 수신된 EIB에 의해서 순방향 송신전력을 조절합니다.
message 대신 bit로 보내게 되어 역방향 채널의 overhead가 적고 보다 빠른 power control이 가능하게 되었습니다.
rate set2에서는 20ms 마다 EIB를 보내게 되어 power control 명령의 회수가 50Hz(=1sec/20ms) 입니다. 순방향에서 20ms인 1frame을 수신후에, power control이 수행되는 delay는 100ms입니다.
단말기가 수신 신호를 decoding 20ms + 단말기가 역방향으로 EIB 전송 20ms + 기지국에서 수신된 신호를 decoding하며 EIB 빼내어 읽음 20ms + BSC에 있는 selector가 EIB를 기지국으로부터 보고 받고 다음 송신전력을 결정할 때까지 40ms
cdma2000에서는 Fast forward power control이 가능하여 cdma2000의 특징으로 뽑힙니다. fwd. PC를 빨리한다는 거죠. PC 명령의 속도가 800Hz 가 됩니다. 즉 feedback이 1초에 800번 갑니다. 빨리 변하는 채널의 특성을 따라잡자는 겁니다. 20ms 1frame은 16개의 PCG(0번~15번)가 모여 됩니다. 1PCG은 1.25ms 입니다. 1 PCG 동안 신호를 측정하고 1 PCG 동안 feedback을 보내고 기지국이 처리하고 송신전력을 조절하게 됩니다. 따라서 power control delay가 feedback을 보내고 기지국이 처리하는 시간 각각 1개의 PCG 동안씩만 있어 2.5ms가 delay가 됩니다.
그래서 상대적으로 빨라 fast power control 이라고 부릅니다.
측정하는 채널은 forward traffic channel이거나 forward dedicated control channel입니다. IS-95B에서는 F-DCCH이 없으니 F-FCH입니다.
cdma2000에서는 단말기는 순방향에 대한 feedback으로 보내는 power control bit을 reverse pilot channel에 time multiplexing으로 보냅니다. 역방향 파일럿 보내다가 PCB을 pilot 잠깐 쉬고 보냅니다.
power control command bit이 시분할 다중화 되어있는데, 기지국에서는 일정한 시간마다 PCB만 보면 분명 하나의 통신 경로(channel)이 됩니다. 그래서 이것을 power contorl subchannel이라 부릅니다.
reverse power control subchannel을 primary reverse power control subchannel과 secondary reverse power control subchannel로 나누어 이용합니다.
primary subchannel은 F-FCH, F-DCH에 대한 power control을 위한 feedback이 올라가는 곳입니다.
secondary subchannel은 F-SCH에 대한 power control을 위한 feedback이 가는 곳입니다. power control bit stream 800Hz가 이제 나뉘어 각각 400Hz씩 이용할 수 있습니다.
reverse pilot gating이라는 것이 있습니다. reverse pilot을 보내면 역방향 동기검파가 가능해 required Eb/No가 낮아져서 이득입니다. 그러나 보낼 데이터가 없는데도 reverse pilot을 계속 continuous하게 보내면 단말기의 battery가 아깝습니다. 그래서 gating이라고 쉽게 말하면 드문 드문 보내는 겁니다. 그러면 파일럿 신호 뒤에 붙어서 전송되는 power control subchannel도 드문 드문 전송되게 됩니다. 이때는 1/2, 1/4 gating에 따라서 power control rate이 400Hz, 200Hz 로 낮춰집니다.
==============================================================
Q.
파워 control시 offset_power 값으로 지정되어 있는 Turn Around factor K는 어떻게 나온 값인가요? 자료 찾아 보니 k=기지국 전력 -134+ 기지국 수신 noise ...인던데 앞의 "134"는 어떻게 나왔는지 모르겠어요...알려 주세요 부탁 드립니다.
A. 저도 잘 몰라 책을 좀 찾아 봤는데 아래 내용인 것으로 생각됩니다.
-134 는 reverse link maximum path loss. 계산은 Link budget 으로 합니다. cdma2000 ITU-R RTT Candidate Submission (0.18) (http://www.tiaonline.org/standards/sfg/imt2k/TR455_RTT_V18.pdf) 문서에서의 rev. link budget 계산(p216)에서 9.6kbps 음성에 대한 pedestrian 환경에서 최대 경로 손실값.
참고: open loop power control 돌 때의 단말 송신전력 계산
단말이 얼마로 송신할 것인가는 단말이 수신한 전력에 일정한 상수값으로 표시된다.
Mobile tx power(dBm) = constant (dB) - MS received power (dBm)
(이하 dB 혹은 dBm 표현임)
기지국에서 가까우면 received power 가 커서 mobile power 는 작고,
기지국에서 멀면 received power 가 작아서 mobile power 는 크다.
여기서 constant 는 주로 K 라고 표시되는 것으로 turn around constant K 라고 한다.
Mobile power = required SNR + reverse losses + total reverse noise and interference ----- (1)
reverse losses 는 역방향이 순방향과 같은 특성을 보인다고 가정하면
reverse losses ≒ forward loss = BS tx power - MS received power ----- (2)
(2)를 (1)에 대입하여 (3) 이 됨
mobile power = required SNR + BS tx power - MS received power + total reverse noise and interference ------ (3)
(3) 에서 required SNR + BS tx power + total reverse noise and interference 항이 K 입니다. (4) 로 표시될 수 있슴.
K = (Eb/Nt)req_c + BS_tx_power -134 + NF_c 10log(1+ζ_other + ζ_therm) - 10log(1-X) ------ (4)
where,
- (Eb/Nt)req_c : BS (cell) 에서 일정 품질로 수신시 요구되는(required) SNR
- -134 dB : link budget 으로 여러 고려할 요소들을 계산한 maximum path loss 값
- NF_c : cell 의 noise figure
- ζ_other : ratio of power from other cells to the power from the mobile's home base station
- ζ_therm : ratio fo thermal noise to the power from the mobile's home base station
- X : cell load 으로 percentage 임. 기지국 최대용량의 몇% 사용자가 연결 되었다고 가정.
Reference
1. The CDMA Network Engineering Handbook Volume1: concepts in CDMA, Mar 1, 1993 Qualcomm p8-4; 8.2.2 절 Turn Around Constant Calculations
2. CDMA Systems Engineering Handbook, 1998 Artech House publishers, Jhong Sam Lee p369 ; 4.4.1.1 Open-Loop Power Control
첫댓글파워 control시 offset_power 값으로 지정되어 있는 Turn Around factor K는 어떻게 나온 값인가요? 자료 찾아 보니 k=기지국 전력 -134+ 기지국 수신 noise ...인던데 앞의 "134"는 어떻게 나왔는지 모르겠어요...알려 주세요 부탁 드립니다.
첫댓글 파워 control시 offset_power 값으로 지정되어 있는 Turn Around factor K는 어떻게 나온 값인가요? 자료 찾아 보니 k=기지국 전력 -134+ 기지국 수신 noise ...인던데 앞의 "134"는 어떻게 나왔는지 모르겠어요...알려 주세요 부탁 드립니다.