已知基带信号m(t)=sin(10Πt)+sin(30Πt),载波为c(t)=cos(2000Πt),对该基带信号进行DSB调制解调 (1)写出DSB信号表达式,编写Matlab代码实现对基带进行DSB调制,并分别作出DSB信号的时域波形和幅度频谱图。 (2)编写Matlab代码实现对DSB调制信号的相干解调,并作出图形。
时间: 2024-02-24 14:56:52 浏览: 103
遗传算法求F(X)=X_SIN(AΠ_X)+B最大值.pdf
(1)DSB信号表达式为:
s(t) = m(t) * c(t) = [sin(10Πt) + sin(30Πt)] * cos(2000Πt)
用三角恒等式展开:
s(t) = 0.5 * [sin(2010Πt) - sin(1970Πt) + sin(2030Πt) - sin(1970Πt)]
用Matlab代码实现DSB调制:
```matlab
clear all;
close all;
% 参数设置
fm = 10; % 基带信号频率(Hz)
fc = 1000; % 载波频率(Hz)
fs = 10000; % 采样频率(Hz)
t = 0:1/fs:1; % 采样时间序列
% 基带信号
m = sin(2*pi*fm*t) + sin(2*pi*3*fm*t);
% 载波信号
c = cos(2*pi*fc*t);
% DSB调制信号
s = m .* c;
% 时域波形图
subplot(2,1,1);
plot(t, s);
xlabel('Time (s)');
ylabel('Amplitude');
title('DSB Modulation');
% 幅度频谱图
subplot(2,1,2);
f = -fs/2:fs/length(s):fs/2-fs/length(s);
plot(f, abs(fftshift(fft(s))));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Amplitude Spectrum');
```
(2)DSB调制信号的相干解调,可以采用乘法器将接收到的信号与同频率的本地振荡器进行相乘,然后通过低通滤波器滤掉高频分量,得到原始的基带信号。具体的表达式为:
r(t) = s(t) * cos(2πfc t)
y(t) = lowpass(r(t), 2fm)
用Matlab代码实现相干解调:
```matlab
% 本地振荡器信号
lo = cos(2*pi*fc*t);
% 相干解调信号
r = s .* lo;
y = lowpass(r, 2*fm, fs);
% 时域波形图
figure;
subplot(2,1,1);
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Coherent Demodulation');
% 幅度频谱图
subplot(2,1,2);
plot(f, abs(fftshift(fft(y))));
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('Amplitude Spectrum');
```
注意:这里采用了一个低通滤波器对解调后的信号进行滤波,以去除高频分量。滤波器的截止频率应该设为基带信号频率的两倍,即2fm。
阅读全文