들어가기 전
PHY : Physical Layer의 준말이다.
무선 통신 시스템의 네트워크 구조
1. 802.11 무선랜과 802.3 유선랜(이더넷) 연동 네트워크 구조

single carrier와 multi carrier 전송
1. Single Carrier
1) 장단점
- 구현 간단, 채널 사용 효율 나쁨, 채널 영향 큼.
- 데이터 한개 송신에 넓은 대역폭을 씀
- 채널의 품질이 고르지 못함.

2) Single Carrier의 고주파 변조 방법
데이터를 하나의 주파수에 실어서 높은 주파수의 LO(Local Oscillator)를 곱해서 생성.
* LO = Crystal / 일정하고 빠르게 흔들림
2. Multi Carrier
1) 장단점
- 구현 복잡, 채널 사용 효율 좋음, 채널 영향 상대적으로 작음
- 데이터 N개 송신에 넓은 대역폭을 씀. > N개 데이터 동시전송 가능하다는 뜻
- 각 데이터와 채널 품질이 균등함.

2) Multi Carrier 전송과 OFDM
단순한 Multi Carrier 전송 방법은 FDM 방식 사용임. (Frequency Division Multiflexing)
> 채널 사용 효율을 높이기 위해 멀티 캐리어 간에 직교성(orthogonality)을 유지하며 전송한다. = OFDM 방식
* FDM
주파수 나누어 여러개의 Data를 전송하는 방식. 비효율적
* OFDM
여러 개의 주파수를 겹친 상태(오버랩)로 보내는 방식. 적정 거리만 유지하면 간섭이 없다.
대역폭 50% 절감이 가능 !
OFDM
1. OFDM의 직교성
시간 영역의 구형파를 푸리에 변환하면 주파수 영역에서 sinc 함수가 됨 > 이 방법으로 Multi Carrier를 오버랩 전송
> 델타 f 만큼의 주파수 간격으로 오버랩 되면 직교성 유지 O > 좁은 대역폭으로 효율적인 고속 전송이 가능해짐


2. OFDM 변조 방법
데이터를 오버랩된 여러 개의 주파수에 실어 높은 주파수 LO(=crystal)를 곱해 생성
> 고속 & 고효율 전송이 가능해진 이유

3. OFDM의 subcarrier
OFDM 안의 서브캐리어들은 다른 주파수로 전송되므로 Orthogonal 함. (직교 = 독립적 = 서로 영향 X)
> 각 서브캐리어 간의 subcarrier spacing으로 간격 유지됨.

PHY 송신 구조
1. PHY 역할 및 기능
- 물리 계층 역할: 정보를 강인하고 빠르게 무선채널로 전송
- 물리 계층 기능: Modulation(변조) + Coding(정보추가) + Multiple Antenna
* 변조 1) 고주파로 올림 2) 신호 변경 / 0101 > sinc > 일맥상통한 말 | * 코딩 신호의 정보가 아닌 또 다른 정보 추가 > 에러 정정을 위해 | * 멀티플 안테나 - 태블릿, pc 등에선 intenna 형태 - 대표적 예시 AP - 전송 속도 늘리는 법에는 [대역폭 넓게, 안테나 늘리기] 두 방법이 존재. |

2. 송신단 구조
데이터 스크램블러 > 순방향에러정정(FEC) 인코더 > 컨스텔레이션 매퍼 > IFFT > GI추가 + 윈도윙 > 업컨버터 + 증폭기

Modulation
1. Modulation (변조=keying)
신호를 Amplitude(에너지 크기), Phase(각도), Frequency(주파수)로 표현 / 신호의 주요 특징 3가지 (in 무선전송신호)
1) ASK: Amplitude / A
- 신호가 있고 없음을 1과 0으로 나타냄.
- AM 라디오
* AM방송은 대역폭이 0.01MHz로 좁아 고음질의 음악방송에는 적합하지 않다.

2) PSK: Phase / θ
- 위상을 변경해 줌.

3) FSK: Frequency / f
- 얼마나 빨리 반복하는지 나타냄.
- 1일 땐 주파수 빠름 / 0일 땐 주파수 느림
- FM 라디오
* FM방송은 0.2MHz의 넓은 대역폭을 사용한다. 한번에 많은 정보 전달이 가능하여 고음질의 방송이 가능하다.

* OFDM에서는 ASK, PSK 두 개를 주로 사용하며,
요즘의 무선 통신 네트워크에서는 3가지를 다 사용한다.
2. OFDM의 변조
여러 개의 주파수 신호를 amplitude와 phase로 표현

