matlab DSB时域信号和频域信号程序
时间: 2023-08-24 12:11:50 浏览: 130
DSB(Double Sideband)信号通常是通过调制原始信号的幅度来实现的。在时域和频域上,DSB信号的表示方式如下:
时域表示:
$$s(t) = A_c[1+m\cdot cos(2\pi f_m t)]\cdot cos(2\pi f_c t)$$
其中,$A_c$ 是载波的振幅,$f_c$ 是载波的频率,$m$ 是调制指数,$f_m$ 是调制信号的频率。
频域表示:
$$S(f) = \frac{A_c}{2}[M(f-f_c)+M(f+f_c)]$$
其中,$M(f)$ 是调制信号的频谱。DSB信号的频谱包含了两个镜像对称的副本,分别位于负载波频率的左右两侧。
以下是 MATLAB 中实现 DSB 信号的时域信号和频域信号程序:
时域信号:
```
Ac = 1; % 载波的振幅
fc = 100; % 载波的频率
m = 0.5; % 调制指数
fm = 10; % 调制信号的频率
t = 0:0.0001:0.1; % 时间范围
% 原始信号
m_t = cos(2*pi*fm*t);
% DSB信号
s_t = Ac*(1+m*m_t).*cos(2*pi*fc*t);
% 绘制时域信号
plot(t, s_t)
xlabel('时间 (s)')
ylabel('幅度')
title('DSB 时域信号')
```
频域信号:
```
Ac = 1; % 载波的振幅
fc = 100; % 载波的频率
m = 0.5; % 调制指数
fm = 10; % 调制信号的频率
f = -500:0.01:500; % 频率范围
% 原始信号
M_f = abs(sinc(f/fm)); % 矩形脉冲函数的频谱
% DSB信号
S_f = (Ac/2)*(M_f.*exp(-1i*2*pi*f*fc) + conj(M_f).*exp(1i*2*pi*f*fc));
% 绘制频域信号
plot(f, abs(S_f))
xlabel('频率 (Hz)')
ylabel('幅度')
title('DSB 频域信号')
```
注意,由于 DSB 信号的频谱是对称的,因此程序中只绘制了正半轴的频谱。
阅读全文