📜  使用GNU八度基于调制深度(调制因子)的幅度调制

📅  最后修改于: 2021-04-16 08:38:43             🧑  作者: Mango

调制 在通信系统中,它是一种广泛使用的过程,其中,根据低频消息信号的瞬时值来改变诸如高频载波的幅度,频率或相位角之类的特性。

幅度调制是一种在电子通信中使用的调制技术,通常用于通过载波传输数据。在幅度调制中,作为载波信号质量的幅度相对于要发送的消息信号的幅度有所不同。

调制技术主要有三种类型:幅度调制频率调制相位调制 

在本文中,我们将讨论如何使用GNU Octave生成调幅波形。

GNU Octave是支持高级编程语言的开源软件。就编写用于执行各种数学运算或绘图的程序/代码而言,它与MATLAB相似。您可以从此处了解如何在Octave上执行基本操作。

可以使用Octave通过以下程序来生成正弦波的幅度调制:

分配所有必需的参数:

MATLAB
% time sampling where Step Size = 0.001
t = 0:0.001:1
  
% frequency of input or modulating signal
fm = 10
  
% frequency of output or modulated signal
fc = 100


MATLAB
% Input or Modulating Signal
input_signal = sin(2 * pi * fm * t)
plot(input_signal,'k') % 'k' gives black colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Input or Modulating Signal')


MATLAB
% Carrier Signal
carrier_signal = sin(2 * pi * fc *t)
plot(carrier_signal,'r') % 'r' gives red colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Carrier Signal')


MATLAB
% Output or Amplitude Modulated Signal (Under Modulated)
m = 0.5 % modulation factor (m < 1)
under_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(under_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Under Modulated Output Signal (m < 1)')


MATLAB
% Output or Amplitude Modulated Signal (Fully or Critically Modulated)
m = 1.0 % modulation factor (m = 1)
fully_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(fully_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Critically Modulated Output Signal (m = 1)')


MATLAB
% Output or Amplitude Modulated Signal (Over Modulated)
m = 1.5 % modulation factor (m > 1)
over_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(over_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Over Modulated Output Signal (m > 1)')


可视化调制信号的程序:

的MATLAB

% Input or Modulating Signal
input_signal = sin(2 * pi * fm * t)
plot(input_signal,'k') % 'k' gives black colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Input or Modulating Signal')

输出:

可视化载波信号的程序:

的MATLAB

% Carrier Signal
carrier_signal = sin(2 * pi * fc *t)
plot(carrier_signal,'r') % 'r' gives red colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Carrier Signal')

输出:

取决于调制因子的值(也称为调制深度(m)),存在三种不同的幅度调制情况。调制因子可以定义为调制信号的最大和最小幅度之差与这些幅度之和的比值。

  • 在调制下(m <1)

的MATLAB

% Output or Amplitude Modulated Signal (Under Modulated)
m = 0.5 % modulation factor (m < 1)
under_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(under_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Under Modulated Output Signal (m < 1)')

输出:

  • 关键或完全调制(m = 1)

的MATLAB

% Output or Amplitude Modulated Signal (Fully or Critically Modulated)
m = 1.0 % modulation factor (m = 1)
fully_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(fully_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Critically Modulated Output Signal (m = 1)')

输出:

  • 过调制(m> 1)

的MATLAB

% Output or Amplitude Modulated Signal (Over Modulated)
m = 1.5 % modulation factor (m > 1)
over_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(over_modulated_signal,'b') % 'b' gives blue colour plot
  
xlabel('Time')
ylabel('Amplitude')
title('Over Modulated Output Signal (m > 1)')

输出:

如果要使用MATLAB实现幅度调制,请从此处获取指导。