https://www.youtube.com/watch?v=CVfksjKuaPQ
다들 보는거 추천 겁나 웃김ㅋㅋㅋㅋㅋ거실에 돌아다니면, 선물 받고 몸이 뚫려요~
문제 파일을 받으니..
심지어 뭔가..우주에서 보내는..신호같은.,.그런 느낌적인 느낌의.....wav 파일이었다....
이게...이게 산타할아버지의 우주 선물,,,? 화성에서 온 일런머스크 산타할아버지 뭐 그런건가?
https://noaa-apt.mbernardi.com.ar/how-it-works.html
어떻게 동작하는지 알려주는데...어..엄청난...숫자와..최신(?) 과학기술로 하는듯;;; 쩐다
NOAA-15 위성에서 수신한 APT(Automatic Picture Transmission) 신호를 디코딩하는 과정은 위성의 아날로그 무선 신호를 디지털 이미지로 변환하는 과정을 포함합니다. 이 과정은 크게 신호 처리, 디코딩, 그리고 이미지 생성의 세 단계로 나눌 수 있습니다.
1. 원리 요약
- WAV 파일로 샘플 로드:
- 위성에서 수신한 RF 신호를 녹음한 WAV 파일로 작업을 시작합니다.
- 일반적으로 11025Hz, 44100Hz 또는 48000Hz로 샘플링된 오디오 파일이 사용됩니다.
- 리샘플링:
- WAV 파일에서 추출된 데이터를 NOAA APT 신호의 표준 샘플 속도인 20800Hz로 리샘플링합니다.
- 리샘플링 과정:
- 입력 샘플 속도와 출력 샘플 속도의 최대 공약수(GCD)를 계산.
- Interpolation (L): 입력 샘플 속도에서 초과 샘플을 생성.
- Decimation (M): 필요 없는 샘플을 제거.
- 저역 통과 필터를 적용하여 리샘플링 시 발생하는 앨리어싱(왜곡)을 제거.
- AM 디모듈레이션:
- APT 신호는 AM 변조(Amplitude Modulation) 방식으로 전송됩니다.
- 디모듈레이션을 통해 신호의 진폭 정보를 추출하고 이를 APT 신호로 변환합니다.
- APT 신호 분석:
- APT 신호는 밝고 어두운 **동기 프레임(sync frame)**으로 시작하며, 이 프레임은 이미지의 스캔 라인을 정렬하는 데 사용됩니다.
- 동기 프레임의 위치를 확인하기 위해 **교차 상관 분석(Cross-Correlation)**을 사용합니다.
- 동기 프레임 위치를 찾으면, 각 샘플을 스캔 라인으로 매핑합니다.
- 이미지 생성:
- 디코딩된 APT 신호를 밝기 값(0~255)으로 매핑합니다.
- 각 동기 프레임에서 새로운 스캔 라인을 시작하며, 이를 통해 2D 이미지가 생성됩니다.
- 지도 오버레이 추가:
- 이미지 위에 지리적 위치를 기반으로 하는 지도(Overlay)를 추가합니다.
2. 단계별 설명
1) 샘플 로드
APT 신호는 일반적으로 FM 변조된 RF 신호로 수신됩니다. SDR(Software-Defined Radio)을 사용해 이 신호를 캡처하고 WAV 파일로 저장합니다.
- 샘플 속도: 44100Hz 또는 48000Hz.
- 저장된 WAV 파일은 NOAA-15에서 전송된 원시 데이터를 포함합니다.
2) 리샘플링
APT 신호의 표준 샘플 속도는 20800Hz입니다. 따라서 입력 WAV 파일을 이 속도로 리샘플링해야 합니다.
- 리샘플링 과정:
- 최대 공약수(GCD) 계산:
- 입력 샘플 속도와 출력 샘플 속도의 GCD를 사용하여 L(interpolation factor)와 M(decimation factor)을 계산합니다.
- Interpolation:
- 각 샘플 사이에 L-1개의 0을 삽입하여 샘플 속도를 증가시킵니다.
- Lowpass Filtering:
- 저역 통과 필터를 적용하여 샘플 간의 매끄러운 연결을 보장하고 앨리어싱을 방지합니다.
- Decimation:
- 필요 없는 샘플을 M 간격으로 제거하여 최종 샘플 속도를 20800Hz로 맞춥니다.
- 최대 공약수(GCD) 계산:
3) AM 디모듈레이션
APT 신호는 AM 변조 방식으로 전송됩니다.
- 디모듈레이션 과정:
- 각 샘플의 진폭을 계산합니다.
- 신호의 진폭 변화가 이미지의 밝기 정보를 나타냅니다.
4) 동기 프레임 탐지
APT 신호는 주기적으로 나타나는 밝은 흰색과 검은색 동기 프레임이 포함됩니다.
- 동기 프레임 탐지 방법:
- APT 신호와 하드코딩된 동기 프레임 패턴 간의 교차 상관 분석을 수행합니다.
- 교차 상관 값이 최대값을 나타내는 위치를 찾아 동기 프레임의 시작 지점을 결정합니다.
5) 이미지 생성
- **각 샘플을 밝기 값(0~255)**으로 매핑합니다.
- 동기 프레임마다 새로운 스캔 라인을 시작하여 이미지를 생성합니다.
6) 지도 오버레이 추가
- 위성의 궤도 데이터를 사용해 이미지에 지리적 위치를 계산하고 지도 오버레이를 추가합니다.
- 궤도 데이터를 기반으로 이미지를 회전하여 올바른 방향으로 정렬합니다.
3. 요약
NOAA-15 APT 디코딩은 다음과 같은 과정을 따릅니다:
- WAV 파일 로드: SDR로 수신한 RF 신호를 WAV 파일로 로드.
- 리샘플링: 20800Hz로 샘플링 속도 조정.
- AM 디모듈레이션: 진폭 정보를 추출하여 밝기 값으로 변환.
- 동기 프레임 탐지: 교차 상관 분석을 통해 스캔 라인 정렬.
- 이미지 생성: 밝기 값을 매핑해 이미지 생성.
- 지도 오버레이: 지리적 데이터를 기반으로 지도 추가.
이 원리를 기반으로 Python 라이브러리(numpy, scipy)나 APT 전용 디코더를 구현할 수 있습니다. 궁금한 점이 있으면 더 자세히 설명해드릴게요! 😊
쩐다...이게..universe..?
아름다운 날이군..이런날엔 볼링 치러가야지 ㄹㅇㅋㅋ
'Dreamhack > Dreamhack Wargame (Challenge)' 카테고리의 다른 글
[132] IT 비전공자 [dreamhack]STREAMer-Prototype문제 풀기 (0) | 2025.01.20 |
---|---|
[131] IT 비전공자 [dreamhack]Grand Theft Auto문제 풀기 (0) | 2025.01.19 |
[129] IT 비전공자 [dreamhack]Replace Trick!문제 풀기 (0) | 2025.01.17 |
[128] IT 비전공자 [dreamhack]What is This???문제 풀기 (0) | 2025.01.16 |
[127] IT 비전공자 [dreamhack]angry_darim문제 풀기 (0) | 2025.01.15 |