MATLAB AM DSB SSB VSB的解调
时间: 2024-03-11 08:49:18 浏览: 99
工程文件_reportf8a_ssb_VSB调制解调_AM_VSB_
在MATLAB中,可以使用以下函数进行AM、DSB、SSB、VSB信号的解调:
1. 幅度调制(AM)解调:amdemod函数
```matlab
fc = 1000; %载波频率
fs = 10000; %采样频率
t = 0:1/fs:1; %时间序列
Ac = 1; %载波振幅
Am = 0.5; %调制信号振幅
fm = 10; %调制信号频率
m = Am*cos(2*pi*fm*t); %调制信号
c = Ac*cos(2*pi*fc*t); %载波信号
s = m.*c; %调制信号与载波信号相乘
r = s.*cos(2*pi*fc*t); %接收到的AM信号
y = amdemod(r,fc,fs,'hilbert'); %使用amdemod函数进行解调
```
2. 幅度调制(DSB)解调:dsbdemod函数
```matlab
fc = 1000; %载波频率
fs = 10000; %采样频率
t = 0:1/fs:1; %时间序列
Ac = 1; %载波振幅
Am = 0.5; %调制信号振幅
fm = 10; %调制信号频率
m = Am*cos(2*pi*fm*t); %调制信号
c = Ac*cos(2*pi*fc*t); %载波信号
s = m.*c; %调制信号与载波信号相乘
r = s.*cos(2*pi*fc*t); %接收到的DSB信号
y = dsbdemod(r,fc,fs);
```
3. 单边带调制(SSB)解调:ssbdemod函数
```matlab
fc = 1000; %载波频率
fs = 10000; %采样频率
t = 0:1/fs:1; %时间序列
Ac = 1; %载波振幅
Am = 0.5; %调制信号振幅
fm = 10; %调制信号频率
m = Am*cos(2*pi*fm*t); %调制信号
c = Ac*cos(2*pi*fc*t); %载波信号
s = m.*c; %调制信号与载波信号相乘
ssb = ssbmod(m,fc,fs); %使用ssbmod函数进行单边带调制
r = ssb.*cos(2*pi*fc*t); %接收到的SSB信号
y = ssbdemod(r,fc,fs,0,'upper'); %使用ssbdemod函数进行解调
```
4. 余边抑制调制(VSB)解调:vestigialdemod函数
```matlab
fc = 1000; %载波频率
fs = 10000; %采样频率
t = 0:1/fs:1; %时间序列
Ac = 1; %载波振幅
Am = 0.5; %调制信号振幅
fm = 10; %调制信号频率
m = Am*cos(2*pi*fm*t); %调制信号
c = Ac*cos(2*pi*fc*t); %载波信号
s = m.*c; %调制信号与载波信号相乘
vestigial = vestigialmod(m,fc,fs); %使用vestigialmod函数进行余边抑制调制
r = vestigial.*cos(2*pi*fc*t); %接收到的VSB信号
y = vestigialdemod(r,fc,fs,0.2); %使用vestigialdemod函数进行解调
```
以上函数的输出结果都是解调后的信号,可以通过MATLAB的绘图函数进行绘制。
阅读全文