# fmmod

Frequency modulation

## Syntax

`y = fmmod(x,Fc,Fs,freqdev)y = fmmod(x,Fc,Fs,freqdev,ini_phase)`

## Description

`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.

## Examples

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); ```