📅  最后修改于: 2023-12-03 15:22:19.123000             🧑  作者: Mango
单边带调制(Single SideBand Modulation, 简称SSB)是一种比调幅调制(AM)更高效的调制方法。SSB调制的核心思想是只传输信号的一个侧带,避免了传输冗余信号带来的浪费。
下面我们将依次介绍每一步的实现方法。
使用MATLAB生成一个简单的示波器信号:
fs = 100e3; % 采样率
t = (0:1/fs:0.1)';
f1 = 2e3; % 信号频率
f2 = 9e3;
s = sin(2*pi*f1*t) + 0.3*sin(2*pi*f2*t); % 信号
使用MATLAB计算信号的频谱:
N = length(s); % 信号长度
f = (-N/2:N/2-1)*fs/N; % 频率轴
S = fftshift(fft(s)); % FFT
为了避免传输冗余信息,我们只传输信号的一个侧带。可以选择一个低通滤波器,把信号的一个侧带滤波出来。
[b, a] = butter(5, 2*pi*(f2-f1)/fs/2, 'low'); % 低通滤波器的系数
s_f = filter(b, a, s); % 滤波后的信号
将信号映射到单边带,可以使用希尔伯特变换实现。
h = hilbert(s_f); % 希尔伯特变换
s_f_h = s_f.*exp(-1j*2*pi*f1*t); % 映射到单边带
使用载波进行调制:
fc = 100e3; % 载波频率
x = real(s_f_h.*exp(1j*2*pi*fc*t)); % 调制信号
使用同频率的载波进行解调:
y = x.*cos(2*pi*fc*t); % 解调信号
y_f = filter(b, a, y); % 滤波
以上就是MATLAB实现单边带调制的所有步骤,可以根据需要进行调整和优化。