- A2 = A1 cos(θ): 사인 성분의 크기
- A3 = A1 sin(θ): 코사인 성분의 크기
A1sin(2πft+θ)는 위상 θ를 가진 진동 신호. 이를 sin(2πft)와 cos(2πft)로 분해하면,
시간-위상 신호를 서로 직교하는 두 성분으로 나눌 수 있음

>> 이 식은 푸리에 변환에서 사용됨. 신호를 사인과 코사인의 합으로 표현하면, 주파수 도메인에서 신호를 더 쉽게 처리하거나 분석 가능함.
3. LO(Local Oscillator)
- 주기적인 신호 발생 장치.
- Crystal이라고도 함.
- LO 이용하여 90도 Phase 차이나는 I신호와 Q신호를 생성한다.
>> (I + jQ)복소수 형태의 신호 생성 !

4. 신호 변조
1) BPSK: 1비트의 정보를 전송하기 위해, 크기가 1인 0도, 180도 각도로 신호 변조
2) 16QAM: 4비트 정보를 표현(2^4) > 각도Phase 16가지, 에너지 크기 Amplitude 4가지의 조합으로 신호를 표현한다.
BPSK - 1 bit / 1과 0
QPSK - 2 bit / 00 01 10 11
16QAM - 4 bit / 0000 0001 .
64QAM - 6 bit / 000000 000001 ...
256QAM - 8 bit / 00000000 00000001 ....
1024QAM - 10 bit / 0000000000 0000000001 .....
3) BPSK와 1024QAM 비교
- BPSK는 각 점이 1비트씩 표현하여 정보를 많이 보낼 수 없음. 그러나 점이 단 두개(0,1)이고 간격이 커서,
노이즈가 커도 원하는 점의 구역에 찍힐 확률이 매우 높음
>> 채널 노이즈가 클 때(복잡할 때) 사용함.
- 1024QAM은 각 점이 10비트씩 표현하여 정보를 많이, 빠르게 보낼 수 있지만 채널이 깨끗해야만 효과가 있고,
채널이 복잡하면(노이즈가 크면) 원하는 점의 구간에 들어가지 못 해(다른 점 구간에 찍힘) 에러 발생 확률이 큼
>> 채널 노이즈가 적을 때(깨끗할 때) 사용
결론: 채널을 학습한 후, 채널의 상태에 따라 신호 변조를 달리함.
예시: 유튜브 화질 자동변경

4) Accuracy
Modulation은 Accuracy(정확성)가 중요하다.
> 채널 상태 좋으면 많은 정보를 전송(64QAM 등), 채널 상태 나쁘면 적은 정보를 전송(QPSK 등)

5) OFDM의 정보 표현
- OFDM의 각 subcarrier 들은 서로 다른 정보를 전송하기 위한 amplitude와 phase로 표현됨.
- 각 서브캐리어는 독립적으로 직교(orthogonal)함.
> 서로 다른 amplitude와 phase > 서브캐리어들은 서로 다른 정보 값 가짐.
OFDM 전송
1. OFDM 전송
1) OFDM 심볼
- 데이터 전송하는 시간단위.
- 4 micro second = us 이다.
> 수신기에서 데이터를 처리하는 단위

2) 20MHz 대역폭에서 64개 subcarrier 사용할 때
- subcarrier spacing = 20MHz/64 = 312.5 KHz. > orthogonal 하게 붙이는 간격 / 간섭하지 않는 거리.
- symbol period(duration) = 1/312.5KHz(역수) = 3.2 usec(시간 영역의 길이)
* duration - 지속
3) 다중 경로 페이딩과 심볼간 간섭

스마트폰의 안테나에서 에너지가 전방위로 방사됨.
ㄴ 주변 사물(나무, 건물 등)에 튕겨서 중개기까지 도달함. (직선으로 가는 경우 거의 X)
ㄴ 다중경로 (=메아리)


4) Guard Interval(심볼간 간섭을 줄이기 위한)
- 무선 채널은 다중 경로 페이딩 현상이 발생 > 서로 다른 두 심볼이 중첩 > 심볼 간 간섭 문제를 경감하기 위한 보호구간으로
"Guard Interval"을 둠. (무선랜은 0.8us 정도면 충분)
- 시간 간격(가드 인터벌)을 주면 메아리가 울리는 구간 동안, 아무리 메아리 쳐도 서로 간섭하지 않는다.
** 델타 f는 주파수 간 간섭이 없도록, 가드 인터벌은 같은 시간대에서 간섭이 없도록 하는 개념. **

