2023. 11. 27. 10:39ㆍ드론
드론 ID 신호에는 9 개의 OFDM(직교 주파수 분할 다중화) 심볼이 포함되어 있다. 가끔 드론 ID 신호에는 8 개의 OFDM 심볼이 포함되기도 한다. 그러나 복조에는 첫 번째 심볼이 버려지는 9 OFDM 시스템에서도 8 개의 OFDM 심볼만 필요하다.
첫 번째와 마지막 OFDM 심볼의 크기는 80 이고, 중간 심볼들의 크기는 72 이다(예: [80, 72, 72, 72, 72, 72, 72, 72, 80]). 포착된 후에, DJI 드론 ID 신호는 디지털 신호 처리를 사용하여 복조될 수 있다. 복조 단계는 dji_droneid GitHub 저장소에 제공되며 다음과 같다:
1. 드론 ID 시작 부분 식별하기
2. 저역 통과 대역 필터 생성하기
3. 대략적인 주파수 오프셋 보정 적용하기
4. OFDM 심볼 추출하기(순환 접두사 제외)
5. 채널 임펄스 속도 측정하기
6. QPSK(사분면 위상 변이 키잉)를 비트로 양자화하기 7. 비트 스크램블 해제하기
8. 터보 디코더 및 비율 매칭
9. 프레임 해제하여 바이트 변환하기
GitHub 저장소는 MATLAB/Octave 코드로 작성되었으며 연구를 위해 Ettus B205-mini SDR(1345 달러)를 사용했다. 이 연구 논문에서는 복조 단계를 Python 으로 변환했다. 이 논문에서 이어지는 알고리즘은 각 단계를 파이썬의 의사 코드로 개요를 설명하고 있다.
드론 ID 의 시작에서는 알고리즘 1 이 루트 인덱스와 시퀀스 길이를 가진 (Zadoff-Chu, ZC) 시퀀스를 생성한다. 드론 ID 내에는 ZC 시퀀스를 가진 두 개의 OFDM 심볼, 즉 4번째와 6번째 심볼이 있다. OFDM 심볼 4의 루트 인덱스는 600이고, OFDM 심볼 6의 루트 인덱스는 147이다.seqLen은 601인데, 이는 계산식이 홀수 개의 샘플에만 작동하기 때문이다. 계산 후 중간 샘플(300 번째)은 제거된다. 그 다음에 이 시퀀스는 데이터 캐리어(버퍼 내)에 적용된다. 버퍼는 중앙에 0 값이 위치하도록 이동되고, 역 푸리에 변환이 발생한다. 이 알고리즘의 결과는 루트 인덱스로 이동된 600 길이의 ZC 시퀀스(zadoffChuSeq)를 산출한다.

알고리즘 2 는 NumPy 의 correlate 함수를 사용해서 OFDM 심볼 4 에 있는 ZC 시퀀스를 찾는 작업을 수행한다. 이 과정에서는 32 비트 부동 소수점 IQ 데이터(iqData)를 사용한다. 먼저 crossCorrelation 에서 가장 큰 피크를 찾는다. 이때 신호 강도에 따라 최소값과 최대값을 조절해가며 findPeaks 함수를 사용한다.
가장 큰 피크를 찾은 후에는 드론 ID 버스트의 시작 지점(startBurst)을 찾기 위해 네 개의 OFDM 심볼 길이만큼 거슬러 올라간다. 이후 startBurst 부터 burstDuration 까지의 구간을 잘라내어 깨끗한 드론 ID 버스트를 추출한다. 이렇게 하여 드론 ID 버스트의 시작점과 지속 기간을 정확하게 식별한다.

저역통과 대역폭 필터
알고리즘 3은 드론 ID 버스트에 저역통과 대역폭 필터를 적용한다. 이 필터 기능은 신호 패키지에서 제공된다. 필터 윈도우 firWin 은 드론 ID 버스트의 대역폭(bw)과 샘플률(sampRate)에 맞게 설계되며, 그 길이는 51 이다. filterTaps 객체는 저역통과 대역폭 필터로, 드론 ID 버스트에 적용되어 filteredBurst 라는 결과를 만들어낸다.

그림 7 은 저역통과 대역폭 필터의 그래픽 결과를 보여준다. 이 그래프는 로그 스케일로 드론 ID 의 크기(제곱된 값)를 표시했다. 여기서 '로드 스케일'이란 값의 범위가 넓을 때 작은 변화도 잘 보이도록 하는 방식을 말한다. 드론 ID 의 신호 강도가 제곱되어 그래프에 나타나므로, 작은 변화도 크게 보이게 되고, 이를 통해 드론 ID 신호의 세부적인 특성을 더 잘 파악할 수 있다. 이 그래프는 필터링 과정이 어떻게 드론 ID 신호에 영향을 미치는지 보여주는 데 중요한 역할을 한다.

다 자세한 내용은 3편에서 이어진다.
'드론' 카테고리의 다른 글
DJI drone IDs are not encrypted 분석 - 4 (2) | 2024.10.15 |
---|---|
DJI drone IDs are not encrypted 분석 - 3 (2) | 2023.12.05 |
DJI drone IDs are not encrypted 분석 - 1 (1) | 2023.11.27 |