用Matlab实现BPSK调制

Matlab版本:R09b

%对二元序列10110010,画出BPSK波形,设载波频率为码元频率的2倍
%本程序实现BPSK
%s-输入二进制序列,f-载波信号的频率
s=[1 0 1 1 0 0 1 0]; %初始化二进制序列
b=s(1);
f=2;                %初始化载波频率
t=0:2*pi/99:2*pi;
cp=[]; %初始化载波
mod=[];%初始化调制信号
bit=[];%初始化二进制信号部分
%matlab从1开始数
for n=1:length(s)
    if s(n)==0
        bit1=zeros(1,100);
        cp1=-ones(1,100);
    else s(n)==1
       bit1=ones(1,100);
       cp1=ones(1,100);
    end
    c=sin(f*t);
    cp=[cp cp1];
    mod=[mod c];
    bit=[bit bit1];
%  点乘的定义是:对于两个同维度的向量,它们的点乘结果是这两个向量对应分量的乘积之和
    bpsk=cp.*mod;
end
subplot(211);
plot(bit,'LineWidth',1.5);grid on;
title('输入的二进制序列');
axis([0,100*length(s) -2.5 2.5]);
subplot(212);
title('BPSK调制后的信号图');
axis([0 100*length(s) -2.5 2.5]);
plot(bpsk,'LineWidth',1.5);grid on;

运行结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值