5) Cyclic Prefix for Guard Interval
- 가드 인터벌에 OFDM 심볼의 일부를 떼어(0.8 마이크로 정도) 앞에 붙이면 성능이 개선됨
- 이 때 사용하는 OFDM 심볼 일부를 Cyclic Prefix라고 함.

5) OFDM 송신기 구현
- multi-subcarrier들의 합으로 표현되고, 이러한 주파수 영역 신호를 시간 영역 신호로 변환하기 위해 IFT(Inverse Fourier Transform)을 활용한다. - 주파수 to 시간 변환에 푸리에 변환 쓴다
6) IFFT(Inverse Fast Fourier Transform)의 원리


OFDM packet
1. OFDM packet 구조
- Short Training Field + Long Training Field + Signal Field + Data OFDM Symbols
- Pilot Subcarrier들이 data symbol에 포함되어 전송.
1) Short Training Field(STF)
송신 측에서 표준의 형태로 만들어 전송하더라도 채널의 상태를 경험하고 수신하도록 되어있다.
ㄴ 즉, STF에서 받는 신호는 채널 상태를 경험한 왜곡된 신호
ㄴ 왜곡 현상으르 반대로 걸어줘서 데이터를 잘 수신하도록 함.
* 주기적인 시퀀스 10개가 붙는다. > 0.8 마이크로 주기 x 10번 = 8 마이크로 세컨드
2) STF의 구조
12개의 subcarrier를 사용하여 0.8us 주기로 10번 반복 전송.
3) STF의 기능
- Carrier sensing
- Automatic Gain Control(AGC)
- Coarse Frequency Acquisition
- Timing Synchronization

t1, t2부분이 Short Training Field, STF임.
STF는 신호를 판단하는 구역이며, 에너지와 상관성을 이용해 신호가 들어오는지 감지함.
만약 신호가 들어온다면 이득제어를 함.
어 근데 왜 이득을 제어함?
ㄴ 무선이라서 AP랑 너무 가까우면 신호가 너무 크게 들어오고, 멀면 너무 작게 들어와서 조절해줘야함.
> STF는 주파수를 대략 잡는 역할이다.
>> 이후 STF가 끝나는 경계를 찾음.
4) Long Training Field(LTF)
두 번 반복된 긴 시퀀스.
데이터 심볼의 데이터 subcarrier 위치에 1 또는 -1 값을 전송 > 채널 보상을 위한 채널 상태 측정용
G12부터 T2까지가 두번 반복된 긴 시퀀스인 LTF에 해당.
>> 데이터 1, 2의 채널이 어떻게 왜곡되어있는지 알 수 있다.

5) Pilot
주황색 신호.
- 앞에 프리엠블이 알려진 신호가 들어오지만, 프리엠블 만으로 보상하기엔 너무 길다.
> 알려진 신호를 중간에 4개 박아두고 amplitude와 phase를 추적함. / 추적과 보상의 역할
그러나 파일럿도 길어지면 정확하게 보상이 되지 않는다. > 알파만큼의 오차
*결국 훈련을 통해 오차를 추적하고 그 오차를 보정하는것이 프리엠블의 역할이며, 파일럿을 이용해 추적하고 보상한다.
2. 20MHz 단위의 대역폭 모드
-20, 30, 80, 80+80, 160MHz 대역폭 모드들은 // 대역폭이 커질수록 파일럿 수의 비중이 줄어듦.
서브캐리어와 파일럿의 수가 모두 다르다.
재전송과 에러정정
1. 재전송(Retansmission = ARQ) in MAC(2계층)
- 수신단에서 수신패킷의 CRC체크하여 Error라고 판단되면 ACK 보내지 않음
> 송신단에서 일정시간 동안 ACK 수신 못 하면 재전송 (타임아웃)
2. 순방향 에러 정정(Forward Error Correction) in PHY(1계층)
- 송신 데이터를 에러 정정 인코딩(정보 추가)해서 전송 > 수신단에서 수신한 데이터를 디코딩하여 에러 정정
3. PHY와 MAC연동 재전송 및 FEC 매커니즘

4. 에러 정정 코딩 종류
- Convolutional Coding: State Machine 기반
- Block Coding: Algebraic 기반
- CC의 Turbo와 BC의 LDPC는 iterative decoder가 필요하다. > latency 문제를 고속 하드웨어 처리로 해결

전송 속도
1. Coding Rate
Information bit와 coded bit의 비율 = info bit / info+coded bit
> 만약 10비트 정보에 coded bit 추가하여 20비트 만들면 1/2 coding rate
* bit를 많이 붙이면?
전송시간이 늘어 throughput이 감소하지만, 에러정정률은 증가

