0% found this document useful (0 votes)
4 views6 pages

Single Pulse Matched Filtering Analysis

The document outlines the implementation of single pulse matched filtering to estimate an unknown scattering scene, detailing the design of transmitted pulses and their modulation for radar applications. It discusses the importance of minimizing sidelobe energy for accurate target detection and provides a method for processing received signals using matched filters. The results indicate consistent target ranges across different center frequencies, highlighting the effects of Doppler sensitivity in the unprocessed responses.

Uploaded by

girithik14
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

Single Pulse Matched Filtering Analysis

The document outlines the implementation of single pulse matched filtering to estimate an unknown scattering scene, detailing the design of transmitted pulses and their modulation for radar applications. It discusses the importance of minimizing sidelobe energy for accurate target detection and provides a method for processing received signals using matched filters. The results indicate consistent target ranges across different center frequencies, highlighting the effects of Doppler sensitivity in the unprocessed responses.

Uploaded by

girithik14
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

clear; close all; clc;

addpath(fullfile(pwd, '../helpers'));
set(0, 'DefaultTextInterpreter', 'latex')
set(0, 'DefaultLegendInterpreter', 'latex')
set(0, 'DefaultAxesTickLabelInterpreter', 'latex')

% speed of light
c = 299792458;

Single Pulse Matched Filtering


The following is an implementation of single pulse matched filterting to estimate a unknown scattering scene.
The modeled enviroment and corresponding scatteres are generated by the provided function
which is static through each test (non-random) allowing for comparison of different system parameters. The
transmitted pulse must be designed to adhere to the following hardware/processing constraints:

• Center Frequency:
• Maximum Sampling Rate:
• Maximum Pulse Duration:
• Sample Memory Depth:

Pulse Design
The design of the transmitted pulse is centered around producing a autocorrelation response with minimal
sidelobe energy to avoid masking adjacent targets as well as maintain fine range resolution. This is performed
by shaping the waveforms energy spectral density (ESD) via design of the phase function corresponding to
the following signal model.

With an appropriate spectral shaping template, this produces a constant amplitude frequency modulated
waveform with minimal sidelobe energy due to the Fourier relationship between the ESD and autocorrelation.

Leveraging the provided waveform generation script, a pulse can be spectrally shaped to
match a Guassian energy spectral template that adheres to the user configured parameters: pulse bandwidth B,
pulse duration , and sample rate . A linear frequency modulated and barker phase coded pulse are also
generated to be used as comparison between different pulse structures and their effectiveness in range profile
estimation.

B = 10e6;
T_pulse = 10e-6;
Fs = 200e6;
duty_cycle = 1/10;

1
[x, t] = genNLFM(B, Fs, T_pulse, false); % boolean to show waveform characteristics
% [x, t] = genLFM(B, Fs, T_pulse, false); % boolean to show waveform characteristics
% [x, t] = genBarker(13, Fs, T_pulse, false); % boolean to show waveform
characteristics

Transmission
The baseband pulse is next modulated up to a selected carrier frequency, within the radar constraints, and
'transmitted' using the function. The carrier frequency of transmission determines both the systems
doppler sensitivity as well as the unambiguous velocity extent. The doppler shift of a scatterer moving at velocity

is found as demonstrating a inverse relationship between wavelength and doppler shift. This

means that increasing the carrier frequency will allow for improved distinguishability between similar velocity
targets. This comes at a cost of decreasing the unambiguous velocity region which spans across the following

If the assumption can be made that all absolute target velocities will be less than then the higher the

transmission frequency the better the target velocity fidelity. This is difficult to examine using a single pulse but
is made more evident in the multipulse simulation outlined in Part 2.

% test across multiple carrier frequencies


Fc = [3e9 4.5e9 6e9];
T_pri = T_pulse * (1/duty_cycle);

% store results for matched filtering


X_mod = zeros(size(x, 1), length(Fc));
Y = zeros(size(x, 1)*(1/duty_cycle), length(Fc));

for i = 1:length(Fc)
% modulate signal with center frequency
x_mod = x .* exp(-2j * pi * Fc(i) * t);

% generate received signal


y = genRxData(x_mod, Fs, Fc(i), 1, T_pri);

% % generate known delay response -> FOR DEBUGGING


% range = 500; % meters
% bin_index = floor((2*range*Fs)/c);
% y = zeros(size(x_mod, 1)*(1/duty_cycle), 1);
% y(1+bin_index:length(x_mod)+bin_index) = x_mod;

% store to data matrices


X_mod(:, i) = x_mod;
Y(:, i) = y;

2
end

Matched Filter Processing


Maximum SNR processing occurs when a filter is applied to the receive signal that maximizes the Cauchy-
Schwarz inequality. From lecture 14, this filter was proven to be an integrating function that is matched the
the designed signal structure . The applicaiton of this filter is shown below in which a estimate of the

scattering enviroment, , is obtained for each range interval l with corresponding resolution determined by
the transmission bandwidth ( ).

This single pulse matched filtered response extends across the entire unambiguous range determined by the
pulse repitition frequecy.

for i = 1:length(Fc)
% extract specific center frequency response
y = Y(:, i);
x_mod = X_mod(:, i);

% matched filter output using FFT based correlation


nfft = length(x) + length(y) - 1;
h_hat = ifft(conj(fft(x_mod, nfft)) .* fft(y, nfft)) / norm(x_mod, 2).^2;

% calculate plot axes


ax_time = (0:numel(y)-1)/Fs;
ax_range = ((0:size(h_hat, 1)-1) * ((c / (2 * Fs))))';

figure(i+1); clf;
set(gcf, 'Position', [100 100 600 500]);

% received signal subplot


subplot(2,1,1);
plot(ax_time * 1e6, 10 * log10(abs(y).^2), 'b', 'LineWidth', 2);
title(sprintf('Received Signal Power (Fc = %.2f GHz)', Fc(i)/1e9));
xlabel('Delay ($\mu$s)', 'Interpreter', 'latex');
ylabel('$|y(t)|^2$ (dB)', 'Interpreter', 'latex');
grid on;
xlim([0 max(ax_time*1e6)]);

% matched filter subplot

3
subplot(2,1,2);
mf_power_dB = 10 * log10(abs(h_hat).^2);
plot(ax_range/1e3, mf_power_dB, 'b', 'LineWidth', 2);
title(sprintf('Matched Filter Response (Fc = %.2f GHz)', Fc(i)/1e9));
xlabel(sprintf('Range $km$ ($R_{ua}$ = %.2f $km$)', (c * T_pri) / 2000),
'Interpreter', 'latex');
ylabel('$|h_{hat}[l]|^2$ (dB)', 'Interpreter', 'latex');
grid on;
ylim([max(mf_power_dB)-80, max(mf_power_dB)+10]);
end

4
5
Discussion
From the unprocessed and matched filter responses, it is evident that there are four scatterers in the illuminated
environment, located at approximately 0.6 km, 1.1 km, 2.6 km, and 3 km. The targets and their respective
ranges remain consistent across all tested center frequencies, which is expected, as the center frequency does
not directly affect range resolution. However, an increase in Doppler sensitivity is visually noticeable in each of
the unprocessed responses but less intuitive to interpret in a single-pulse scenario.

All provided code and respones written by William Powers leveraging the EECS 800 provided
slides and code examples.

You might also like