2012년 12월 3일 월요일

이동통신 전파분석

드디어 이번 주제는 이동통신기술에 관해서다.

그동안 이 주제에 대해 스스로 경외하며, 언제가는 정리해야할 큰 도전이라고 느껴왔었다.

역시나 내용도 방대하고 능력의 한계도 절감하면서 머뭇거리기만 한참이었다.

이제 그런 부담감을 많이 내려놓으면서, 힘을 빼고,

이 블로그의 취지에 맞게 나만의 요리(?)로 최대한 만들어 볼까 한다.

"CDMA WCDMA 전파분석" 이란 책을 정리해가면서,

매트랩과 강의자료, 인터넷자료를 군데군데 보충하도록 하겠다.



1. 셀룰러 시스템의 개요


<셀룰러 시스템 구성도>

PSTN(public Switched Telephone Network) : 공공 통신 사업자가 운영하는 공중 전화 교환망

MTSO(Mobile Telephone Switching Office, 이동전화교환국) =MSC(Mobile Switching Center) :
 공중전화망과의 신호 연계, 기지국의 제어 및 채널의 관리통제, 사용자의 요금계산,
통화단절의 방지

BTS(Base station Transceiver Subsystem, 기지국) : 유선/무선신호의 상호 변환, 자기 cell내의 이동전화 신호강도 감지, MTSO에 정보 제공

중계기 : 전파음영지역을 개선하기 위한 간이 기지국
               (광 중계기, RF변환 중계기, M/W 중계기)

 
 <광중계기>

MS(Mobile Station, 통상 휴대폰)



2. 이동통신의 진화


 
<이동통신의 진화>

 1세대 AMPS 방식은 1983년 미국에서 상용화되었고, 이후 다른 지역으로 전파되었으며  우리나라에서도 1984년 AMPS 방식의 이동통신 서비스가 시작되었다.주파수 분할 다중 접근 방식(FDMA)을 쓰는 AMPS는 북미에서 셀이라는 공간을 할당해 사용자들로 하여금 통신하도록 하는 아날로그 셀 방식 전화 시스템이었으나 아날로그 음성통신 방식으로 데이터 통신이 불가능 했으며, 잡음이 많이 생기고, FDMA만 써서 각 사용자 마다 주파수를 할당해줘야 하기 때문에 주파수 효율의 문제점과 단순히 FM변조를 썼기 때문에 보안성 문제도 있었다.

 2세대에는 보다 향상된 음질과 저속 데이터 서비스가 디지털 방식으로 제공되었다. 2세대 시스템으로 알려진 디지털 셀룰러 시스템은 TDMA기반 시스템과  CDMA기반 시스템이 있으며 대표적인 TDMA 시스템은 유럽방식의 GSM, 북미의 IS-136, 일본의 PDC방식이 있으며, CDMA 방식으로는 미국  Qualcomm사가 제안한 북미식 IS-95 표준이 있으며, 현재 국내 디지털 셀룰러 이동통신 및 PCS 서비스가 해당되며 2세대 시스템은 완전한 디지털방식의 서비스를 하고 있지만 주로 음성위주의 전화 통화를 위해서 설계되었기 때문에 고속 데이터통신을 지원해 주지는 못했다.

3세대를 IMT-2000(International Mobile Telecommunication-2000) 또는 UMTS(Universal Mobile Telecommunication System)라고 하는데, 2세대 특징인 개인 통신 서비스(PCS)를 넘어서 음성, 동영상, 고속(144Kbps~2Mbps) 데이터 서비스 등을 모두 포함하는 멀티미디어 서비스를 제공 할 수 있는 모바일 컴퓨팅에 적합한 이동통신 시스템이다. 3세대 이동통신 시스템은 GSM과 같은 TDMA를 기반으로 한 EDGE, CDMA를 기반으로 하는 유럽의 W-CDMA, 그리고 북미식인 Qualcomm의 CDMA2000을 중심로 표준화가 진행되었다

4G 서비스 기술은  3G LTE(Long Term Evolution), WiMAX evolution 등이 있으며 각 진영별로 기술 주도권을 위해  경쟁하였으나 LTE가 압도하고 있다.

현재 CDMA 기술의 종료와 OFDM 기술 시대의 개막이 진행되고 있으며,
더 좋은 기술보다는 더 많은 사람이 사용하는 이동통신기술(LTE)이 규모의 경제를 바탕으로 다양한 방송 및 통신분야에 쓰일 것이라고 한다.



<무선데이터 전송속도의 진화>
 
※ 기지국에서의 음성통화 용량
ㅇ 2G IS95A 시스템 3FA(주파수 채널)/3sector + cdma2000 시스템 4FA/3sector
     3*15*2.4 + 4*25*2.4 = 약 348명 동시통화 가능

