Initial ARSS. Need to improve and add functions.

This commit is contained in:
2026-03-02 14:48:21 +09:00
commit 775668afdb
20 changed files with 1610 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
function filtered_data = apply_analog_hpf(adc_raw_data, fs_adc, fc_hpf_Hz)
% :
% - adc_raw_data: [NumRx, NumTx, NumChirps, N_samples]
% - fs_adc: ADC (Hz)
% - fc_hpf_Hz: HPF (Cut-off Frequency, Hz)
[NumRx, NumTx, NumChirps, N_samples] = size(adc_raw_data);
filtered_data = zeros(size(adc_raw_data));
% 1. 1 HPF (S-plane -> Z-plane )
% Analog Transfer Function: H(s) = s / (s + omega_c)
omega_c = 2 * pi * fc_hpf_Hz;
% (Bilinear Transform)
% [b, a] = butter(1, fc_hpf_Hz / (fs_adc/2), 'high'); %
T = 1 / fs_adc;
alpha = 2 / T;
b0 = alpha / (alpha + omega_c);
b1 = -alpha / (alpha + omega_c);
a1 = (omega_c - alpha) / (alpha + omega_c);
b = [b0, b1];
a = [1, a1];
% 2.
for rx = 1:NumRx
for tx = 1:NumTx
for m = 1:NumChirps
% 퀀
raw_sig = squeeze(adc_raw_data(rx, tx, m, :));
% ( 'filtfilt' 'filter' )
% (Causal) filter
filtered_data(rx, tx, m, :) = filter(b, a, raw_sig);
end
end
end
end