Add Example
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
function [ echo_r_mtx, sigma_n_o ] = range_process_MF(echo_mtx, A, sigma_n)
|
||||
% Range processing for echo data using matching filter
|
||||
%
|
||||
% Usage:
|
||||
% [echo_r_mtx, sigma_n_o] = range_process_MF(echo_mtx, A, sigma_n)
|
||||
%
|
||||
% Inputs:
|
||||
% echo_mtx: Original echo data
|
||||
% A: Chirp measurement matrix
|
||||
% sigma_n: Input noise standard deviation
|
||||
%
|
||||
% Outputs:
|
||||
% echo_r_mtx: Range processing echo data
|
||||
% sigma_n_o: Output noise standard deviation
|
||||
|
||||
|
||||
% 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
|
||||
Reference in New Issue
Block a user