【调制】π/4-DQPSK信号模型及其相关特性分析 【附MATLAB代码】

本文详细介绍了使用MATLAB编写的π/4-DifferentialQuadraturePhaseShiftKeying(DQPSK)调制和解调函数,涉及数据处理、差分编码、星座图映射以及信号的并串变换过程。
摘要由CSDN通过智能技术生成

MATLAB代码

% pi/4-DQPSK modulation
%输入一串数,输出经过差分并映射的I、Q两路数据
​
function [I,Q]=pi4_dqpskmod(data)
​
n=length(data)./2;
data1=data.*2-1;
​
Idata=zeros(1,n);
Qdata=zeros(1,n);
​
​
Idata=data1(1,1:2:2*n);     %串并变换
Qdata=data1(1,2:2:2*n);
​
I(1)=Qdata(1)*-0.5.^(0.5);              %差分编码并映射到星座图
Q(1)=Idata(1)*-0.5.^(0.5);
for i=2:n
I(i)=(I(i-1)*Qdata(i)-Q(i-1)*Idata(i))*-0.5.^(0.5);
Q(i)=(I(i-1)*Idata(i)+Q(i-1)*Qdata(i))*-0.5.^(0.5);
end
% pi/4-DQPSK demodulation
% 输入I、Q两路数,输出一路解调后的数
​
function [data]=pi4_dqpskdemod(I,Q)     %差分解调
x(1)=I(1);
y(1)=Q(1);
if (x(1)>0)
        Qdata(1)=0;
    else
        Qdata(1)=1;
end
​
if (y(1)>0)
        Idata(1)=0;
    else
        Idata(1)=1;
end  
    
for i=2:length(I)
    x(i)=I(i)*I(i-1)+Q(i)*Q(i-1);
    if (x(i)>0)
        Qdata(i)=0;
    else
        Qdata(i)=1;
    end
    y(i)=Q(i)*I(i-1)-I(i)*Q(i-1);
    if (y(i)>0)
        Idata(i)=0;
    else
        Idata(i)=1;
    end
end
​
data(1,1:2:2*length(I))=Idata(1,1:length(I));  %并串变换
data(1,2:2:2*length(I))=Qdata(1,1:length(I));

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值