ㅇ 3G WCDMA 시스템 2FA/3sector
    2*80*2.4 = 약 384명 동시통화 가능



3. 주파수 확산 통신 기술

각 통화자(가입자)별 신호는 확산코드(직교코드, 채널화코드, Walsh 코드 - 64chip)에 의하여 대역 확산이 이루어지며 확산이 이루어진 신호들은 합쳐진 후 기지국을 구분하기 위한 short PN코드가 곱해진다. 따라서 기지국 초기 동기나 핸드오버 등의 동작을 이해하기 위해서는 PN코드에 대한 이해가 요구되며, 무선 테이터 전송을 이해하기 위해서는 직교코드를 명확히 이해하여야 한다. 반대로 상향신호에서는 단말 구분을 위하여 Long PN코드를 사용한다.

 
<1FA에서 CDMA/WCDMA 코드의 역할>

동기식 CDMA에서 모든 기지국들은 동일한 한개의 PN코드를 사용하고, 단지 각 기지국 별로 GPS로부터의 매 짝수 초를 기준으로 각기 코드의 시작 시점을 달리하게 되었다.동기식에서 사용되는 PN코드의 길이는 32,768 chip이며 이를 512개의 PNoffset으로 구분하여 1 PNoffset은 64 chip의 offset time을 의미하게 된다. 기지국간 시간 동기는 GPS절대 시간에 맞추어진다. chip rate는 1.2288 Mcps 이다. (ch 0=Pilot channel, ch 32=Sync, ch 1~7=Paging, ch 8~63=Traffic)


<1FA 채널구조>
 

 
 <1FA에서 CDMA파형>

 비동기WCDMA진영에서는 미국의 GPS 사용에 대한 거부감과 퀄컴의 원천 특허를 피하기 위하여 GPS의 절대시간 정보를 사용하지 않고, 모든 기지국이 512개의 서로 다른 PN코드를 사용한다. 광대역 cdma기술이며, chip rate는 3.84 Mcps 이다.

<CDMA / OFDM 의 랜덤엑세스 절차 비교>

CDMA, WCDMA 에서 단말기가 패킷신호를 전송 후 일정 시간 동안 기지국으로부터 응답 신호를 기다리고 응답 신호가 없으면 기지국에 신호가 도달치 못하였다고 판단하여 임의의 시간을 기다렸다 다시 신호를 송출하고 응답을 기다리는 반복 절차를 수행한다. 단말기 송신을 제어하는 절차를 무작위 접속(Random Access)절차라 하며, 이러한 기능을 수행하는 상향채널을 엑세스 채널이라 한다. 액세스 채널은 단말기에서 통화를 설정할 때, 기지국의 호출에 대하여 응답할때, 위치 등록 시, 상향 링크 문자 메시지 전송 등에 사용된다.



4. 국내 이동통신 주파수 현황

2011년 7월 국내에서 처음 상용 서비스를 시작한 LTE는 현재 1300만명의 가입자를 돌파하는 등 빠르게 확대하고 있다. 유럽의 경우에는 아직도 많은 이동통신사업자와 고객들이 3G에 만족하고 있다. 하지만 올해 말까지는 54개 사업자가 추가로 LTE를 구축할 예정이어서 연말에는 총 159개의 LTE 사업자가 등장할 전망이며, 올해를 기점으로 LTE 사업자가 폭발적으로 늘어나고 날 것이다.

<국내 LTE 주파수현황 - 하향링크 기준주파수표>
 


<이동통신사 주파수 현황>

현재는 국제적으로 LTE주파수가 난립하는 중에 상대적으로 1.8GHz대를 사용하는 이동통신사가 제일 많고 주목받지만, 장기적으로는  2.1GHz가 핵심이 되고 통일될 전망이다.
WCDMA에서는 독립적인 주파수채널 1FA마다 위한 하드웨어 증설이 필요하지만, LTE에서는
하드웨어 증설이 없어도 유연하게 조절가능 하다.


5. CDMA

전파방해(jamming)와 잡음환경에서의 직접대역확산 BER 계산






 
%DS_SS.m
% To simulate a QPSK/DS-SS communication system
clear, clf
gm=[2 5];   % A PN sequence
 
if sum(gm>1)>0, g(gm)=1;            % say, if gm=[1 2 4 5]
 else g=gm;                               % g=[1 1 0 1 1]
end
m=length(g); N=2^m-1;               % m=5, N=31
x=[zeros(1,m-1) 1]; x=x(end:-1:1);   % x=[0 0 0 0 1]→[1 0 0 0 0]
code1=x;
for i=m+1:N
xx(i,:)=[x(2:m) g(1:m-1) x(1)];
code1(i)=x(1); x=[rem(x(2:m)+g(1:m-1)*x(1),2) x(1)];
end
 
