基于matlab通信系统中的调制解调

基于matlab通信系统中的模拟调制解调

%可以将am fm pm amssb amdsb-tc
fm=10;fc=100;
am=sqrt(2);
Fs=1000;     %采样频率Fs,载波频率fc,信号频率fm
wc=2*pi*fc;  %相乘fc+fm fc-fm
wm=fm*2*pi;
N=1000;
n=1:N;
t=n/Fs;             %时间序列
f=n*Fs/N; %频率序列,要是看双边谱,就用floor(-(N-1/2:N/2;建立频率序列
model=input('调制方式是:','s');  %后面加s代表输入的是字符创,不加是数字
%% 基带信号时域
sm=am*cos(wm*t);
figure(1);
subplot(211);
plot(t,sm);
title('基带信号');
xlabel('t');
axis([0 1 -2 2]);
grid on
%基带信号频域
S=fft(sm,N);%N点的fft
SG=abs(S);
subplot(212);
plot(f(1:N/2),2*SG(1:N/2)/N);      %基带信号频域波形
xlabel('Frequency(HZ)');
title('基带信号频域波形 ');
grid on;
 
%% 幅度调制信号时域
s=modulate(sm,fc,Fs,model);       %对调制信号进行调制
S=fft(s,N);
SG=abs(S);
figure(2);
subplot(211);
plot(t,s);                          %已调信号时域波形
title('已调信号时域波形 ');        
xlabel('t');
 % 幅度调制信号频域域
subplot(212);
plot(f(1:N/2),2*SG(1:N/2)/N);            %已调信号频域波形
xlabel('Frequency(HZ)');
title('已调信号频域波形 ');
grid on;
 
%-------------------------------------------------------------------------
%% 解调
fm=10;%信号频率fm
fc=100;%载波频率fc
am=sqrt(2);
Fs=1000;     %采样频率Fs
wc=2*pi*fc;
wm=fm*2*pi;
N=1000;
n=1:N;
t=n/Fs;      %时间序列
f=n*Fs/N;    %频率序列
sm=am*cos(wm*t);
s=modulate(sm,fc,Fs,'am');  
sd=demod(s,fc,Fs,'am');         %对已调信号进行解调
SD=fft(sd,N);
SDG=abs(SD);
figure(3);
subplot(2,1,1);
plot(t,sd);                              %解调后的时域波形
title('解调后的时域波形');
xlabel('t');
axis([0 1 -2 2]);
subplot(2,1,2);
plot(f(1:N/2),2*SDG(1:N/2)/N);             %解调后的频域波形
title('解调后的频域波形');
xlabel('Frequency(HZ)');
grid on;

如:幅度调制
调制方式是:am
结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值