y = fmmod(x,Fc,Fs,freqdev)
y = fmmod(x,Fc,Fs,freqdev,ini_phase)
y = fmmod(x,Fc,Fs,freqdev) modulates the message signal x using frequency modulation. The carrier signal has frequency Fc (Hz) and sampling rate Fs (Hz), where Fs must be at least 2*Fc. The freqdev argument is the frequency deviation constant (Hz) of the modulated signal.
y = fmmod(x,Fc,Fs,freqdev,ini_phase) specifies the initial phase of the modulated signal, in radians.
The code below modulates a multichannel signal using fmmod and demodulates it using fmdemod.
Fs = 8000; % Sampling rate of signal Fc = 3000; % Carrier frequency t = [0:Fs-1]'/Fs; % Sampling times s1 = sin(2*pi*300*t)+2*sin(2*pi*600*t); % Channel 1 s2 = sin(2*pi*150*t)+2*sin(2*pi*900*t); % Channel 2 x = [s1,s2]; % Two-channel signal dev = 50; % Frequency deviation in modulated signal y = fmmod(x,Fc,Fs,dev); % Modulate both channels. z = fmdemod(y,Fc,Fs,dev); % Demodulate both channels. plot(z);