<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>STFT | 윤재혁 | Jaehyeok Yoon</title><link>https://jaehyeokyoon.xyz/tags/stft/</link><atom:link href="https://jaehyeokyoon.xyz/tags/stft/index.xml" rel="self" type="application/rss+xml"/><description>STFT</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ko-kr</language><image><url>https://jaehyeokyoon.xyz/media/sharing.png</url><title>STFT</title><link>https://jaehyeokyoon.xyz/tags/stft/</link></image><item><title>레이더 신호 검출 및 제원 추정</title><link>https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/</guid><description>&lt;h2 id="연구-배경과-필요성"&gt;연구 배경과 필요성&lt;/h2&gt;
&lt;p&gt;레이더 수신기는 단순히 신호가 존재한다는 사실만 알아서는 수신 신호를 충분히 분석할 수 없습니다. Radar pulse train을 분석하려면 pulse가 언제 도착했는지, 얼마나 지속되는지, 어떤 간격으로 반복되는지, 어느 주파수 범위를 점유하는지, 중심 주파수가 어디인지를 함께 추정해야 합니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ToA&lt;/td&gt;
&lt;td&gt;Time of Arrival, pulse가 도착한 시점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PW&lt;/td&gt;
&lt;td&gt;Pulse Width, pulse가 지속되는 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRI&lt;/td&gt;
&lt;td&gt;Pulse Repetition Interval, 인접 pulse 사이의 반복 간격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BW&lt;/td&gt;
&lt;td&gt;Bandwidth, 신호가 점유하는 주파수 범위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fc&lt;/td&gt;
&lt;td&gt;Carrier Frequency, 점유 대역의 중심 주파수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이 parameter들은 pulse timing과 frequency occupation을 정량화하며, 이후 radar signal analysis, waveform recognition, deinterleaving, emitter identification으로 이어지는 기본 정보입니다. 하지만 비협조적 수신 환경에서는 전파 거리, 낮은 송신 전력, interference, multipath, receiver impairment 때문에 수신 SNR이 매우 낮아질 수 있습니다.&lt;/p&gt;
&lt;p&gt;특히 LPI radar는 낮은 송신 전력과 넓은 bandwidth, frequency agility, phase coding 등을 사용해 피탐 가능성을 낮춥니다. 저 SNR에서는 시간 영역 pulse가 noise와 거의 구분되지 않고, time-frequency image에서도 radar ridge와 pulse boundary가 scattered noise에 의해 흐려져 ToA, PW, PRI, BW, Fc의 추정 오차로 이어집니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="저 SNR 레이다 파라미터 추정 문제 흐름"&gt;
&lt;span&gt;Pulse 존재 위치 불명확&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;시간·주파수 경계 왜곡&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Edge 추출 불안정&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;ToA · PW · PRI · BW · Fc 오차 증가&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="문제-정의"&gt;문제 정의&lt;/h2&gt;
&lt;h3 id="wigner-hough-transform-기반-방법"&gt;Wigner-Hough Transform 기반 방법&lt;/h3&gt;
&lt;p&gt;Wigner-Hough Transform 계열 방법은 time-frequency representation의 강한 성분이나 선형 구조를 이용해 radar signal을 추출합니다. 그러나 SNR이 매우 낮아지면 noise peak가 실제 radar component보다 강하게 나타날 수 있고, column maximum이나 line detection 과정에서 noise를 signal로 잘못 선택할 수 있습니다.&lt;/p&gt;
&lt;h3 id="change-point-detection-기반-방법"&gt;Change Point Detection 기반 방법&lt;/h3&gt;
&lt;p&gt;Change Point Detection 기반 방법은 signal이 존재하는 frequency band를 먼저 좁힌 뒤 time-domain change point를 찾습니다. Moderate SNR에서는 효과적일 수 있지만 extremely low SNR에서는 frequency band를 정확하게 찾는 것 자체가 어려워집니다.&lt;/p&gt;
&lt;p&gt;Band를 너무 좁히면 실제 radar component까지 제거하고, 충분히 좁히지 못하면 noise가 그대로 남아 pulse edge가 불명확해집니다. Direct learning 방식도 parameter를 직접 예측할 수 있지만, 저 SNR pulse-train structure를 충분히 보존하지 못하면 시간·주파수 경계가 무너진 상태의 오차를 그대로 학습하게 됩니다.&lt;/p&gt;
&lt;p&gt;따라서 본 연구에서는 모든 문제를 하나의 estimator에 맡기지 않고, pulse가 어디에 있는지 찾고, 구조를 복원하고, 실제 경계를 추출한 뒤, 물리 parameter를 계산하는 단계별 처리 체계로 문제를 분리했습니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="저 SNR 레이다 파라미터 추정의 세부 문제 흐름"&gt;
&lt;span&gt;저 SNR 수신 신호&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;펄스 존재 구간 식별 어려움&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;시간·주파수 경계 왜곡&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;신호 경계 추출 실패&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;ToA · PW · PRI · BW · Fc 추정 오차 증가&lt;/span&gt;
&lt;/div&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/problem-low-snr-pulse-train.png" alt="잡음에 묻힌 저 SNR 레이다 펄스열" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Concept&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 1. 저 SNR 환경에서 pulse train이 noise에 묻혀 pulse 존재 구간과 시간 경계가 불명확해지는 상황.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;후속 parameter estimation 전에 먼저 해결해야 하는 pulse visibility 문제를 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="pulse-presence-detection과-interval-localization"&gt;Pulse Presence Detection과 Interval Localization&lt;/h2&gt;
&lt;p&gt;두 단계는 비슷해 보이지만 서로 다른 문제를 해결합니다. Pulse Presence Detection은 미리 나눈 time slot이 noise only인지 radar pulse를 포함하는지 판단하는 coarse-level binary detection입니다. 이 단계의 질문은 어느 구간을 후속 처리할 것인가입니다.&lt;/p&gt;
&lt;p&gt;Pulse Interval Localization은 pulse가 존재한다고 판단된 구간 안에서 실제 pulse의 시작과 끝 sample 위치를 찾는 fine-level boundary estimation입니다. 이 단계의 결과가 ToA와 PW의 계산에 직접 연결되고, 인접 pulse의 경계를 이용해 PRI를 계산할 수 있게 합니다.&lt;/p&gt;
&lt;p&gt;Pulse presence detection은 어느 구간을 볼 것인가를 결정하고, pulse interval localization은 그 안에서 실제 경계가 어디인가를 결정합니다. 따라서 처음부터 정확한 edge를 찾으려 하기보다 coarse detection과 fine localization을 분리하는 것이 저 SNR 처리에 적합합니다.&lt;/p&gt;
&lt;h2 id="연구-목표"&gt;연구 목표&lt;/h2&gt;
&lt;p&gt;본 연구는 저 SNR 환경에서도 레이다 pulse의 존재 구간과 실제 시간·주파수 경계를 안정적으로 추출하고, 이를 바탕으로 ToA, PW, PRI, Bandwidth, Carrier Frequency를 정확하게 추정하는 것을 목표로 했습니다.&lt;/p&gt;
&lt;p&gt;신호 전체를 하나의 network에 입력해 parameter를 직접 regression하는 대신, Pulse Presence Detection, Pulse Interval Localization, STFT Representation, UNet Denoising, CCA-based Edge Detection, Edge-based Parameter Computation으로 처리 단계를 분리했습니다. 각 단계가 검출, 복원, 구조 추출, 물리 parameter 계산이라는 서로 다른 역할을 담당하도록 설계한 것이 핵심입니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="저 SNR 레이다 파라미터 추정 단계 흐름"&gt;
&lt;span&gt;Pulse Presence Detection&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Pulse Interval Localization&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;STFT Representation&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;UNet Denoising&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;CCA-based Edge Detection&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Edge-based Parameter Computation&lt;/span&gt;
&lt;/div&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/radar-parameters-concept.png" alt="레이다 펄스에서 추정하는 시간과 주파수 파라미터" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Concept&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 2. Radar pulse train에서 추정하는 시간 영역 parameter ToA, PW, PRI와 주파수 영역 parameter BW, Fc를 정리한 개념도.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;연구가 최종적으로 계산하는 시간·주파수 parameter의 의미와 물리적 관계를 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="전체-처리-구조"&gt;전체 처리 구조&lt;/h2&gt;
&lt;p&gt;전체 pipeline은 Received I/Q에서 시작해 Frequency-Domain Pulse Detection, Pulse-Relevant Time Slots, STFT, UNet Denoising, Binarization, CCA-Based Edge Detection, Edge-Based Parameter Computation으로 이어집니다.&lt;/p&gt;
&lt;p&gt;수신 I/Q signal을 바로 parameter estimation에 사용하지 않고 먼저 짧은 time slot으로 나누어 pulse가 존재할 가능성이 높은 구간을 선별합니다. 선별된 구간만 STFT로 변환하고, UNet으로 noise를 억제하면서 radar structure를 복원합니다. Denoised STFT는 binarization과 Connected Component Analysis를 거쳐 noise component와 radar component가 분리됩니다.&lt;/p&gt;
&lt;p&gt;Deep learning은 signal structure를 복원하는 데 사용하고, 최종 radar parameter는 복원된 구조의 물리적 경계에서 계산했습니다. 따라서 모델 하나가 ToA, PW, PRI, BW, Fc를 직접 출력하는 구조가 아니라 detection, localization, denoising, edge extraction, physical computation이 연결된 hybrid processing chain입니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="저 SNR 레이다 파라미터 추정 전체 processing chain"&gt;
&lt;span&gt;Received I/Q&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Frequency-Domain Pulse Detection&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Pulse-Relevant Time Slots&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;STFT&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;UNet Denoising&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Binarization&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;CCA Edge Detection&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Parameter Computation&lt;/span&gt;
&lt;/div&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/processing_framework.png" alt="저 SNR 수신 I/Q 신호를 파라미터 추정으로 연결하는 처리 흐름" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Method&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 3. 수신 I/Q를 frequency-domain pulse detection, STFT, UNet denoising, binarization, CCA edge detection, parameter computation으로 연결한 전체 processing chain.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;딥러닝과 신호처리의 역할을 분리해 복원된 구조에서 물리 parameter를 계산하는 흐름을 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="왜-주파수-영역에서-pulse를-먼저-찾았는가"&gt;왜 주파수 영역에서 Pulse를 먼저 찾았는가&lt;/h2&gt;
&lt;p&gt;저 SNR에서는 time-domain waveform을 보면 signal amplitude가 noise와 거의 구분되지 않을 수 있습니다. 하지만 radar signal은 전체 observation bandwidth에 균일하게 퍼진 noise와 달리, frequency domain에서 상대적으로 특정 frequency range에 energy가 집중되는 특성이 남을 수 있습니다.&lt;/p&gt;
&lt;p&gt;따라서 수신 signal을 짧은 time slot으로 나눈 뒤 각 slot의 frequency-domain amplitude를 이용해 pulse presence를 판단합니다. 이 단계의 목적은 정확한 edge를 바로 찾는 것이 아니라 후속 STFT, UNet, CCA 처리를 수행할 필요가 있는 구간만 선별하는 것입니다.&lt;/p&gt;
&lt;p&gt;이를 통해 noise-only region을 줄이고 불필요한 time-frequency processing을 감소시키며, 후단 edge detection이 pulse-containing region에 집중하도록 합니다.&lt;/p&gt;
&lt;h2 id="frequency-domain-pulse-detection"&gt;Frequency-Domain Pulse Detection&lt;/h2&gt;
&lt;p&gt;Frequency-Domain Pulse Detector(FPD)는 단순 threshold detector가 아니라, 수신 pulse train을 여러 non-overlapping time slot으로 나눈 뒤 각 slot의 amplitude spectrum을 lightweight 1D CNN 기반 detector에 입력하는 구조입니다. Detector는 Pulse-containing slot과 Noise-only slot을 구분합니다.&lt;/p&gt;
&lt;p&gt;Time-domain amplitude만 이용하는 것보다 저 SNR에서 남아 있는 spectral concentration을 활용하는 것이 핵심입니다. FPD의 출력은 pulse가 존재할 가능성이 높은 slot과 edge-inclusive region이며, 이 결과가 후속 STFT와 denoising의 입력 범위를 결정합니다.&lt;/p&gt;
&lt;p&gt;즉 FPD는 최종 parameter를 계산하는 단계가 아니라, 분석할 구간을 먼저 좁혀 후속 처리의 안정성과 효율을 높이는 coarse detection 단계입니다.&lt;/p&gt;
&lt;h2 id="왜-stft를-사용했는가"&gt;왜 STFT를 사용했는가&lt;/h2&gt;
&lt;p&gt;Parameter estimation에서는 pulse 시작·종료 시점, pulse duration, pulse 간 시간 간격, occupied frequency range, center frequency를 함께 관찰해야 합니다. STFT는 time axis와 frequency axis를 동시에 표현하므로 pulse의 시간적 boundary와 frequency occupation을 하나의 representation에서 분석할 수 있습니다.&lt;/p&gt;
&lt;p&gt;본 연구에서 STFT는 딥러닝 classifier용 이미지가 아니라, 물리적 시간·주파수 경계를 추출하기 위한 중간 representation입니다. 따라서 이후 UNet이 radar ridge와 pulse boundary를 복원할 수 있을 정도로 구조가 보존되는지가 중요합니다.&lt;/p&gt;
&lt;h2 id="unet-based-denoising"&gt;UNet-Based Denoising&lt;/h2&gt;
&lt;p&gt;저 SNR STFT에서는 signal ridge 주변뿐 아니라 image 전체에 random noise component가 나타납니다. 이 상태에서 threshold나 CCA를 바로 적용하면 noise component가 radar structure로 남거나, 실제 pulse edge가 여러 조각으로 끊길 수 있습니다. 따라서 edge extraction 전에 time-frequency representation을 먼저 복원해야 합니다.&lt;/p&gt;
&lt;p&gt;UNet은 noisy STFT image를 입력으로 받아 clean reference STFT를 target으로 학습하고, radar structure는 유지하면서 noise component를 억제하도록 사용했습니다. Encoder-decoder 구조와 skip connection을 통해 전체적인 time-frequency structure를 복원하면서도 fine boundary information을 보존할 수 있다는 점이 장점입니다.&lt;/p&gt;
&lt;p&gt;UNet의 output은 ToA나 PW 같은 parameter 값이 아니라 denoised time-frequency representation입니다. 최종 parameter는 이 복원 결과에 대해 후단 signal processing을 적용해 계산합니다.&lt;/p&gt;
&lt;h2 id="cca-based-edge-detection"&gt;CCA-Based Edge Detection&lt;/h2&gt;
&lt;p&gt;UNet output을 그대로 parameter 계산에 사용하지 않는 이유는 denoising 후에도 일부 scattered noise component가 남을 수 있기 때문입니다. Radar pulse structure는 noise에 비해 time-frequency domain에서 더 연속적인 component를 형성하는 경향이 있으므로, 복원 결과에서 연결 구조를 추가로 확인해야 합니다.&lt;/p&gt;
&lt;p&gt;Denoised STFT를 Otsu thresholding 등으로 binarization한 뒤 Connected Component Analysis(CCA)를 적용합니다. CCA는 연결된 pixel group을 component로 labeling하고, 너무 작은 component를 제거해 random noise와 radar structure를 분리합니다.&lt;/p&gt;
&lt;p&gt;Frequency hopping이나 Costas처럼 구조가 불연속적으로 보일 수 있는 waveform에는 time·frequency axis의 작은 gap을 보완해 실제 radar structure가 끊기지 않도록 처리합니다. UNet이 noise를 약화시키고 CCA가 남은 구조 중 연속적인 radar component를 선택하는 방식으로 두 단계의 역할을 분리했습니다.&lt;/p&gt;
&lt;h2 id="edge-based-parameter-computation"&gt;Edge-Based Parameter Computation&lt;/h2&gt;
&lt;p&gt;복원된 radar structure에서 추출한 time-axis와 frequency-axis edge를 물리 parameter로 변환합니다. AI가 ToA나 BW를 직접 생성하는 것이 아니라, AI로 복원한 signal structure에서 해석 가능한 edge를 찾고 그 관계를 이용해 계산합니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;영역&lt;/th&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;계산 기준&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Time&lt;/td&gt;
&lt;td&gt;ToA&lt;/td&gt;
&lt;td&gt;pulse의 시작 edge 위치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time&lt;/td&gt;
&lt;td&gt;PW&lt;/td&gt;
&lt;td&gt;동일 pulse의 end edge − start edge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time&lt;/td&gt;
&lt;td&gt;PRI&lt;/td&gt;
&lt;td&gt;인접 pulse의 기준 edge 간 시간 차이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frequency&lt;/td&gt;
&lt;td&gt;BW&lt;/td&gt;
&lt;td&gt;upper frequency edge − lower frequency edge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frequency&lt;/td&gt;
&lt;td&gt;Fc&lt;/td&gt;
&lt;td&gt;upper·lower frequency edge의 중심&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/edge_based_parameter_estimation.png" alt="복원된 레이다 구조에서 펄스 경계와 파라미터를 계산하는 과정" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Method&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 4. 복원된 time-frequency structure에서 pulse의 시간·주파수 경계를 추출하고 ToA, PW, PRI, BW, Fc를 계산하는 과정.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;edge label과 frequency structure를 이용해 물리 parameter를 직접 계산하는 후단 signal-processing 흐름을 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="핵심-아이디어"&gt;핵심 아이디어&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Pulse 존재 구간을 먼저 찾았습니다. 전체 I/Q stream을 모두 time-frequency processing하지 않고, 저 SNR에서도 상대적으로 남아 있는 frequency-domain 특징을 이용해 pulse-containing slot을 선별했습니다.&lt;/li&gt;
&lt;li&gt;Pulse detection과 실제 edge localization을 분리했습니다. “pulse가 이 구간에 있다”는 coarse 판단과 “실제 시작·끝 위치가 어디인가”라는 fine estimation을 분리해 후속 ToA, PW, PRI 계산과 연결했습니다.&lt;/li&gt;
&lt;li&gt;딥러닝은 구조 복원에 집중시켰습니다. UNet이 ToA나 PW를 직접 예측하게 하지 않고, noise에 묻힌 STFT structure를 clean reference에 가깝게 복원하도록 사용했습니다.&lt;/li&gt;
&lt;li&gt;최종 parameter는 signal processing으로 계산했습니다. CCA와 edge-based computation으로 복원된 radar structure의 물리적 경계를 추출하고 이를 ToA, PW, PRI, BW, Fc로 변환했습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="실험-파형-및-파라미터-구성"&gt;실험 파형 및 파라미터 구성&lt;/h2&gt;
&lt;div class="experiment-config"&gt;
&lt;p class="experiment-config-lead"&gt;500 kHz sampling의 pulse train을 기반으로 17개 intrapulse-modulation(IPM) waveform을 구성했습니다. 각 파형을 여러 생성 조건에서 변화시키고 SNR −20~10 dB 범위에서 pulse boundary와 주요 parameter 추정 성능을 평가했습니다.&lt;/p&gt;
&lt;div class="experiment-config-table-wrap" tabindex="0"&gt;
&lt;table class="experiment-config-table"&gt;
&lt;caption&gt;연구 1 시뮬레이션 파형 구성&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th scope="col"&gt;파형군&lt;/th&gt;
&lt;th scope="col"&gt;사용 파형&lt;/th&gt;
&lt;th scope="col"&gt;주요 생성 파라미터&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;FM&lt;/td&gt;
&lt;td&gt;LFM&lt;/td&gt;
&lt;td&gt;&lt;code&gt;B: fs/10–fs/8&lt;/code&gt; · &lt;code&gt;Sweep: Up / Down / Triangle&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FM&lt;/td&gt;
&lt;td&gt;NLFM&lt;/td&gt;
&lt;td&gt;&lt;code&gt;B: fs/10–fs/8&lt;/code&gt; · &lt;code&gt;Pattern: Sine / 2nd / 3rd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FSK&lt;/td&gt;
&lt;td&gt;FSK2, FSK4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;M: 2 / 4&lt;/code&gt; · &lt;code&gt;fmin: fs/32–fs/25&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frequency Hopping&lt;/td&gt;
&lt;td&gt;Costas (COS6, COS10)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;M: 6 / 10&lt;/code&gt; · &lt;code&gt;fmin: fs/32–fs/25&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phase Code&lt;/td&gt;
&lt;td&gt;Barker&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Code length: 7 / 11 / 13&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Polyphase&lt;/td&gt;
&lt;td&gt;Frank, P1–P4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ncpp&lt;/code&gt;, code size, compression ratio 등 파형별 변화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="experiment-config-note"&gt;모든 파형의 carrier frequency는 &lt;code&gt;fc: fs/6–2fs/5&lt;/code&gt; 범위에서 생성했습니다. P1–P4의 세부 조합은 파형군 수준으로 압축해 표시했으며, 원 논문의 Table 1을 기준으로 구성했습니다.&lt;/p&gt;
&lt;div class="experiment-config-target"&gt;&lt;strong&gt;추정 대상&lt;/strong&gt;&lt;span&gt;&lt;code&gt;ToA · PW · PRI · Bandwidth · Carrier Frequency&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="experiment-config-summary" aria-label="연구 1 실험 요약"&gt;
&lt;span class="experiment-config-chip"&gt;17 waveform types&lt;/span&gt;
&lt;span class="experiment-config-chip"&gt;fs 500 kHz&lt;/span&gt;
&lt;span class="experiment-config-chip"&gt;PW 1–10 ms&lt;/span&gt;
&lt;span class="experiment-config-chip"&gt;Duty cycle 20%&lt;/span&gt;
&lt;span class="experiment-config-chip"&gt;SNR −20~10 dB&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="experiments시뮬레이션"&gt;Experiments(시뮬레이션)&lt;/h2&gt;
&lt;p&gt;Simulation은 17종 intrapulse-modulation waveform, pulse width 1–10 ms, SNR −20–10 dB 조건으로 구성했습니다. Waveform·SNR별 100개 pulse train을 사용해 총 52,700 samples를 구성했고, train·validation·test split은 8:1:1로 유지했습니다.&lt;/p&gt;
&lt;p&gt;다양한 modulation type과 parameter variation을 포함해 특정 waveform에만 맞춰진 estimator가 되지 않도록 했습니다. 특히 SNR을 −20 dB까지 낮춰 기존 방법이 불안정해지는 영역에서도 pulse detection과 parameter estimation을 평가했습니다.&lt;/p&gt;
&lt;p&gt;평가는 noise-only slot과 pulse-containing slot을 구분하는 Detection 성능과 ToA, PW, PRI, BW, Fc의 RMSE를 비교하는 Parameter Estimation 성능으로 나누어 진행했습니다.&lt;/p&gt;
&lt;h2 id="왜-auc를-detection-metric으로-사용했는가"&gt;왜 AUC를 Detection Metric으로 사용했는가&lt;/h2&gt;
&lt;p&gt;FPD의 첫 번째 역할은 time slot을 Pulse와 Noise로 구분하는 것입니다. 따라서 특정 threshold 하나에서의 accuracy만 보기보다 decision threshold 전체에서 pulse-containing slot과 noise-only slot을 얼마나 잘 분리하는지 확인하기 위해 ROC-AUC를 사용했습니다.&lt;/p&gt;
&lt;p&gt;대표 결과는 AUC 0.912 at −18 dB, AUC 0.964 at −15 dB입니다. 이 수치는 최종 ToA, PW, PRI의 정확도가 아니라 후속 parameter estimation에 필요한 pulse 구간을 얼마나 안정적으로 찾는지를 보여주는 detection metric입니다.&lt;/p&gt;
&lt;figure class="case-study-figure case-study-figure--result case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/pulse_detection_auc.png" alt="SNR에 따른 frequency-domain pulse detection AUC 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 5. SNR 변화에 따른 pulse detection AUC 비교. FPD는 저 SNR에서도 후속 parameter estimation에 필요한 pulse-containing slot을 안정적으로 선별한다.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;AUC는 parameter RMSE가 아니라 Pulse와 Noise slot을 threshold 전반에서 분리하는 detection metric이다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="파라미터-추정-결과"&gt;파라미터 추정 결과&lt;/h3&gt;
&lt;p&gt;시뮬레이션에서 다섯 parameter의 추정 결과를 각각 확인했습니다. ToA, PW, PRI, BW, Fc는 모두 SNR이 높아질수록 오차가 감소하며, 제안 방법은 비교 방법과 denoising ablation보다 저 SNR에서 안정적인 경향을 보입니다.&lt;/p&gt;
&lt;div class="case-study-result-grid case-study-result-grid--five" aria-label="시뮬레이션 기반 ToA, PW, PRI, BW, Fc parameter estimation results"&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/result-toa.jpg" alt="저 SNR 조건에서 ToA를 추정한 시뮬레이션 결과" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;ToA 추정 결과&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;제안 방법과 비교 방법의 ToA RMSE를 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/result-pw.jpg" alt="저 SNR 조건에서 PW를 추정한 시뮬레이션 결과" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;PW 추정 결과&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;제안 방법과 비교 방법의 PW RMSE를 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/result-pri.jpg" alt="저 SNR 조건에서 PRI를 추정한 시뮬레이션 결과" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;PRI 추정 결과&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;제안 방법과 비교 방법의 PRI RMSE를 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/result-bw.jpg" alt="저 SNR 조건에서 BW를 추정한 시뮬레이션 결과" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;BW 추정 결과&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;제안 방법과 비교 방법의 BW RMSE를 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/result-fc.jpg" alt="저 SNR 조건에서 Fc를 추정한 시뮬레이션 결과" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;Fc 추정 결과&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;제안 방법과 비교 방법의 Fc RMSE를 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;h2 id="measurements실측"&gt;Measurements(실측)&lt;/h2&gt;
&lt;p&gt;Simulation 이후 GNU Radio와 USRP-2920 두 대로 TX/RX test-bed를 구성해 실제 무선 수신 환경을 평가했습니다. Center frequency는 910 MHz, sampling rate는 500 kHz이며, 기존 설정에 따라 송신 waveform을 OTA로 전달한 뒤 수신 I/Q에 동일한 detection, denoising, edge extraction, parameter computation chain을 적용했습니다.&lt;/p&gt;
&lt;p&gt;실제 OTA 환경에는 ideal AWGN만 있는 것이 아니라 fading, interference, oscillator mismatch, DC component, receiver hardware impairment가 함께 포함될 수 있습니다. 따라서 이 실험의 목적은 simulation accuracy를 그대로 재현하는 것이 아니라, 실제 wireless distortion이 존재해도 동일한 processing chain이 끝까지 동작하는지 확인하는 데 있습니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="USRP GNU Radio 저 SNR 검증 흐름"&gt;
&lt;span&gt;Radar Signal Generation&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;USRP TX&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Wireless Channel&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;USRP RX&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;DC Removal&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Power / SNR Measurement&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Parameter Estimation Chain&lt;/span&gt;
&lt;/div&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/usrp-testbed-photo.png" alt="GNU Radio와 두 대의 USRP-2920으로 구성한 저 SNR 송수신 실험 장비" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Experiment&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 6. GNU Radio와 두 대의 USRP-2920을 이용해 구성한 저 SNR radar pulse-train OTA test-bed.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;시뮬레이션을 넘어 실제 wireless channel과 receiver hardware 영향이 포함된 환경에서 전체 처리 체인을 검증한 구성이다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="실측-결과"&gt;실측 결과&lt;/h3&gt;
&lt;p&gt;실환경 OTA에서는 시뮬레이션과 같은 처리 체인을 적용한 뒤, 각 parameter의 Simulation/Test-bed RMSE를 비교했습니다. 무선 채널과 수신기 hardware 영향으로 test-bed 오차가 더 크게 나타날 수 있지만, SNR이 높아질수록 다섯 parameter 모두 안정적으로 감소하는 경향을 확인할 수 있습니다.&lt;/p&gt;
&lt;div class="case-study-result-grid case-study-result-grid--five" aria-label="Simulation과 실환경 Test-bed의 parameter estimation results"&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/testbed-result-toa.jpg" alt="ToA simulation과 test-bed RMSE 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;ToA · Simulation / Test-bed&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실환경 무선 수신에서 ToA RMSE가 SNR에 따라 감소하는 경향을 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/testbed-result-pw.jpg" alt="PW simulation과 test-bed RMSE 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;PW · Simulation / Test-bed&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실환경 무선 수신에서 PW RMSE가 SNR에 따라 감소하는 경향을 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/testbed-result-pri.jpg" alt="PRI simulation과 test-bed RMSE 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;PRI · Simulation / Test-bed&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실환경 무선 수신에서 PRI RMSE가 SNR에 따라 감소하는 경향을 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/testbed-result-bw.jpg" alt="BW simulation과 test-bed RMSE 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;BW · Simulation / Test-bed&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실환경 무선 수신에서 BW RMSE가 SNR에 따라 감소하는 경향을 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/low-snr-radar-parameter-estimation/figures/testbed-result-fc.jpg" alt="Fc simulation과 test-bed RMSE 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;Fc · Simulation / Test-bed&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실환경 무선 수신에서 Fc RMSE가 SNR에 따라 감소하는 경향을 비교합니다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;h2 id="연구의-한계"&gt;연구의 한계&lt;/h2&gt;
&lt;p&gt;본 연구는 simulation과 controlled USRP/GNU Radio test-bed를 이용해 저 SNR parameter estimation을 검증했습니다. 실제 measured environment에서는 extremely low SNR에서 fading, interference, hardware impairment로 인해 simulation 대비 performance degradation이 나타날 수 있습니다.&lt;/p&gt;
&lt;p&gt;또한 2D STFT와 UNet processing은 전통적인 lightweight estimator보다 연산량이 증가할 수 있습니다. 향후에는 더 다양한 실제 radar data, simulation-to-measurement domain gap 감소, lightweight denoising, embedded implementation으로 확장할 수 있습니다.&lt;/p&gt;
&lt;h2 id="결론"&gt;결론&lt;/h2&gt;
&lt;p&gt;저는 이 연구에서 저 SNR radar pulse train의 parameter estimation 문제를 Pulse Presence Detection, Pulse Interval Localization, Time-Frequency Denoising, Edge Extraction, Parameter Computation의 단계로 분해하고 전체 processing chain을 설계했습니다.&lt;/p&gt;
&lt;p&gt;주파수 영역의 spectral concentration을 이용해 pulse-containing slot을 선별하고, 검출된 구간을 STFT로 변환한 뒤 UNet denoising과 CCA-based edge extraction으로 noise에 묻힌 radar structure를 복원했습니다. 복원된 time·frequency edge에서 ToA, PW, PRI, BW, Fc를 물리적인 관계로 계산하고, 다양한 waveform과 SNR 조건의 simulation dataset에서 WHT, CPD, DAT-Net과 비교했습니다.&lt;/p&gt;
&lt;p&gt;또한 GNU Radio와 USRP-2920 기반 OTA test-bed를 구성해 실제 wireless channel과 hardware impairment가 포함된 환경에서도 동일한 detection–restoration–estimation chain을 검증했습니다. 이 연구의 의미는 하나의 AI model이 parameter를 직접 출력하도록 하는 것이 아니라, 저 SNR 신호에서 분석 가능한 구간을 찾고 noise에 묻힌 구조를 복원한 뒤 물리적 경계를 해석 가능한 radar parameter로 변환하는 end-to-end signal-processing framework를 설계했다는 점입니다.&lt;/p&gt;
&lt;div class="case-study-publication"&gt;
&lt;h2 id="관련-성과"&gt;관련 성과&lt;/h2&gt;
&lt;p&gt;Jaehyeok Yoon, Siho Lee, Woojin Yun, and Haewoon Nam, “
,” &lt;em&gt;IEEE Access&lt;/em&gt;, vol. 13, pp. 171170–171184, 2025.&lt;/p&gt;
&lt;p&gt;윤재혁, 정재연, 김규한, 이원진, 백지현, 서동호, 윤우진, 남해운 (2024). “
.” &lt;em&gt;The Journal of Korean Institute of Communications and Information Sciences&lt;/em&gt;, 49(7), 923-926.&lt;/p&gt;
&lt;p&gt;딥러닝 기반 저피탐 레이더 신호의 잡음 제거 및 파라미터 추출 방법, 이를 수행하는 장치 및 컴퓨터 프로그램, 출원번호(대한민국) 10-2024-0092816 · 2024.07.15.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>저 SNR 레이더 인식을 위한 FPGA 실시간 구현 및 경량 모델 설계</title><link>https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/</guid><description>&lt;h2 id="공통-연구-배경과-필요성"&gt;공통 연구 배경과 필요성&lt;/h2&gt;
&lt;p&gt;저 SNR 환경에서는 잡음의 영향으로 레이더 신호의 검출과 파형 분류가 어려워집니다. 시간·주파수 해상도를 높이면 파형의 세부 구조를 더 잘 표현할 수 있지만, STFT 입력 크기와 CNN 연산량이 함께 증가합니다.&lt;/p&gt;
&lt;p&gt;실제 SDR/FPGA 시스템에서는 분류 정확도만으로 구현 가능성을 판단하기 어렵습니다. Fixed-point 연산과 quantization, streaming data flow, packet interface, FPGA 자원 사용량, 처리 지연을 함께 고려해야 실제 수신 경로에 적용할 수 있습니다.&lt;/p&gt;
&lt;p&gt;따라서 이 페이지는 같은 저 SNR 레이더 인식 문제를 두 가지 관점에서 다룹니다. 첫 번째는 실제 RFNoC/FPGA 기반으로 수신부터 검출·분류까지의 실시간 처리 체인을 구현하는 연구이고, 두 번째는 하드웨어 적용을 고려해 고해상도 모델의 정보를 저해상도 모델에 전달하는 경량 레이더 분류 연구입니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="저 SNR 레이더 인식 연구 구성"&gt;
&lt;span&gt;저 SNR 수신 신호&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;실시간 FPGA 처리 체인 구현&lt;/span&gt;&lt;b&gt;+&lt;/b&gt;&lt;span&gt;계산 자원을 고려한 경량 모델 설계&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="세부-연구-a--rfnocfpga-기반-실시간-레이더-신호처리-구현"&gt;세부 연구 A — RFNoC/FPGA 기반 실시간 레이더 신호처리 구현&lt;/h2&gt;
&lt;h3 id="문제-정의"&gt;문제 정의&lt;/h3&gt;
&lt;p&gt;소프트웨어에서 동작하는 레이더 검출·분류 알고리즘을 실제 SDR 환경에 적용하려면 연속적으로 입력되는 I/Q stream을 FPGA에서 처리해야 합니다. 단순히 CNN classifier만 FPGA에 구현하는 것이 아니라 다음 전체 processing chain을 하드웨어 제약 안에서 연결해야 합니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="RFNoC FPGA 실시간 처리 문제 흐름"&gt;
&lt;span&gt;I/Q 수신&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;STFT / FFT&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;펄스열 검출&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;분류용 feature 생성&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;CNN 분류&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Fixed-point 변환과 quantization으로 인해 소프트웨어와 하드웨어의 연산 결과가 달라질 수 있고, packet framing과 block 간 streaming이 끊기면 후단 분류까지 이어지지 않습니다. 따라서 detector부터 classifier까지 전체 data path의 동작을 함께 확인해야 합니다.&lt;/p&gt;
&lt;h3 id="연구-배경과-필요성"&gt;연구 배경과 필요성&lt;/h3&gt;
&lt;p&gt;RFNoC는 사용자 정의 FPGA processing block을 USRP의 radio streaming path에 연결할 수 있는 구조를 제공합니다. 이를 이용하면 Radio I/O, custom FPGA processing, host control을 하나의 SDR processing chain으로 구성할 수 있습니다.&lt;/p&gt;
&lt;p&gt;RFNoC/FPGA 구현에서는 알고리즘 정확도 외에도 fixed-point arithmetic, quantization, packet framing, block 간 streaming, BRAM·DSP·LUT·FF 사용량을 함께 고려해야 합니다. 따라서 실제 OTA 환경에서 detector와 classifier가 연결된 전체 체인이 정상적으로 동작하는지 검증하는 것이 필요합니다.&lt;/p&gt;
&lt;h3 id="제안-방법"&gt;제안 방법&lt;/h3&gt;
&lt;p&gt;전체 처리 흐름은 Radar I/Q를 fixed-point FFT/STFT로 변환한 뒤 RFNoC detector에서 펄스 구간을 찾고, 분류용 STFT magnitude feature를 생성해 HLS CNN classifier로 전달하는 구조로 구성했습니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="RFNoC FPGA 제안 방법"&gt;
&lt;span&gt;Radar I/Q&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Fixed-Point FFT / STFT&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;RFNoC Detector&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;STFT Magnitude Feature&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;HLS CNN Classifier&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Radar Waveform Class&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;수신된 fixed-point I/Q sample은 128-point FFT 기반 STFT로 처리하고, detector는 유효 frequency bin의 power score를 이용해 pulse-train interval을 선택합니다. 검출된 구간에서는 고정 크기의 STFT magnitude feature를 만들고, 이를 uint8 형식으로 packing해 classifier block으로 전달합니다.&lt;/p&gt;
&lt;p&gt;Classifier는 1 × 64 × 31 STFT magnitude를 입력으로 사용하고, weight·activation quantization과 HLS 기반 convolution 연산을 적용했습니다. RFNoC block은 AXI4-Stream과 AXI-Lite interface를 통해 연결하고, FPGA 안에서 검출부터 분류까지 packetized streaming이 이어지도록 구성했습니다.&lt;/p&gt;
&lt;figure class="case-study-figure case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/implementation-specification.png" alt="PyTorch reference에서 RFNoC block과 USRP 검증까지 이어지는 구현 사양" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Method&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 2. PyTorch reference model, quantization, HLS/C&amp;#43;&amp;#43; design, RFNoC block integration, Vivado synthesis, USRP deployment로 이어지는 구현 흐름.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;소프트웨어 모델을 FPGA에서 실행 가능한 형태로 변환하고 실제 장비에서 검증하는 절차를 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="실험-구성"&gt;실험 구성&lt;/h3&gt;
&lt;p&gt;실제 OTA 수신 데이터를 사용해 RFNoC/FPGA processing chain을 검증했습니다. 실험은 15개 radar waveform class와 −4 dB부터 10 dB까지 2 dB 간격의 SNR 조건으로 구성했으며, waveform·SNR별 기록을 합쳐 총 3,600개 OTA records를 사용했습니다.&lt;/p&gt;
&lt;p&gt;검증 항목은 detector interval consistency, classifier input/output packet 처리, Pcov95, RFNoC/FPGA classification accuracy, end-to-end performance, FPGA resource usage입니다. OTA 송수신에는 SDR/USRP 기반 장비를 사용했고, RFNoC target은 Xilinx Kintex-7 계열 FPGA 환경에서 구성했습니다.&lt;/p&gt;
&lt;div class="case-study-result-grid case-study-result-grid--two" aria-label="RFNoC FPGA 실제 실험 환경"&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/03_sdr-test-hardware.jpg" alt="SDR 기반 OTA 송수신 실험 환경" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Experiment&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 3. SDR/USRP 기반 OTA 송수신 실험 환경.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;실제 무선으로 수신한 I/Q stream을 RFNoC/FPGA 처리 체인에 입력한 실험 환경이다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/05_fpga-board.jpg" alt="RFNoC FPGA 구현에 사용한 Xilinx Kintex-7 보드" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Experiment&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 4. RFNoC/FPGA 구현에 사용한 Xilinx Kintex-7 보드.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;고정소수점 STFT, detector, HLS CNN classifier를 탑재한 FPGA 구현 환경을 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;h3 id="실험-결과"&gt;실험 결과&lt;/h3&gt;
&lt;p&gt;3,600개 OTA records에서 RFNoC detector가 software reference와 동일한 detection interval을 출력했고, classifier input/output packet도 정상 처리되었습니다. Pcov95는 99.25%, RFNoC/FPGA classifier accuracy는 93.69%, end-to-end performance는 93.14%로 확인되었습니다.&lt;/p&gt;
&lt;p&gt;Python/PyTorch reference와 비교했을 때 classifier accuracy 차이는 0.39%p, end-to-end 차이는 0.36%p였습니다. 이 결과는 FPGA 구현이 소프트웨어 기준보다 높다는 의미가 아니라, fixed-point와 quantized HLS inference를 적용한 뒤에도 detector–classifier 동작 특성이 가깝게 유지되었음을 보여줍니다.&lt;/p&gt;
&lt;figure class="case-study-figure case-study-figure--result case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/04_classification-performance.png" alt="Python reference와 RFNoC FPGA의 SNR별 레이더 분류 정확도 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 5. Target SNR 변화에 따른 Python reference와 RFNoC/FPGA classification accuracy 비교.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;동일한 OTA 수신 조건에서 소프트웨어 기준과 FPGA 구현의 분류 성능 변화를 비교한다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/resource-table.png" alt="RFNoC detector와 classifier 통합에 따른 FPGA 자원 사용량" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 6. Base RFNoC/USRP image에 detector, classifier, STFT를 추가했을 때의 LUT·FF·BRAM·DSP 사용량.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;FPGA 자원 수치는 원본 resource table에 표시된 누적값과 증가량을 기준으로 제시한다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="결론"&gt;결론&lt;/h3&gt;
&lt;p&gt;이 세부 연구에서는 단순한 CNN FPGA 추론이 아니라 STFT 전처리, 펄스열 검출, 분류용 feature 생성, CNN 분류로 이어지는 전체 chain을 RFNoC/FPGA streaming 구조로 구현했습니다.&lt;/p&gt;
&lt;p&gt;실제 OTA 환경에서 3,600개 기록의 detection interval consistency와 packet 처리, Pcov95, 분류 정확도, end-to-end performance, FPGA resource usage를 함께 확인했습니다. 이를 통해 소프트웨어에서 동작하던 레이더 처리 흐름을 fixed-point와 quantization을 적용한 실제 SDR/FPGA 수신 경로로 통합할 수 있는지를 검증했습니다.&lt;/p&gt;
&lt;h2 id="세부-연구-b--cross-resolution-knowledge-distillation-기반-경량-레이더-분류"&gt;세부 연구 B — Cross-Resolution Knowledge Distillation 기반 경량 레이더 분류&lt;/h2&gt;
&lt;h3 id="문제-정의-1"&gt;문제 정의&lt;/h3&gt;
&lt;p&gt;고해상도 STFT는 레이더 파형의 세부적인 시간·주파수 특징을 표현하는 데 유리하지만 입력 크기와 CNN 연산량이 증가합니다. 반대로 저해상도 STFT는 연산량을 줄일 수 있지만 분류에 필요한 세부 특징이 손실될 수 있습니다.&lt;/p&gt;
&lt;p&gt;따라서 고해상도 모델의 표현력을 학습 단계에서 활용하면서, 추론 단계에서는 저해상도 입력과 경량 Student model만 사용하는 방법이 필요합니다.&lt;/p&gt;
&lt;h3 id="연구-배경과-필요성-1"&gt;연구 배경과 필요성&lt;/h3&gt;
&lt;p&gt;실제 edge/FPGA 환경에서는 classification accuracy뿐 아니라 입력 해상도, 모델 연산량, memory와 FPGA resource 요구량을 함께 고려해야 합니다. 단순히 STFT를 downsampling하는 것만으로는 고해상도 입력이 제공하던 특징을 충분히 보존하기 어렵습니다.&lt;/p&gt;
&lt;p&gt;이 연구에서는 128×128 STFT를 사용하는 Teacher model의 정보를 64×64 STFT를 사용하는 Student model에 전달하는 Cross-Resolution Knowledge Distillation을 구성했습니다. 저 SNR에서의 조건 차이를 반영하기 위해 SNR-Weighted CRKD Loss를 사용하고, inference에서는 Teacher나 KD 연산 없이 Student만 사용하도록 설계했습니다.&lt;/p&gt;
&lt;h3 id="제안-방법-1"&gt;제안 방법&lt;/h3&gt;
&lt;p&gt;학습 단계에서 Teacher path는 128×128 STFT와 frozen Teacher model로 Teacher logits를 만들고, Student path는 64×64 STFT와 Student model로 Student logits를 만듭니다. 두 logits는 SNR-Weighted CRKD Loss에 사용되며 Student model만 update합니다.&lt;/p&gt;
&lt;div class="research-pipeline" aria-label="Cross-Resolution Knowledge Distillation 학습 흐름"&gt;
&lt;span&gt;128×128 STFT&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Frozen Teacher&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Teacher logits&lt;/span&gt;&lt;b&gt;+&lt;/b&gt;&lt;span&gt;64×64 STFT&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;Student logits&lt;/span&gt;&lt;b&gt;→&lt;/b&gt;&lt;span&gt;SNR-Weighted CRKD Loss&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;추론 단계에서는 64×64 STFT를 Student model에 입력하고 predicted class를 출력합니다. Teacher model과 KD loss는 학습 단계에서만 사용되므로, 실제 inference에는 Student model의 연산만 남습니다.&lt;/p&gt;
&lt;figure class="case-study-figure case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/01_rfnoc-processing-architecture.png" alt="128×128 Teacher와 64×64 Student를 이용한 Cross-Resolution Knowledge Distillation 구조" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Method&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 7. 고해상도 Teacher와 저해상도 Student를 학습 단계에서 함께 사용하고, inference에서는 Student만 사용하는 Cross-Resolution KD 구조.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;SNR-Weighted CRKD Loss로 Student를 update하고 추론 시에는 추가적인 Teacher·KD overhead를 제거하는 흐름을 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="실험-구성-1"&gt;실험 구성&lt;/h3&gt;
&lt;p&gt;분류 성능은 128×128 Teacher, 64×64 Student CE, 64×64 Proposed CRKD를 비교하는 방식으로 구성했습니다. 또한 32×32 입력 조건을 함께 확인해 입력 해상도 감소가 성능과 계산량에 미치는 영향을 비교했습니다.&lt;/p&gt;
&lt;p&gt;효율 비교에서는 STFT resolution, CNN MACs, parameter 수, full-image BRAM analysis를 함께 확인했습니다. 비교 수치는 원본 표와 그래프에 표시된 항목만 사용했으며, 별도의 latency나 resource 감소율은 이미지에 직접 표시된 경우에만 해석했습니다.&lt;/p&gt;
&lt;figure class="case-study-figure case-study-figure--result case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/resource-comparison.png" alt="SNR weighting과 입력 해상도에 따른 Cross-Resolution Knowledge Distillation 비교 표" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 8. 128×128 Teacher, 64×64 Student, Proposed CRKD, 32×32 조건의 정확도·MACs·BRAM 비교.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;고해상도 Teacher의 성능과 저해상도 Student 및 CRKD 변형의 분류·연산·자원 지표를 표로 비교한다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="case-study-figure case-study-figure--result case-study-figure--wide"&gt;
&lt;div class="case-study-figure-media"&gt;
&lt;img src="https://jaehyeokyoon.xyz/projects/rfnoc-fpga-radar-detector-classifier/figures/throughput-curve.png" alt="Teacher와 Proposed CRKD의 BRAM 사용량 및 SNR별 성능 비교" loading="lazy"&gt;
&lt;/div&gt;
&lt;figcaption&gt;
&lt;span class="case-study-figure-type"&gt;Result&lt;/span&gt;
&lt;strong class="case-study-figure-caption"&gt;그림 9. Full-image BRAM utilization과 measured SNR에 따른 Teacher·Student·Proposed CRKD 비교.&lt;/strong&gt;
&lt;span class="case-study-figure-description"&gt;저해상도 CRKD가 고해상도 Teacher의 표현을 활용하면서 자원 제약과 SNR 변화에 대응하는 양상을 보여준다.&lt;/span&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="실험-결과-1"&gt;실험 결과&lt;/h3&gt;
&lt;p&gt;64×64 Student CE는 all-SNR average 96.525%, low-SNR average 87.852%로 표시되었고, 64×64 Proposed CRKD(hard)는 각각 97.051%, 89.926%로 표시되었습니다. 같은 64×64 입력에서 CRKD를 적용한 Student가 기본 Student보다 높은 표 값을 보였습니다.&lt;/p&gt;
&lt;p&gt;32×32 조건에서도 Proposed CRKD(hard)는 Student CE보다 all-SNR average와 low-SNR average가 각각 93.616%와 83.407%로 높게 표시되었습니다. 다만 32×32 입력의 절대 성능은 64×64 조건보다 낮게 나타나 입력 해상도와 성능 사이의 trade-off를 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;연산량과 자원 측면에서는 표에 128×128 Teacher의 CNN MACs가 66.652M, 64×64 Student와 Proposed CRKD가 16.664M, 32×32 조건이 4.168M으로 표시되어 있습니다. 64×64와 32×32 조건의 BRAM analysis도 각각 97.29%와 74.54%로 표시되어 고해상도 Teacher 대비 낮은 해상도 입력의 자원 부담이 줄어드는 방향을 확인할 수 있습니다.&lt;/p&gt;
&lt;h3 id="결론-1"&gt;결론&lt;/h3&gt;
&lt;p&gt;이 세부 연구에서는 128×128 고해상도 Teacher의 표현을 64×64 저해상도 Student에 전달하는 Cross-Resolution Knowledge Distillation을 설계했습니다. SNR-Weighted CRKD Loss를 이용해 Student만 update하고, 추론 단계에서는 64×64 STFT와 Student model만 사용하도록 구성했습니다.&lt;/p&gt;
&lt;p&gt;고해상도 입력의 정보를 학습 단계에서 활용하면서도 실제 inference는 저해상도 입력과 Student-only 구조로 수행해 분류 성능과 계산 자원 사이의 균형을 조정할 수 있다는 점이 핵심입니다.&lt;/p&gt;
&lt;div class="case-study-publication"&gt;
&lt;h2 id="관련-성과"&gt;관련 성과&lt;/h2&gt;
&lt;p&gt;윤재혁, 남해운 (2026). “
.” &lt;em&gt;The Journal of Korean Institute of Communications and Information Science&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Jaehyeok Yoon and Haewoon Nam (2026). “Cross-Resolution STFT Distillation for FPGA-Efficient Radar Waveform Classification.” &lt;em&gt;The 31st Asia-Pacific Conference on Communications (APCC).&lt;/em&gt; 발표 예정.&lt;/p&gt;
&lt;/div&gt;</description></item></channel></rss>