已知基带信号m(t)=sin(10Πt)+sin(30Πt),载波为c(t)=cos(2000Πt),对该基带信号进行SSB调制解调 (1)写出SSB信号表达式,编写Matlab代码实现对基带进行SSB调制,并分别作出上边带调制和下边带调制信号的时域波形和幅度频谱图。 (2)编写Matlab代码实现对SSB调制信号的相干解调,并作出图形。
时间: 2024-02-24 20:59:08 浏览: 135
(1) SSB信号表达式:
上边带调制信号:s(t) = m(t)cos(2Πfct) - j * h(t)sin(2Πfct)
下边带调制信号:s(t) = m(t)cos(2Πfct) + j * h(t)sin(2Πfct)
其中,h(t)为带通滤波器的输出,fct为载波频率,j为虚数单位。
Matlab代码实现:
```matlab
% 基带信号
t = 0:0.0001:0.1;
m = sin(10*pi*t) + sin(30*pi*t);
figure(1);
subplot(3,1,1);plot(t,m);title('基带信号时域波形');
xlabel('时间/s');ylabel('幅度');
% 上边带调制
fct = 2000;
c = cos(2*pi*fct*t);
susb = m .* c - imag(hilbert(m)) .* sin(2*pi*fct*t);
subplot(3,1,2);plot(t,susb);title('上边带调制信号时域波形');
xlabel('时间/s');ylabel('幅度');
% 下边带调制
sdsb = m .* c + imag(hilbert(m)) .* sin(2*pi*fct*t);
subplot(3,1,3);plot(t,sdsb);title('下边带调制信号时域波形');
xlabel('时间/s');ylabel('幅度');
% 幅度频谱图
figure(2);
subplot(3,1,1);plot(abs(fft(m)));title('基带信号幅度频谱图');
xlabel('频率/Hz');ylabel('幅度');
subplot(3,1,2);plot(abs(fft(susb)));title('上边带调制信号幅度频谱图');
xlabel('频率/Hz');ylabel('幅度');
subplot(3,1,3);plot(abs(fft(sdsb)));title('下边带调制信号幅度频谱图');
xlabel('频率/Hz');ylabel('幅度');
```
(2) 相干解调:
相干解调的原理是将调制信号与相同频率、同相的载波相乘,再经过低通滤波器滤除高频分量,得到原始基带信号。
Matlab代码实现:
```matlab
% 相干解调
susb_demod = susb .* cos(2*pi*fct*t);
sdsb_demod = sdsb .* cos(2*pi*fct*t);
% 低通滤波
[b,a] = butter(6, 2*50*0.0001); % 50Hz的带宽
m_susb = filter(b, a, susb_demod);
m_sdsb = filter(b, a, sdsb_demod);
% 画图
figure(3);
subplot(2,1,1);plot(t,m_susb);title('上边带调制信号相干解调后的波形');
xlabel('时间/s');ylabel('幅度');
subplot(2,1,2);plot(t,m_sdsb);title('下边带调制信号相干解调后的波形');
xlabel('时间/s');ylabel('幅度');
```
阅读全文