Generate complex Doppler signal
[FM,AM,IFLAW] = doppler(N, FS, F0, D, V) [FM,AM,IFLAW] = doppler(N, FS, F0, D, V, T0) [FM,AM,IFLAW] = doppler(N, FS, F0, D, V, T0, C)
a positive integer: the number of points.
a positive scalar : the sampling frequency (in Hertz).
a scalar in ]0 FS/2]: the target frequency (in Hertz).
a positive scalar: the distance from the line to the observer (in meters).
a positive scalar: the target velocity (in m/s).
a positive integer in [1 N]: the time center index (default : round(N/2)).
a positive scalar: the wave velocity (in m/s) (default : 340).
a real column vector of size N: the output frequency modulation.
a real column vector of size N: the output amplitude modulation.
a real column vector of size N: the output instantaneous frequency law.
Returns the frequency modulation (FM), the amplitude modulation (AM) and the instantaneous frequency law (IFLAW) of the signal received by a fixed observer from a moving target emitting a pure frequency f0.
rand("seed",0) N = 512; [fm,am,iflaw] = doppler(N,200,65,10,50); clf subplot(211); plot(real(am.*fm));xtitle(_("Signal ")) subplot(212); plot(iflaw); [ifhat,t] = instfreq(sigmerge(am.*fm,noisecg(N),15),11:502,10); plot(t,ifhat,'g'); xtitle(_("Instantaneous frequency")) legend([_("Requested"),_("Observed")]); | ![]() | ![]() |