여기서 알 수 있는 점.
coding rate가 높을 수록 Throughput은 증가하고, 에러정정률은 감소한다.
2. Data Rate
데이터 전송률을 결정짓는 요소
modulation, coding rate, guard interval, bandwidth, MIMO stream 수

3. Rate Adaptation = Link Adaptation
- 송신단에서 채널 상태를 학습하여 데이터 전송율을 결정. (채널 상황 따라 전송 속도 조절)
- Restransmission 횟수 = 패킷 에러율 , 수신 신호 파워, 신호대잡음비(SNR) 정보를 이용함.
1)
High Data Rate(채널 깨끗)
+ 높은 modulation(정보비트많음), 낮은 coding rate(스루풋 감소, 에러정정률 증가), MIMO stream, Short GI(스루풋 증가)
= Weak to channel
short GI는 스루풋을 증가시킨다며? 근데 weak to channel에 맞는 건가?
ㄴ 구글링이 잘 안 되어서 야매로 이해해봄. 위에서 무작정 짧은 GI는 다중경로가 짧아져 성능이 낮아진다고 했으니까
아마 여기서의 Short GI는 무작정 짧은 GI가 아닐까 싶음.
2)
Low Data Rate(노이즈 간섭 많)
+ 낮은 modulation, 높은 coding rate(스루풋 증가, 에러정정률 감소), single strem(전송속도 감소), Long GI
= Strong to Channel
single stream: 가상 파이프 통해 하나의 대상으로 이동하는 Data의 양.
3) MIMO
- 여러 스트림 = 여러 안테나
- 더 넓은 대역폭
- 더 작은 Guard Interval의 Data Rate
4) Data Rate 계산 예시
[문제 1]
- 변조 방식: 64QAM
- 서브캐리어 개수: 48개
- 코딩 비율: 3/4
- 심볼 전송 시간: 4μs
- 64QAM = 2^6 > 하나의 서브캐리어당 6비트의 정보 실을 수 있음.
- 6*48 = 288bit/symbol >> 한 심볼에 288bit 실림.
- 288*3/4 = 216 data_bits/symbol >> 한 심볼 당 216의 데이터 비트
+) coding rate: 오류 검출 비트를 뺀 정보 data_bit.
3/4만큼을 실 데이터로 보고 계산. 나머지 1/4는 오류 검출 시 사용.
- 하나의 심볼을 보낼 때 4마이크로sec사용 >> 216data_bit/4usec= 54Mbps (초당 데이터 전송량)
어 근데 마이크로 세크라면서 왜 usec이라고 쓰나요?
마이크로랑 유사하게 생긴 u로 사용한답니다
[문제 2]
- 변조 방식: 16QAM
- 서브캐리어 개수: 48개
- 코딩 비율: 3/4
- 심볼 전송 시간: 4μs
초당 데이터 전송량(속도)은? > 36Mbps
- 16 = 2^4
- 48*4 = 192bits/symbol
- 192*5/6 = 144data_bits/symbol
- 144/4 = 36Mbps
[문제 3]
- 변조 방식: 64QAM
- 서브캐리어 개수: 48개
- 코딩 비율: 5/6
- 심볼 전송 시간: 3.6μs
64 = 2^6
48*6 = 288bits/symbol
288*5/6 = 240data_bits/symbol
240/3.6 = 66.7Mbps
4. 대역폭, MCS, Stream 수와 Capacity(=Throughput)의 관계
** Capacity = BW * log2(1 + S/(N0*BW)) **
Capacity: 용량. 샤론의 최대 전송속도의 수식
BW: BandWidth. 대역폭
N0:잡음 밀도
N0*BW: 잡음 전력
S/(N0*BW): Signal-to-Noise Ratio. SNR 신호대비잡음
S: 신호 전력
[결론 ]
Capacity는 대역폭(BW)에 비례하며, SNR이 높아지면 log_2(1+SNR)값이 증가하여 채널 용량이 더 커짐.
제한된 용량(Capacity)에서 대역폭(BW)과 신호 대 잡음비(SNR)는 Trade-off(트레이드오프) 관계를 가짐.
즉, 대역폭이 증가하면 잡음(N0*BW)도 증가하여 SNR이 감소하는 반면, 대역폭을 줄이면 SNR이 높아질 수 있다.
Capacity 공식: C = BW⋅log_2(1+SNR) / 대역폭과 SNR 모두가 균형적으로 최적화되어야 채널 용량이 최대화될 수 있음을 의미.
PHY 패킷
1. PHY Packet 구조 (1계층)
- PPDU(PHY Protocol Data Unit)과 PSDU(PHY Service Data Unit)

