如何使用 MATLAB 生成窄带和宽带 FM 信号?


FM 代表 调频,这是一种在通信系统中用于长距离传输数据和信息的技巧。调频涉及改变信号的频率,以便能够在长距离传输过程中,而不失真地传输信息。在本教程中,我将解释如何使用 MATLAB 生成窄带和宽带 FM 信号

在学习如何生成窄带和宽带 FM 信号之前,让我们先了解一下 FM 信号及其类型。

什么是 FM 信号?

FM 信号是一种调制信号,它通过改变瞬时频率来获得,同时保持信号的幅度和相位不变。它是电信和广播中使用最广泛的模拟调制技术之一。

  • 在调频中,使用一个称为载波信号的高频信号来承载原始消息信号,将其传输到远距离。

  • 当原始消息信号叠加到高频载波信号上时,得到的信号称为“调频信号”。

  • 有一个名为调制指数(用符号“β”表示)的参数用于确定调制的程度。它在控制调频信号的带宽和特性方面起着至关重要的作用。

FM 信号的类型

根据调制指数的值,FM 信号可以分为以下两种类型:

  • 窄带 FM 信号

  • 宽带 FM 信号

让我们详细讨论这两种类型的 FM 信号。

什么是窄带 FM 信号?

窄带 FM 信号,也称为 NBFM 信号,是一种调制指数小于 1 的 FM 信号,即 β < 1。

窄带 FM 信号与载波信号的频率偏差较小。此外,该信号具有相对较窄的带宽,该带宽取决于调制信号的频率。

窄带 FM 信号主要用于带宽受限的通信系统和音频信号广播。

什么是宽带 FM 信号?

宽带 FM 信号是一种调制指数大于 1 的 FM 信号,即 β > 1。它也称为 WBFM 信号。因此,宽带 FM 信号与载波信号的频率偏差较大。它也具有较宽的带宽。

宽带 FM 信号主要用于 FM 无线电广播、雷达系统和一些特殊类型的通信系统。

现在让我们学习如何使用 MATLAB 生成窄带和宽带信号。

使用 MATLAB 生成窄带 FM 信号

在 MATLAB 中,有一个内置函数“fmmod”可用于生成窄带 FM 信号。

使用 MATLAB 生成窄带 FM 信号涉及的步骤如下:

  • 步骤 (1) - 定义调频的时间采样。

  • 步骤 (2) - 指定消息信号和载波信号的频率。

  • 步骤 (3) - 生成消息信号和载波信号。

  • 步骤 (4) - 指定调制指数。对于窄带信号,它应该小于 1。

  • 步骤 (5) - 使用“fmmod”函数生成窄带 FM 信号。

  • 步骤 (6) - 显示生成的窄带 FM 信号。

示例

让我们举一个例子,从实践上了解如何在 MATLAB 中生成窄带 FM 信号。

% MATLAB program to generate narrowband FM signal
% Define the time sampling for frequency modulation
fs = 2000;  % Sampling frequency (2 kHz)
t = 0:1/fs:5;  % Time from 0 to 5 second with a sampling rate of 2 kHz

% Specify the frequencies of message and carrier signals
fm = 50;	% Frequency of message signal (50 Hz)
fc = 300;	% Frequency of carrier signal (300 Hz)

% Generate the message signal and carrier signal
m = sin(2*pi*fm*t);
c = cos(2*pi*fc*t);

% Provide the modulation index (beta)
beta = input('Enter the modulation index (for narrowband signal, beta < 1): ');

% Generate the narrowband FM signal
nbfm = fmmod(m, fc, fs, beta);

% Display the message, carrier, and narrowband signals
figure;

subplot(3,1,1);
plot(t, m, 'r', 'Linewidth', 2);
title('Message Signal');
xlabel('Time');
ylabel('Amplitude');
grid on;

subplot(3,1,2);
plot(t, c, 'b', 'Linewidth', 2);
title('Carrier Signal');
xlabel('Time');
ylabel('Amplitude');
grid on;

subplot(3,1,3);
plot(t, nbfm, 'g', 'Linewidth', 2);
title('Narrowband FM Signal');
xlabel('Time')
ylabel('Amplitude')
grid on;

在 MATLAB 编译器中运行此 MATLAB 代码以获取输出。确保您的 MATLAB 编译器已安装通信工具箱。

使用 MATLAB 生成宽带 FM 信号

我们也可以使用“fmmod”函数生成宽带 FM 信号。

使用 MATLAB 生成宽带 FM 信号涉及的步骤如下:

  • 步骤 (1) - 定义调频的时间采样。

  • 步骤 (2) - 指定消息信号和载波信号的频率。

  • 步骤 (3) - 生成消息信号和载波信号。

  • 步骤 (4) - 指定调制指数。对于宽带信号,它应该大于 1。

  • 步骤 (5) - 使用“fmmod”函数生成宽带 FM 信号。

  • 步骤 (6) - 显示生成的宽带 FM 信号。

示例

让我们看一个示例,了解如何使用 MATLAB 生成宽带 FM 信号。

% MATLAB program to generate wideband FM signal
% Define the time sampling for frequency modulation
fs = 2000;	% Sampling frequency (2 kHz)
t = 0:1/fs:5;	% Time from 0 to 5 second with a sampling rate of 2 kHz

% Specify frequencies of message and carrier signals
fm = 500;	% Frequency of message signal frequency (500 Hz)
fc = 150;	% Frequency of carrier signal (150 Hz)

% Generate message and carrier signals
m = sin(2*pi*fm*t);
c = cos(2*pi*fc*t);

% Provide the modulation index 
beta = input('Enter the modulation index (beta > 1 for wideband signal): ');

% Generate wideband FM signal
wbfm = fmmod(m, fc, fs, beta);

% Display the message, carrier, and wideband signals
figure;
subplot(3,1,1);
plot(t, m, 'r', 'Linewidth', 2);
title('Message Signal');
xlabel('Time')
ylabel('Amplitude')
grid on;

subplot(3,1,2);
plot(t, c, 'b', 'Linewidth', 2);
title('Carrier Signal');
xlabel('Time')
ylabel('Amplitude')
grid on;

subplot(3,1,3);
plot(t, wbfm, 'g', 'Linewidth', 2);
title('Wideband FM Signal');
xlabel('Time')
ylabel('Amplitude')
grid on;

在安装了通信工具箱的 MATLAB 编译器中运行此代码以获取输出

结论

这就是使用 MATLAB 生成窄带和宽带 FM 信号的全部内容。在 MATLAB 中,我们必须在执行调频时控制调制指数“beta”。如果 beta > 1,则得到的调频信号将是宽带 FM 信号,如果 beta < 1,则调频信号将是窄带 FM 信号。在本教程中,我通过示例解释了使用 MATLAB 生成窄带和宽带 FM 信号的过程。

更新于: 2023-10-05

598 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告