matlab 模拟信号调制
时间: 2023-11-26 12:47:41 浏览: 42
以下是Matlab实现模拟信号调制的示例代码:
1. DSB调制
```matlab
% 设置参数
fc = 1000; % 载波频率
fm = 100; % 基带信号频率
fs = 10000; % 采样频率
t = 0:1/fs:1; % 时间序列
% 生成基带信号
m = sin(2*pi*fm*t);
% 生成载波信号
c = cos(2*pi*fc*t);
% DSB调制
s = m .* c;
% 绘制波形图
subplot(3,1,1);
plot(t,m);
title('基带信号');
xlabel('时间');
ylabel('幅度');
subplot(3,1,2);
plot(t,c);
title('载波信号');
xlabel('时间');
ylabel('幅度');
subplot(3,1,3);
plot(t,s);
title('DSB调制信号');
xlabel('时间');
ylabel('幅度');
```
2. SSB调制
```matlab
% 设置参数
fc = 1000; % 载波频率
fm = 100; % 基带信号频率
fs = 10000; % 采样频率
t = 0:1/fs:1; % 时间序列
% 生成基带信号
m = sin(2*pi*fm*t);
% 生成载波信号
c = cos(2*pi*fc*t);
% SSB调制
h = hilbert(m); % Hilbert变换
u = real(h .* exp(1i*2*pi*fc*t)); % 上变频
l = imag(h .* exp(-1i*2*pi*fc*t)); % 下变频
s = u + l; % 合成
% 绘制波形图
subplot(4,1,1);
plot(t,m);
title('基带信号');
xlabel('时间');
ylabel('幅度');
subplot(4,1,2);
plot(t,c);
title('载波信号');
xlabel('时间');
ylabel('幅度');
subplot(4,1,3);
plot(t,u);
title('上变频信号');
xlabel('时间');
ylabel('幅度');
subplot(4,1,4);
plot(t,l);
title('下变频信号');
xlabel('时间');
ylabel('幅度');
```
3. DSC调制
```matlab
% 设置参数
fc = 1000; % 载波频率
fm = 100; % 基带信号频率
fs = 10000; % 采样频率
t = 0:1/fs:1; % 时间序列
% 生成基带信号
m = sin(2*pi*fm*t);
% 生成载波信号
c = cos(2*pi*fc*t);
% DSC调制
s = m .* c .* sign(m);
% 绘制波形图
subplot(3,1,1);
plot(t,m);
title('基带信号');
xlabel('时间');
ylabel('幅度');
subplot(3,1,2);
plot(t,c);
title('载波信号');
xlabel('时间');
ylabel('幅度');
subplot(3,1,3