이번에는 드디어 디지털 변조에 대해서 알아 볼 텐데,,,
약속대로 연초 목표한 pysdr 에서 적절한 코드를 가져와 해석해 볼게요!
제목은 순서대로 영어로 Quadrature Phase Shift Keying, IQ Plots/Constellations, phase noise 로 표현됩니다.
그럼 이제, 짧은 파이썬 코드를 통해 QPSK 신호를 베이스밴드에서 생성하고, IQ성상도에 표시할게요~!
QPSK는 IQ Plots/Constellations 위에 원 호에서 90도 간격의 4개의 복소 심볼(45 ˚ , 135 ˚ , 225 ˚ , 315 ˚ )로 구성됩니다.
우리는 램덤한 4개의 심볼을 생성(아래 IQ성상도에서 검은 큰점)시키고,
여기에 additive white Gaussian noise (AWGN) 잡음을 추가합니다. 만약 잡음이 너무 크다면 심볼들이 경계(사분면)를 넘어 잘못된 심볼로 판별될 겁니다.
마지막으로 국부 발진기(local oscillator) 내의 위상 지터(jitter)로 인해 발생할 수 있는 위상 잡음(phase noise)을 추가하여 시뮬레이션해 보겠습니다.
참고로,,, 위상잡음의 표현 예를 들면, 60 dBc/Hz at 1kHz 즉 캐리어 중심주파수(fc) 대비 1kHz offset된 곳에서 Hz당 전력비가 60dB 차이난다는 의미입니다. phase noise = carrier f power - offset f power - 10log(RBW)
여기서 QPSK 심벌 에너지 Es = 1 가 됩니다. (잡음전력은 0.01) 그래서 r.var() = 1.01 에 수렴하고요.
오늘은 간단히 이정도 몸만 풀기로 할게요. 여러분 안녕! 다음에 봐요~
<참고자료>
1. Digital Modulation | PySDR: A Guide to SDR and DSP using Python
4. 위상 잡음(Phase Noise)과 위상 지터(Phase Jitter)란?
5. Jitter - Part1. 지터(Jitter.. : 네이버블로그
'통신이론' 카테고리의 다른 글
필터, 펄스성형 소개 (0) | 2025.03.22 |
---|---|
파이썬을 이용한 SDR과 DSP 소개 (0) | 2025.01.18 |
SNR, THD, SINAD 그리고 C/N 계산하기 (0) | 2024.10.19 |
음향장비 VU미터, dBu, dBFS (0) | 2024.08.23 |
윈도우 환경에서 GNU Radio, gqrx 쉽게 설치 + 맛보기 (0) | 2024.07.10 |