어느덧 새해가 밝았습니다. 나라가 이제 정상화되는 중이고, 좋은 일이 계속되길 희망합니다.
블로그 방문하시는 여러분 모두가 올해는 대박나고 즐겁고 신명나는 한해가 되세요!
올해 블로그의 초점은 SDR에 대한 것임을 밝힙니다.
PySDR: A Guide to SDR and DSP using Python
PySDR: A Guide to SDR and DSP using Python
pysdr.org
구체적인 목표는 위 pySDR를 최대한 공부하고 소화하여 정리하는 것이 첫째고, 이것과 관련된 실제 RF 사례를 여러분께 소개하고 이해를 돕고자하는 것이 둘째입니다.
다만, 매년 체력과 집중력 저하가 더해 지는 것 같아 조금 걱정이고, 한편으로 하루 빨리 내 관심분야에 에너지를 집중해 포스팅해야겠다고 자꾸 조바심도 납니다. 아무튼 공표를 했으니, 뭐라도 해야겠죠?!ㅎㅎㅎ
① DSP (Digital signal processing, 디지털 신호 처리)
디지털화된 신호를 원하는 방향으로 정보 신호를 수정하거나 개선할 목적으로 알고리즘에 의해 수치적으로 처리하는 것을 말한다. DSP 응용 분야에는 오디오 및 음성 처리, 수중 음파 탐지기, 레이더 및 기타 센서 어레이 처리, 스펙트럼 밀도 추정, 통계 신호 처리, 디지털 이미지 처리, 데이터 압축, 비디오 코딩, 오디오 코딩, 이미지 압축, 통신용 신호 처리, 제어 시스템, 생물 의학 공학, 지진학 등이 있습니다.
② SDR (Software defined radio , 소프트웨어 정의 라디오)
전통적으로 하드웨어에 의해 수행되었던 신호 처리 작업을 최대한 소프트웨어로 사용하는 것, 쉽게 얘기해서 컴퓨터로 만든 무전기를 말한다. 기존의 무전기는 각종 전자부품을 납땜하여 고정적인 기능이었다면, SDR 라디오는 그 복잡한 회로기판의 기능을 초소형 범용 컴퓨터가 소프트웨어적으로 신호처리를 다 하기 때문에, 소프트웨어만 교체하면 무전기 성능을 바꿀 수 있다.
③ IQ sampling
마이크는 전기로 변환되는 음파를 캡처하고 해당 전기는 다시 숫자로 변환된다고 알고 있습니다. 그런데 SDR은 놀라울 정도로 이와 유사합니다. 단지 마이크 대신 안테나를 사용하는 것이 다르지 ADC도 사용합니다.
송신기 관점에서 단일 사인파를 보내고 싶을 때, 위상이 0인 sin, cos의 합을 전송하는 것이 가능합니다. 즉 cos와 sin을 추가하면 위상과 진폭이 다른 또 다른 순수 사인파를 얻을 수 있다는 점이 중요합니다.
I·cos(x) + Q·sin(x) = A ·cos(x-th)
이 동작의 "유용성"은 진폭 I와 Q를 조정하여 결과 사인파의 위상과 진폭을 상대적으로 쉽게 제어할 수 있다는 것입니다.
IQ변환은 신호의 진폭과 위상을 표현하는 대안이고, 궁극적으로 복소수가 IQ샘플이 된다.
즉 0.7 -0.4i = 0.7·cos(2πft) - 0.4·sin( 2πft) = 0.806·cos(2πft -0.519th) = 0.806∠-0.519

수신기 측은 두 개의 ADC를 사용하여 I 및 Q 분기를 개별적으로 샘플링한 쌍을 결합하여 복소수로 저장하는 것입니다.
2MHz 샘플 속도로 실행되는 SDR는 초당 200만 개의 IQ 샘플을 수신한다는 뜻 입니다.
④ 평균전력과 파워스펙트럼
이산복소신호, 즉 샘플링한 신호의 경우 제곱한 다음 평균을 구하면 평균전력을 구할 수 있다.
avg_pwr = np.mean(np.abs(x)**2)
특별히 평균이 0일 경우, 분산은 평균전력과 계산과 같다.
avg_pwr = np.var(x) # (signal should have roughly zero mean)
PSD(Power Spectral Density)는 주파수 영역에서 신호를 시각화하는 데 매우 유용한 도구이며 많은 DSP 알고리즘이 주파수 영역에서 수행됩니다.
그럼 마지막으로, sinusoid at 50 Hz 톤 신호 x = np.exp(1j*2*np.pi*50*t)와 unity power 잡음 n = (np.random.randn(N) + 1j*np.random.randn(N))/np.sqrt(2) 의 PSD = np.abs(np.fft.fft(x+n))**2/(N*Fs)는 어떻게 될까?

PSD 상에서도 50Hz, 0 dBW(평균전력 1) 톤 신호를 관찰할 수 있네요.
<참고자료>
1. Digital signal processing - Wikipedia
'통신이론' 카테고리의 다른 글
필터, 펄스성형 소개 (0) | 2025.03.22 |
---|---|
디지털 QPSK 변조, IQ성상도, 위상잡음 (0) | 2025.02.11 |
SNR, THD, SINAD 그리고 C/N 계산하기 (0) | 2024.10.19 |
음향장비 VU미터, dBu, dBFS (0) | 2024.08.23 |
윈도우 환경에서 GNU Radio, gqrx 쉽게 설치 + 맛보기 (0) | 2024.07.10 |