Nc=length(code1); % PN code length (Number of chips per message bit)
b=2; M=2^b;              % QPSK
Tb=1; Ts=b*Tb; Tc=Tb/Nc; % Bit/Symbol/Chip time
 
N=4; T=Tc/N;           % Sampling Period (subinterval in Tc)
Ns=b*N*Nc;             % Number of samples in one symbol
 
Es=2; sqEs=sqrt(Es);   % Energy of signal waveform
ss=[0 0; 0 1; 1 1; 1 0]; phases=2*pi/M*[0:M-1];  % Set of symbols
 
wc=2*Nc*pi/Tb;  t=[0:Ns-1]*T;  s2sT=sqrt(2/Ts);         % wc : 2*pi/Tc (Tc 동안 f=1)
SNRbdBt=0:0.1:10; pobet= prob_error(SNRbdBt,'PSK',b,'BER');
SNRbdBs=[3 6 9]; PJ=0.04;  MaxIter=20000;
for i_DS=1:2 % DS coding or not
   if i_DS==1, code1s=ones(1,Ns);                       % No DS
    else  code1s=reshape(ones(b*N,1)*(2*code1-1),1,Ns); % PN-DS coding
   end     
   for m=1:M % (Possibly PN-coded) QPSK signal waveforms
     sw(m,:)=sqEs*s2sT*code1s.*cos(wc*t+phases(m));    % sw=sqrt(E)*su , su^2=1
   end
 
   figure(2)
   R_f=fftshift(fft(sw(1,:)))/Ns; R_f=[R_f R_f(1)];
   subplot(3,1,i_DS); plot(-1/(2*T):1/T/Ns:1/(2*T), abs(R_f));
 
   suT= s2sT*T*[code1s.*cos(wc*t); -code1s.*sin(wc*t)]; 
   for i_SNR=1:length(SNRbdBs) % Range of SNRdB
      SNRbdB=SNRbdBs(i_SNR);  SNRb=10^(SNRbdB/10);
      sigma2=(Es/b)/SNRb;  sgmsT=sqrt(sigma2/T);
      Jamming_amp=sqrt(PJ/T);        %  전파방해 신호
      y= zeros(2,Ns); % Buffer size amounting to 1 symbol time
      r= zeros(1,Ns);
      nobe= 0; % Number of bit errors
      for k=1:MaxIter
         i= ceil(rand*M); s=ss(i,:); % transmitted signal      
         for m1=1:b*Nc % Operation per symbol interval Ts
            for m=1:N % Operation per chip interval Tc
               mi=(m1-1)*N+m; tmp=wc*((k-1)*Ns+mi-1)*T;  % tmp =wct (시간구간)
               intfrnc=cos(tmp+pi/6); bp_noise= randn*cos(tmp)-randn*sin(tmp);    
                                                              % Interference & band pass noise
               rNs= sw(i,mi) +sgmsT*bp_noise +Jamming_amp*intfrnc;         
               r=[r(1,2:Ns) rNs];
               y=[y(:,2:Ns) suT(:,mi)*rNs]; % Inside correlator 
            end
         end
 
         ycsk=sum(y')'; % Sampled correlator output - DTR input
         th= atan2(ycsk(2),ycsk(1));
         if th<-pi/M, th=th+2*pi; end
         [themin,lmin]= min(abs(th-phases)); % Eq.(7.3.9)
         d= ss(lmin,:); % Detected data bits
         nobe=nobe+sum(s~=d); % Number of bit errors in a detected symbol
         if nobe>100, break; end
      end  
      pobe(i_DS,i_SNR)=nobe/(k*b);
   end
end
fprintf('\n SNRbdB= %5.2f   %5.2f   %5.2f (Jamming power=%5.2f)', SNRbdBs,PJ)
fprintf('\n    BER= %6.4f  %6.4f  %6.4f (Without PN coding)', pobe(1,:))
fprintf('\n    BER= %6.4f  %6.4f  %6.4f (With PN coding)\n', pobe(2,:))

figure(1)
subplot(2,2,1); plot(t, sw(1,:)); title(num2str(ss(1,:)));
subplot(2,2,2); plot(t, sw(2,:)); title(num2str(ss(2,:)));
subplot(2,2,3); plot(t, sw(3,:)); title(num2str(ss(3,:)));
subplot(2,2,4); plot(t, sw(4,:)); title(num2str(ss(4,:)));
figure(2)
R_f=fftshift(fft(r))/Ns; R_f=[R_f R_f(1)];
subplot(3,1,3); plot(-1/(2*T):1/T/Ns:1/(2*T), abs(R_f));
figure(3)
semilogy(SNRbdBt,pobet, SNRbdBs,pobe(1,:),'x', SNRbdBs,pobe(2,:),'o')
 

결과> SNRbdB=  3.00    6.00    9.00 (Jamming power= 0.04)
    BER= 0.2730  0.2853  0.3137 (Without PN coding)
    BER= 0.0706  0.0193  0.0023 (With PN coding)






6. OFDM

16-ary QAM coding 과 FFT를 기반으로 한 OFDM 통신시스템




 
%do_OFDM0.m
% simulates an OFDM system with Nfft=128-subcarrier DFT and 2^4=16-QAM
% where a frame (block) carries Nfft/2*4 (message) bits
%Copyleft: Won Y. Yang, wyyang53@hanmail.net, CAU for academic use only
clear, clf
Nfft=128; Nffth=Nfft/2;  % FFT size and its half
b=4; Nblock=Nffth*b; % 2^b QAM and Number of message bits per block
Ng=16; % # of samples of guard interval (consisting of prefix/suffix)
g=[0 0 1 0.1 0]; lc=length(g); % Channel response and its length
[gmax,d1]=max(g); d=d1-1; % Estimate of Channel delay
%d=d-1; % Wrong estimate of channel delay for STO effect
Nsym=Nfft+Ng; % Length of OFDM symbol
lx=Nsym*(1+ceil(lc/Nsym)); % Length of x
% This must be greater than or equal to the effective length of
% channel response g
x=zeros(1,lx); % Buffer of transmitted sequence
ly=lx+Nsym; % Length of y >= x + one OFDM symbol size
y=zeros(1,ly); % Buffer of received vector
SNRbdB=7; SNRb=10^(SNRbdB/10);
sigma=sqrt(1/(SNRb*Nblock));
 
nobe=0;  MaxIter=10000;  Target_no_of_error=10;
for iter=0:MaxIter
 
   msg=randi(2^b-1,Nblock/b,1)';
   msgg=bin2gray(msg,'qam',2^b);
   msgb=dec2bin(msgg)';
   msgb=msgb(:)';
   S=qammod(msg,2^b,0,'gray');
 
   for i=2:Nffth,  X(i)=S(i);  X(Nfft-i+2)=X(i)';  end % Eq.(11.1.2)
   X(1) = real(S(1));  X(Nffth+1) = imag(S(1));
   xn = real(ifft(X,Nfft));  % Eq.(11.1.3)
   % To update the modulated sequence x to be transmitted  
   x = [x(1+Nsym:lx) xn(Nfft-Ng+1:Nfft) xn]; % Add CP  
   % To update the received sequence r
   y(1:ly-Nsym) = y(1+Nsym:ly);
   for n=Nsym:-1:1
      n1 = ly+1-n;
      y(n1) = sigma*randn;     
      for n2=1:min(lx+1-n,lc)
         y(n1) = y(n1) + x(lx+2-n-n2)*g(n2)/gmax; % Eq.(11.1.6)
      end
   end     
   y1=y(lx+d-Nfft+1:lx+d); % Removing/neglect the CP and
   %keps=0.01; y1=y1.*exp(j*2*pi*keps/Nfft*[0:Nfft-1]); % CFO effect
   Y = fft(y1,Nfft); % take the FFT
   Sd=Y; Sd(1)=real(Y(1))+j*real(Y(Nffth+1));
   plot(Sd+j*eps,'.'), hold on  % Received signal constellation
   % QAM demodulation
  
   detected=qamdemod(Sd(1:Nffth),2^b,0,'gray');
   detectedg=bin2gray(detected,'qam',2^b);
   detectedb=dec2bin(detectedg)';
   detectedb=detectedb(:)';
 
   if iter>0
     nobe = nobe + sum(detectedb~=msg0);
     if nobe>Target_no_of_error, break; end
   end
   msg0 = msgb;
end
pobe = nobe/(iter*Nblock);
fprintf('pobe= %1.5f\n',pobe);
figure(2), plot(y)
figure(3), pwelch(y)
 

결과> pobe= 0.00035


6. LTE 주요특징

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


LTE 주요 특징
1. 다중접속 기술
  ○ 하향링크 : OFDM,
  ○ 상향링크 : SC-FDMA
2. AMC(Adaptive Modulation and Coding)
  ○ 하향링크 : QPSK, 16 QAM, 64 QAM
  ○ 상향링크 : QPSK, 16 QAM
  ○ Turbo 부호 : 1/3부호화율
3. 공간다중화 기술
  ○ 다중 사용자 MIMO 지원



※ 참고사이트
1. www.rfdh.com/tech/cdma.htm
2. 이동통신기술의진화to LTE / MIMO청강문화산업대학모바일아카데미2011년7월