1) PPDU: PHY 계층의 전체 패킷. PHY Header + PSDU(=Payload) + PHY Tailer로 구성됨. 송신에서 물리 신호로 전환되어 전송되는 단위임
2) PSDU: PPDU의 Payload 부분. 진짜 찐막. 진짜 보내는 데이터 정도로 생각하면 됨. MAC 계층에서 전달된 데이터(MPDU)가 들어 있음. 즉, PPDU 안의 진짜 데이터 덩어리임
- PHY Header: 데이터를 어떻게 처리해야 하는지 알려주는 정보가 들어 있음.
- 데이터 길이, 변조 방식, 코딩 방식, 전송률 같은 메타정보를 담고 있음.
- "바디 해석 정보"란, PSDU(데이터)를 제대로 읽고 처리하는 데 필요한 설명서 같은 것임.
결론: PPDU는 패킷 전체, PSDU는 핵심 데이터, PHY Header는 데이터 읽는 방법 알려줌
+ signal
- signal 필드는 패킷이 시작되었다는 신호를 수신기에게 알려줘서, 수신기가 자신을 동기화하고 데이터를 처리할 준비를 할 수 있게 만듦.
- signal 필드가 없으면, 수신기가 어떤 변조나 코딩 방식을 사용할지 몰라 데이터 해석이 불가능해짐.
- Signal 필드에는 데이터의 길이, 변조 방식, 코딩 방식, 전송 속도 같은 정보가 포함되어 있음.
- 수신기는 이 정보를 기반으로 PSDU를 정확히 해석하고 복호화할 수 있음.
- signal 필드는 패킷이 차지할 시간 길이를 알려줘서, 다른 장치들이 해당 채널을 점유하지 않고 기다릴 수 있게 도와줌.
- 이를 통해 충돌 최소화 및 효율적인 자원 사용이 가능함.
2. 패킷 포맷
1) Legacy(11 g/a) : 2000년대. 전송속도 느림
- STF와 LTF에서 캐리어 센싱, 이득제어를 함.
- signal에는 데이터 전송 속도, 변조 방식 등 포함.
2) HT(11 n) : 해킹 방법과 동일
- 위와 동일한 내용 + 기존이 새것을 이해할 수 있도록 표시한 지점이 존재.
- signal에 패킷이 있다고 속이는 정보가 포함됨. > 데이터 복원 시 호환되도록 속이는 정보 존재.
- QBPSK. 90도 돌림 (y축 -1과 1에 점찍힘)
3) VHT(11 ac) : Throughput 큼
- 안테나 대역폭 4배
- BPSK(1비트) + QBPSK
3. 데이터 복원 과정.
- 송신단과 수신단 간의 통신 과정:
- 송신단(Tx)이 데이터를 전송하면, 데이터는 무선 채널을 통해 수신단(Rx)으로 전달됨.
- 무선 채널(Wireless Media)은 다양한 간섭과 왜곡을 발생시킴(페이딩, 잡음 등).
- 수신단은 신호를 처리하여 데이터 복원을 수행해야 함.
- 신호 처리 과정:
- STF (Short Training Field):
- 수신단에서 신호를 추적하고 동기화하는 역할을 함.
- LTF (Long Training Field):
- 채널 상태 정보를 측정하여, 수신단이 신호 왜곡을 보정하도록 도움.
- SIG (Signal):
- 패킷에 포함된 PHY 정보(변조 방식, 전송 속도 등)를 전달하여 수신단이 데이터 복호화를 가능하게 함.
- Pilot:
- 채널 변화를 추적하여 페이딩이나 진폭, 위상 왜곡을 보정함.
- STF (Short Training Field):

[결론]
Pilot은 α와 β를 추정하고 이를 기반으로 수신 신호를 보정하는 데 사용됨.
'네트워크' 카테고리의 다른 글
[컴퓨터네트워크] week7 - 전송계층과 응용계층 (2) | 2024.12.08 |
---|---|
[컴퓨터네트워크] 인터넷 계층의 패킷 분석 실습 (0) | 2024.12.07 |
[컴퓨터네트워크] week6 - 인터넷 계층, IP프로토콜 (0) | 2024.12.07 |
[컴퓨터네트워크] week5 - 네트워크 시스템과 다중화 (1) | 2024.12.02 |
[컴퓨터네트워크] 와이어 샤크 - 네트워크 계층별 패킷 분석 (0) | 2024.12.02 |