Signal with sinusoidal frequency modulation
[Y,IFLAW] = fmsin(N) [Y,IFLAW] = fmsin(N, FNORMIN) [Y,IFLAW] = fmsin(N, FNORMIN, FNORMAX) [Y,IFLAW] = fmsin(N, FNORMIN, FNORMAX, PERIOD) [Y,IFLAW] = fmsin(N, FNORMIN, FNORMAX, PERIOD, T0) [Y,IFLAW] = fmsin(N, FNORMIN, FNORMAX, PERIOD, T0, FNORM0) [Y,IFLAW] = fmsin(N, FNORMIN, FNORMAX, PERIOD, T0, FNORM0, PM1)
a positive integer: number of points in time
a real scalar in [-0.5 0.5]: the smallest normalized frequency (default: 0.05)
a real scalar in [-0.5 0.5]: the highest normalized frequency (default: 0.45)
a positive scalar: the period of the sinusoidal fm (default: N )
an integer in [1 N]: the time reference for the phase(default: round(N/2)).
a real scalar in [-0.5 0.5]: the highest normalized frequency (default: (FNORMAX+FNORMIN)/2)
an integer value in {-1 +1}: the frequency direction at T0 (default: +1 )
a complex column vector of size N: the signal.
a real column vector of size N: the instantaneous frequency law (optional).
fmsin generates a frequency modulation with a sinusoidal frequency. This sinusoidal modulation is designed such that the instantaneous frequency at time T0 is equal to FNORM0, and the ambiguity between increasing or decreasing frequency is solved by PM1.
[X,IFLAW] = fmsin(140,0.05,0.45,100,20,0.3,-1.0); clf subplot(211); plot(real(X)); xtitle(_("Signal real part")) subplot(212); plot(IFLAW); xtitle(_("Instantaneous frequency law")) | ![]() | ![]() |