This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Questions on 2DFFT and 3D-FFT

for Fast chirp modulation, it is no doubt that the 1D FFT denotes range, becasue range contributes the largest phase shift in IF, but for 2D-FFT and 3D-FFT, we see that radial velocity Vr and angle also causes phase shift in IF

from my MATLAB simulation, for some cases, the phase shift caused by angle is larger than radial velocity, so the 2D-FFT denotes angle information,not radial speed,

Am I wrong?

My code is

% File name: FMCW_FastChirp.m
% Syntax:
%
% Description:
%  1) Calculate IF expression of a single fast FMCW chirp  Motivated by TI Corporate
%  2) this program illustartes why 1D-FFT denotes range, 2D-FFT denotes
%    radial speed, and 3D-FFT denotes angle
%    range -- occupy the most large energy
%    velocity -- occupy the second large energy
%    angle --  occupy the third large energy
%  for example
%  
%   f_IF_Val1 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,24e9,150e6,30e-6,theta/180*pi,0.7*(3e8/24e9)/2 ]);
%   pretty(f_IF_Val1)

%
%                             / pi theta \                    / pi theta \
%                    70000 sin| -------- |            7 Vr sin| -------- |     /                   2 \
%  16000000 R                 \   180    /   8 R Vr           \   180    /     | 32000000 Vr   8 Vr  |
%  ---------- + Vr + --------------------- - ------ - -------------------- + t | ----------- - ----- |
%      3                       3              225            45000             \      3         225  /
%
% Author: YangTianxi
% Contact: hitbuyi@163.com
% Date: 2017/05/19

close all;
clear all;

% parameter define
syms  C          % speed of light
syms  R Vr tao   % range,radial velocity,time delay
syms  t          % time
syms  theta      % DOA
syms  Tc         % sweep time of a single chirp
syms  f0         % center frequency
syms  B          % band width
syms  d          % distance between 2 adjacent receive anttenna

f_TX = @(t)[f0 + B/Tc* t];    % frequency sweep of FMCW,sawtooth sweeping

phy_TX = @(t)[int(2*pi*f_TX(t),t,[0 t])];  % phase of transmitter signal
phy_RX = @(t)[subs(phy_TX(t),t, t-tao)];   % phase of received signal,shift tao from phy_TX

% after MIXER and low pass filter, phase of IF siganl is obtained
phy_IF0 = (phy_TX(t) - phy_RX(t));  % 

% replace tao with expression of R,Vr,t
% tao = 2*(R + Vr*t +d*sin(theta))/C
%  R: phase delay caused by range
%  Vr*t :  phase delay caused by object's moving
%  d*sin(theta) : phase delay caused by angle, if theta = 0, radar's echo  is perpendicular to array
phy_IF = subs(phy_IF0, tao, 2*(R + Vr*t +d*sin(theta))/C);

% to get IF,take differentiation with t,i.e., f = d(phase(t))/dt
f_IF0 = diff(phy_IF,'t')/(2*pi);

f_IF1 = expand(f_IF0);
f_IF2 = collect(f_IF1,t);

f_IF_Val1 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,24e9,150e6,30e-6,theta/180*pi,1*(3e8/24e9)/2 ]);
pretty(f_IF_Val1);

f_IF_Val2 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,77e9,500e6,30e-6,theta/180*pi,0.5*(3e8/77e9)/2 ]);
pretty(f_IF_Val2);

  • Hi Tianxi,

    In your last equation, there may be an error. Shouldn't it be as follows?

    f_IF_Val2 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,500e6,77e9,30e-6,theta/180*pi,0.5*(3e8/77e9)/2 ]);

    Note that I have interchanged the bandwidth (500e6 Hz), and the starting frequency (77e9 Hz).

    You may find the following paper useful if you are studying FMCW theory. “Donald E. Barrick, “FM/CW Radar Signals and Digital Processing”, NOAA Technical Report ERL 283-WPL 26, July 1973'.

    Regards,e2e.ti.com/.../597579
    Anil
  • It was an error, thanks for your correctness,the right code are:

    f_IF_24G_1 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,150e6,24e9,30e-6,theta/180*pi,0.5*(3e8/24e9)/2 ]);% C = 3e8 m/s,B=150M, f0 =24Ghz,Tc = 30us, d= 0.5* lambda/2 < lambda/2
    pretty(f_IF_24G_1);

    f_IF_77G_1 = subs(f_IF2,[C,B,f0, Tc,theta,d],[3e8,500e6,77e9,30e-6,theta/180*pi,0.5*(3e8/77e9)/2 ]);% C = 3e8 m/s,B=500M, f0 =77Ghz,Tc = 30us, d= 0.5* lambda/2 < lambda/2
    pretty(f_IF_77G_1);

    following results are get,

    f_IF_24G_1(t) = (100000*R)/3 + 160*Vr + (625*sin((pi*theta)/180))/6 - (R*Vr)/4500 - (Vr*sin((pi*theta)/180))/1440000 + t*(- Vr^2/4500 + (200000*Vr)/3)

    f_IF_77G_1(t) = (1000000*R)/9 + (1540*Vr)/3 + (25000*sin((pi*theta)/180))/231 - (R*Vr)/1350 - (Vr*sin((pi*theta)/180))/1386000 + t*(- Vr^2/1350 + (2000000*Vr)/9)

    where  -90 deg < theta < 90 deg, 0 < t < 30e-6

    it complies with my guess: in IF signal ,  range contributes the 1st large part , radial velocity's the 2nd large part, and angle 's the 3rd large part, so peak in 1D-FFT denotes target's range, though it contains small part of radial velocity and angle,in fact, it is called coupling), 2D-FFT denotes velocity, and 3D-FFT denotes angle

    what I said above is right? I hope your verification.

    I can not get access to the paper your mentioned above, is it available on website?

    Thanks a lot

  • Hi Tianxi,

    You can access the paper from 'www.dtic.mil/dtic/tr/fulltext/u2/774829.pdf'. You can also read TI's paper on FMCW radar- http://www.ti.com/lit/wp/spyy005/spyy005.pdf.

    Regarding the equation, I noted another issue, d = λ/2, not λ/4.

    Overall, I think your understanding is correct.

    Regards,

    Anil

  • Hi Anil,

    I have read the technical report on FMCW radar provided by you. It analyzed range,radial velocity,not including angle. If angle is taken into account, it's similar to range and radial velocity.

    This issue has been solved  

    Many thanks to you.