Help to generate radar chirp signal

42 次查看(过去 30 天)
Mike
Mike 2013-1-31
Hi,
i am interesting in generating a linear chirp signal for simulating radar signal. I find out there is a function in matlab called: _Y = CHIRP(T,F0,T1,F1)_This function generates samples of a linear swept-frequency signal at the time instances defined in array T. The instantaneous frequency at time 0 is F0 Hertz. The instantaneous frequency F1 is achieved at time T1. By default, F0=0, T1=1, and F1=100.
But, i am confused as i do not know which will be a suitable sample rate. Can you help me? Could you write me a simple and brief example? Do i need other data, such as bandwidth or pulsewidth?
  3 个评论
John Petersen
John Petersen 2013-2-4
The shape of the chirp is based on the amplitude of each successive sample. The sampling rate would be determined by the bandwidth of your radar signal.
Mike
Mike 2013-2-6
编辑:Mike 2013-2-7
Thank you.Can you help me more about sampling rate?

请先登录,再进行评论。

回答(2 个)

Honglei Chen
Honglei Chen 2013-2-5
编辑:Honglei Chen 2013-2-5
I suggest you to take look at Phased Array System Toolbox if you have access to it.
There are two issues with chirp:
  1. It only generates real chirp, if you want a complex band for your radar, you need to do it twice.
  2. It does not generate a pulse so if you are simulating a pulse radar, you need to pad zero yourself.
If you want to use chirp, the sample rate is defined in the first argument, T. The bandwidth is defined by the difference of F0 and F1 and the pulse width is defined in T1.
  14 个评论
Honglei Chen
Honglei Chen 2019-6-4
You can try hilbert which will return the analytical signal.
Mary Lanzerotti
Mary Lanzerotti 2019-7-12
Honglei Chen,
We were given a complex baseband signal, below. How can we create a pulsed waveform from this signal with 50% duty cycle? Also how can we output I(t) and Q(t) (as ascii files)?
% Waveform parameters
pulse_width = 100e-6;
bandwidth = 500e6;
center_frequency = 10e9;
% Receiver parameters
adc_sample_rate = 2e9;
lo_freq = 10e9; % For baseband, lo = center_freq of waveform
% FM Slope
lfm_slope = bandwidth / pulse_width;
% Number of ADC samples in a pulse
nsamp = pulse_width * adc_sample_rate;
% Sample time grid
t = ((0 : nsamp - 1) - 0.5 * (nsamp + 1)) / adc_sample_rate;
% Calculate transmit phase
phi_tx = pi * lfm_slope * t.^2 ...
+ 2*pi * (center_frequency) * t;
% Calculate receiver LO phase
phi_rcv = 2*pi * lo_freq * t;
% Calcuate phase of received signal
phi = phi_tx - phi_rcv;
% Calculate signal
s = exp(1i * phi); % Baseband signal is complex

请先登录,再进行评论。


Youssef  Khmou
Youssef Khmou 2013-2-6
编辑:Youssef Khmou 2013-2-6
Hi Mike , i suggest to take a look at this topic :
Here is the code :
Fs=1000; % sample rate
tf=2; % 2 seconds
t=0:1/Fs:tf-1/Fs;
f1=100;
f2=400; % start @ 100 Hz, go up to 400Hz
semi_t=0:1/Fs:(tf/2-1/Fs);
sl=2*(f2-f1/2);
f1=f1*semi_t+(sl.*semi_t/2);
f2=f1(end)+f2*semi_t-sl.*semi_t/2;
f=[f1 f2];
y=1.33*cos(2*pi*f.*t);
plot(t,y)
You alter the code by changing f1,f2 and Fs>2*f2 .
Or you can tape "chirp" in the Help Mat, to see the 5 EXAMPLES provided there with a good way to visualize the frequency via spectrogram .
  5 个评论
Youssef  Khmou
Youssef Khmou 2013-2-7
Hi, im afraid i can not tell to much about that, you can try to work with snapshots like getting 500 snapshots (small duration) from the source and sample with 24e+9. but an advice is needed from real-time specialist .

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by