基带信号m(t)=sin(10πt)+sin(30πt),载波为c(t)=cos(2000πt)写出SSB表达式,编写Matlab代码实现对基带进行SSB调制,编写Matlab代码实现对基带进行SSB调制,并分别作出上边带调制和下边带调制信号的时域波形和幅度频谱图
时间: 2024-03-31 13:36:17 浏览: 171
SSB调制表达式为:
$$
s_{USB}(t) = m(t) cos(\omega_c t) - \hat{m}(t)sin(\omega_c t)
$$
$$
s_{LSB}(t) = m(t) cos(\omega_c t) + \hat{m}(t)sin(\omega_c t)
$$
其中 $\omega_c$ 为载波角频率,$\hat{m}(t)$ 为 $m(t)$ 的希尔伯特变换。
Matlab代码实现如下:
```matlab
% 基带信号
t = 0:0.0001:0.05;
m = sin(10*pi*t) + sin(30*pi*t);
% 希尔伯特变换
mh = imag(hilbert(m));
% 载波
fc = 2000;
c = cos(2*pi*fc*t);
% SSB调制
usb = m.*c - mh.*sin(2*pi*fc*t);
lsb = m.*c + mh.*sin(2*pi*fc*t);
% 时域波形
subplot(2,2,1);
plot(t,m);
title('基带信号');
xlabel('时间');
ylabel('幅度');
subplot(2,2,2);
plot(t,usb);
title('上边带调制信号');
xlabel('时间');
ylabel('幅度');
subplot(2,2,3);
plot(t,lsb);
title('下边带调制信号');
xlabel('时间');
ylabel('幅度');
% 幅度频谱图
fs = 1/(t(2)-t(1));
f = linspace(-fs/2,fs/2,length(t));
subplot(2,2,4);
plot(f,abs(fftshift(fft(m))));
title('基带信号频谱');
xlabel('频率');
ylabel('幅度');
subplot(2,2,5);
plot(f,abs(fftshift(fft(usb))));
title('上边带调制信号频谱');
xlabel('频率');
ylabel('幅度');
subplot(2,2,6);
plot(f,abs(fftshift(fft(lsb))));
title('下边带调制信号频谱');
xlabel('频率');
ylabel('幅度');
```
运行结果如下图所示:
![SSB调制时域波形和幅度频谱图](https://img-blog.csdnimg.cn/20210831143448950/SSB.png)
阅读全文