Accurate time delay in FMCW radar simulation using radarTransceiver.

조회 수: 12 (최근 30일)
Jingqi
Jingqi 2024년 2월 27일
답변: Pratyush 2024년 7월 16일
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
Jingqi
Jingqi 2024년 2월 27일
편집: Jingqi 2024년 2월 27일
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 2024년 2월 28일
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

댓글을 달려면 로그인하십시오.

답변 (1개)

Pratyush
Pratyush 2024년 7월 16일
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.

카테고리

Help CenterFile Exchange에서 Detection, Range and Doppler Estimation에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by