【Matlab】DBPSK差分二进制相移键控波形生成

前言

一个通信原理课程中使用Matlab生成DBPSK波形的实验笔记。

内容

  1. 设发送二进制信息为10011101,码元速率为1波特,载波 sin(wt),幅值为1,初始相位为0。
  2. 当载波频率为2Hz,相位(或相位差)0°代表“0”,相位(或相位差)180°代表“1”,利用matlab软件画出DBPSK的波形

原理

利用前后相邻码元的载波相对相位变化传递数字信息,所以又称相对相移键控。假设∆φ为当前码元与前一码元的载波相位差,可定义一种数字信息与∆φ之间的关系为

程序源码

j=4000;
i=8;
t=linspace(0,i,j);
fc=2;%载波频率
%产生基带信号
a=[1,0,0,1,1,1,0,1];   % 二进制数据
st1=t;
for n=1:8
    if a(n)<1
        for m=j/8*(n-1)+1:j/8*n
            st1(m)=0;
        end
    else
        for m=j/8*(n-1)+1:j/8*n
            st1(m)=1;
        end
    end
end
figure(1);
subplot(311);
plot(t,st1);
title('绝对码');
grid on ;axis([0,i,-1,2]);

%差分变换
b=zeros(1,8);
if(a(1)==0)
    b(1)=0;
else
    b(1)=1;
end
for n=2:8
    if a(n)==b(n-1)
        b(n)=0;
    else
        b(n)=1;
    end
end
st1=t;
for n=1:8
    if b(n)==0
        for m=j/8*(n-1)+1:j/8*n
            st1(m)=0;
        end
    else
        for m=j/8*(n-1)+1:j/8*n
            st1(m)=1;
        end
    end
end
subplot(323);
plot(t,st1);
title('相对码st1');
grid on ;axis([0,i,-1,2]);
 
st2=t;
for k=1:j
    if st1(k)==1
        st2(k)=0;
    else
        st2(k)=1;
    end
end;
subplot(324); plot(t,st2);
title('相对码反码st2');
grid on;axis([0,i,-1,2]);
 
%载波信号
s1=sin(2*pi*fc*t+pi);
subplot(325); plot(s1);
grid on;axis([0 j -2 +2]);
title('载波信号s1');
s2=sin(2*pi*fc*t);
subplot(326); plot(s2);
grid on;axis([0 j -2 +2]);
title('载波信号s2');
 
%信号调制
d1=st1.*s1;
d2=st2.*s2;
figure(2);
subplot(311);plot(t,d1);
grid on; axis([0 n -2 +2]);
title('st1*s1');
subplot(312);plot(t,d2);
grid on ;axis([0 n -2 +2]);
title('st2*s2');
e_dpsk=d1+d2;
subplot(313);plot(t,e_dpsk);
grid on ;axis([0 n -2 +2]);
title('调制后波形');

结果分析

名称初始相位--------
绝对码-10011101
相对码st10πππ0π00π
相对码st2π000π0ππ0

相应的DBPSK信号调制过程波形如下图所示

结果

结语

差分也就是相对,遇到0相位不变,遇到1相位就要发生变化。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翻过月亮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值