How to generate Narrowband and Wideband FM signal using GNU-Octave? - GeeksforGeeks

09 Jul, 2021
In this article,  we are going to discuss how to generate the Narrowband and Wideband FM signal using MATLAB.
Frequency Modulation popularly known as FM is a kind of analog modulation technique in which the frequency of the high-frequency carrier signal is varied according to the amplitude of the modulating (message) signal while the amplitude and the phase of the carrier signal remain constant or unchanged.
where;  fm = FM signal, 
Ac = Amplitude of carrier signal, 
fc = Carrier Frequency,
 fm = Modulating Frequency,
 t = time,  & b = Frequency modulation index.
FM signals are classified into two broad categories depending upon the value of the frequency modulation index (b):
Narrowband FM
Wideband FM
In general, the FM signals which have their frequency modulation index (b<1) less than unity are called Narrowband FM signals. Usually, narrowband FM signals are used in low-cost two-way radio communication systems like a walkie-talkie.
To generate the narrowband FM signal, we will be using the standard equation of the FM signal and pass the value of the frequency modulation index (b) less than unity. 
Example:
Matlab
%  MATLAB code to generate the narrowband FM signalclc;       % Clears the Command Windowclear all; % Clears the Workspaceclose all; % Closes all the Windows opened by the program  % Time sampling where Step Size = 0.001t = 0:0.001:1;fm = 20; % frequency of the Message signalfc = 250; % frequency of the Carrier signal  % Take the user input for the Frequency Modulation Index (b)% (b) must be less than 1b = input("Enter the value of b (<1): ");  % Define the Message signal% here its a Sine wavemsg = sin(2*pi*fm*t);  % Define the Carrier signal% here it is a Cosine wavecrr = cos(2*pi*fc*t);  % Narrowband FM Signal generationnb_fm = cos((2*pi*fc*t)+(b*sin(2*pi*fm*t)));  % Plot all the three signalsfigure('Name','Narrowband FM Signal Generation');  % Message Signalsubplot(3,1,1);plot(t, msg, 'b', 'Linewidth', 1.5);title('Message signal');xlabel('Time')ylabel('Amplitude')grid on;  % Carrier Signalsubplot(3,1,2);plot(t, crr, 'r', 'Linewidth', 1.5);title('Carrier signal');xlabel('Time')ylabel('Amplitude')grid on;  % Narrowband FM Signalsubplot(3,1,3);plot(t, nb_fm, 'g', 'Linewidth', 1.5);title('Narrowband FM signal');xlabel('Time')ylabel('Amplitude')grid on;
Output:
Enter the value of b (<1): 0.55
Output: Narrowband FM Signal Generation
Unlike the narrowband FM signals, wideband FM signals are the FM signals whose frequency modulation index (b>1) is greater than unity. Normally, wideband signals are used for high-quality broadcast transmission.
To generate the wideband FM signal, we will be using the standard equation of the FM signal and pass the value of the frequency modulation index (b) greater than unity. 
Example:
Matlab
%  MATLAB code to generate the wideband FM signalclc;       % Clears the Command Windowclear all; % Clears the Workspaceclose all; % Closes all the Windows opened by the program  % Time sampling where Step Size = 0.001t = 0:0.001:1;  fm = 20; % frequency of the Message signalfc = 250; % frequency of the Carrier signal  % Take the user input for the Frequency Modulation Index (b)% (b) must be greater than 1b = input("Enter the value of b (>1): ");  % Define the Message signal% here its a Sine wavemsg = sin(2*pi*fm*t);  % Define the Carrier signal% here it is a Cosine wavecrr = cos(2*pi*fc*t);  % Wideband FM Signal generationwb_fm = cos((2*pi*fc*t)+(b*sin(2*pi*fm*t)));  % Plot all the three signalsfigure('Name','Wideband FM Signal Generation');  % Message Signalsubplot(3,1,1);plot(t, msg, 'b', 'Linewidth', 1.5);title('Message signal');xlabel('Time')ylabel('Amplitude')grid on;  % Carrier Signalsubplot(3,1,2);plot(t, crr, 'r', 'Linewidth', 1.5);title('Carrier signal');xlabel('Time')ylabel('Amplitude')grid on;  % Wideband FM Signalsubplot(3,1,3);plot(t, wb_fm, 'g', 'Linewidth', 1.5);title('Wideband FM signal');xlabel('Time')ylabel('Amplitude')grid on;
Output:
Enter the value of b (>1): 2.5
Output: Wideband FM Signal Generation
MATLAB
MATLAB-programs
MATLAB
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
How to Remove Noise from Digital Image in Frequency Domain Using MATLAB?
MRI Image Segmentation in MATLAB
How to Solve Histogram Equalization Numerical Problem in MATLAB?
How to Normalize a Histogram in MATLAB?
Laplace Transform in MATLAB
Laplacian of Gaussian Filter in MATLAB
Forward and Inverse Fourier Transform of an Image in MATLAB
Adaptive Histogram Equalization in Image Processing Using MATLAB
How to Remove Salt and Pepper Noise from Image Using MATLAB?
Boundary Extraction of image using MATLAB