如何使用 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 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告