基带信号m(t)=sin(10πt)+sin(30πt),载波为c(t)=cos(2000πt),写出DSB信号表达式,编写Matlab代码实现对基带进行SSB调制,编写Matlab代码实现对基带进行SSB调制,并分别作出上边带调制和下边带调制信号的时域波形和幅度频谱图。
时间: 2024-03-24 13:41:11 浏览: 216
DSB信号表达式为:
s(t) = m(t) * c(t)
= [sin(10πt) + sin(30πt)] * cos(2000πt)
= 1/2 * [sin(2010πt) + sin(1970πt) + sin(2030πt) + sin(1970πt)]
SSB调制中,我们需要将DSB信号中的一个频带滤除,得到上(下)边带调制信号。
对于上边带调制,我们需要将基带信号m(t)乘以一个LPF,其截止频率为fc(载波频率),得到一个信号m_lp(t)。然后,我们将c(t)乘以cos(2πfc t),得到一个带有2fc的余弦波。最后,我们将m_lp(t)乘以这个余弦波,得到上边带调制信号s_USB(t)。
s_USB(t) = m_lp(t) * cos(2πfc t)
对于下边带调制,我们需要将基带信号m(t)乘以一个HPF,其截止频率为fc(载波频率),得到一个信号m_hp(t)。然后,我们将c(t)乘以sin(2πfc t),得到一个带有2fc的正弦波。最后,我们将m_hp(t)乘以这个正弦波,得到下边带调制信号s_LSB(t)。
s_LSB(t) = m_hp(t) * sin(2πfc t)
下面是Matlab代码实现:
```matlab
% 基带信号
t = linspace(0, 1, 1000);
m = sin(10*pi*t) + sin(30*pi*t);
% 载波信号
fc = 1000; % Hz
c = cos(2*pi*fc*t);
% DSB信号
dsb = m .* c;
% 上边带调制
lpf = fir1(100, fc/(2*pi));
m_lp = filter(lpf, 1, m);
usb = m_lp .* cos(2*pi*fc*t);
% 下边带调制
hpf = fir1(100, fc/(2*pi), 'high');
m_hp = filter(hpf, 1, m);
lsb = m_hp .* sin(2*pi*fc*t);
% 时域波形图
figure;
subplot(4,1,1); plot(t, m); title('基带信号');
subplot(4,1,2); plot(t, dsb); title('DSB信号');
subplot(4,1,3); plot(t, usb); title('上边带调制信号');
subplot(4,1,4); plot(t, lsb); title('下边带调制信号');
% 幅度频谱图
figure;
subplot(4,1,1); plot(abs(fft(m))); title('基带信号');
subplot(4,1,2); plot(abs(fft(dsb))); title('DSB信号');
subplot(4,1,3); plot(abs(fft(usb))); title('上边带调制信号');
subplot(4,1,4); plot(abs(fft(lsb))); title('下边带调制信号');
```
注意,SSB调制中使用的滤波器需要根据实际情况进行选择和设计。上面的代码中使用了FIR滤波器,截止频率为fc,阶数为100。如果需要更高的滤波器性能,可以使用IIR滤波器或者更高阶数的FIR滤波器。
阅读全文