Files
FAR_CS/0 - example/wzk - main_process/range_process_MF.m
T
2024-11-11 16:32:53 +08:00

31 lines
766 B
Matlab

% echo_mtx: echo data
% A: chirp matrix
% sigma_n: input noise standard deviation
% echo_r_mtx: range processing echo data
% signal_n_o: output noise standard deviation
function [ echo_r_mtx, sigma_n_o ] = range_process_MF(echo_mtx, A, sigma_n)
% parameters
multiple_r = A(:, 1)' * A(:, 1);
[M, N] = size(A);
[lenA, M, lenP] = size(echo_mtx);
% matched filtering
echo_r_mtx = zeros(lenA, N, lenP);
for numA = 1: lenA
for numP = 1: lenP
sr = echo_mtx(numA, :, numP);
mf_res = A' * transpose(sr);
mf_norm = mf_res ./ multiple_r;
echo_r_mtx(numA, :, numP) = mf_norm;
end
end
% calculate output noise
sigma_n_o = sqrt(sigma_n^2 / multiple_r);
end