# FM modulation audio 50 Hz – 16 kHz MATLAB

I'm trying to modulate in FM an audio signal $x(t)$ coming from a microphone which works from 50 Hz to 16 kHz in MATLAB.

But the problem is that I want a FM Bandwidth of 25 kHz at the output of modulator.

I have some problems to do this:

The FM bandwidth for any signal using Carson's rule is:

$$BT = \left(\frac{f_d \max\vert x(t)\vert}{W}+ 1\right)W$$

where $W$ is the maximum bandwidth (15.950 kHz in this case) of the modulating signal and $\max\vert x(t) \vert$ is the max value of the modulating signal in $Vp$.

The thing is I have to adjust the deviation sensibility $f_d$ (slope) to get the desired FM bandwidth, but how to know $\max\vert x(t)\vert$ in the microphone datasheet? or even using an amplifier between microphone and modulator?

In the old PC WAV audio standard, 8-bit channels sent a maximum value of integer 255 with a bias of 128. The 16-bit channels used a signed format with maximum corresponding to $2^{15}$. Note that this value is typically mapped to some range and converted to floating point values for further processing such as done in MATLAB. So be aware of that.