Accurate time delay in FMCW radar simulation using radarTransceiver.

11 vues (au cours des 30 derniers jours)
Jingqi
Jingqi le 27 Fév 2024
Recently, I tried to follow the official radar simulation tutorial to explore the problem of radar delay estimation. But I found that there is a difference between the delayed signal simulated by radarTransceiver and the analytical delayed signal.
After carefully looking at the internal implementation of radarTransceiver, it seems to be caused by radarTransceiver using Fractional Delay FIR Filters to achieve signal delay.
I can understand that this implementation method is more general. But if the signal analysis formula is known (such as a clear FMCW signal and delay), is there any other more accurate implementation method?
Any help or clarification is greatly appreciated. Thanks.
  2 commentaires
Jingqi
Jingqi le 27 Fév 2024
Modifié(e) : Jingqi le 27 Fév 2024
Code for delayed signal in analytical form. [Neglecting amplitude losses and phase errors between antennas]
%% test reflection signal (checked ?)
distance = vpaths.PathLength;
tau = distance / c;
number = floor(tm * fs);
zero_pending_num = floor(tau*fs);
t = (0:number-1)'*tm/number;
test_sig = exp(1i * (pi * (sweepSlope)* (t-tau).^2 -1* delta_phi));
test_sig = [zeros(zero_pending_num,1); test_sig(zero_pending_num + 1:end)];
Jingqi
Jingqi le 28 Fév 2024
Fractional Delay FIR Filters in radarTransceiver is the code in PathChannel.m line 707
% Compute fractional delay
nDelay = propdelay*Fs;
isDelayIntSamples = (rem(propdelay,1/Fs) == 0);
nDelay(isDelayIntSamples) = round(nDelay(isDelayIntSamples));
fDelay = nDelay-fix(nDelay);
fDelay_candidate = reshape(repmat(fDelay,ncol_per_path,1),1,[]);
nDelay_candidate = reshape(repmat(fix(nDelay),ncol_per_path,1),1,[]); %integer samples
% Use linear fractional delay, as in
% dsp.VariationalFractionalDelay
for m = 1:size(tempxp_candidate,2)
tempxp_candidate(:,m) = ...
tempxp_candidate(:,m)*(1-fDelay_candidate(m))+...
[0;tempxp_candidate(1:end-1,m)]*fDelay_candidate(m);
end

Connectez-vous pour commenter.

Réponses (1)

Pratyush
Pratyush le 16 Juil 2024
Hi Jinqi,
To achieve a more accurate signal delay for known signal forms like FMCW, you can use a direct analytical approach rather than Fractional Delay FIR Filters. Below is an overview of how to implement this :
Analytical Signal Delay Implementation
Define Constants and Parameters:
- Speed of light
- Sampling frequency
- Sweep time
- Sweep slope
- Phase offset
Calculate Delay:
- Compute the time delay based on the distance.
- Determine the number of zero-padded samples.
Generate Time Vector:
- Create a time vector for the signal.
Generate Signals:
- Generate the transmitted FMCW signal.
- Generate the delayed FMCW signal analytically by adjusting the time vector.
Apply Zero-Padding:
- Apply zero-padding to simulate the delay.
Plot Signals:
- Plot the original and delayed signals for visual comparison.
This approach directly adjusts the time vector to account for the delay, providing a more accurate representation of the delayed signal for known signal forms like FMCW.

Catégories

En savoir plus sur Detection, Range and Doppler Estimation dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by