【MATLAB源码-第10期】基于matlab的pi/4DQPSK,π/4DQPSK的误码率BER理论和实际对比仿真。

115 篇文章 4 订阅
53 篇文章 0 订阅

1.算法描述

蓝牙是一种被广泛应用的无线通信标准,工作在2.4GHz-2.4835GHz频段范围,所用的调制方式有:GFSK,PI/4-DQPSK。北美第二代数字蜂窝移动通信系统D-AMPS和日本的JDC蜂窝系统均采用PI /4-DQPSK,欧洲的GSM系统采用GMSK。PI /4-DQPSK与GMSK等恒包络调制技术相比有更高的频谱利用率和抗衰落性能。

PI /4DQPSK调制器中,已调信号从相互偏移PI /4的两个星座图中选取下图给出了两个相互偏移PI /4的星座图和一个合并之后的星座图,图中的两点信号点之间的连线表示可能的相位跳变,可见PI /4DQPSK最大的相位跳变为±3π/4,每对连续的双比特其信号的最大相位至少有π/4的相位变化。

PI/4 -DQPSK是蓝牙采用的一种调制方式,相比于恒包络调制技术,他有着更高的频谱利用率和抗衰落性能。PI/4 -DQPSK相比于QPSK多了差分相位编译码模块,将QPSK的最大相位跳变180°降为135°。

PI/4 -DQPSK既能采用相干解调,也能采用非相干解调。

PI/4 -DQPSK由2个相差π/4的QPSK星座图交替产生。例如,如果连续输入“11 11 11”,则信号码元的相位为“45° 90° 45° 90°”

 PI/4 - DQPSK调制和解调系统框图

 

2.仿真结果演示

 

3.关键代码展示

%% 发射端
%随机产生传输信号
data =randi([0 1],1,data_len);
for i=1:data_len
    if data(i)==1
        data(i)=1;
    else
        data(i)=0;
    end
end

[I,Q]=pi4_dqpskmod(data);

%内插
zero=5;                                     % 采样率为25MHz
for i=1:zero*length(I)
    if rem(i,zero)==1
        Izero(i)=I(fix((i-1)/zero)+1);
        Qzero(i)=Q(fix((i-1)/zero)+1);
    else
        Izero(i)=0;
        Qzero(i)=0;
    end
end

%脉冲成形滤波器
NT =50;
N=2*zero*NT;
Fs=25e6;
rf=0.1;
psf=rcosfir(rf,NT,zero,Fs,'sqrt');
Ipulse= conv(Izero,psf);
Qpulse= conv(Qzero,psf);

%调制
for i=1:zero*length(I)+N
    t(i)=(i-1)/(Fc*zero);
    Imod(i)=Ipulse(i).*sqrt(2)*cos(2*pi*Fc*t(i));
    Qmod(i)=Qpulse(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
end
sum=Imod+Qmod;


%% 接收端
%加噪声
for SNR=0:20
    sum1 = awgn(sum,SNR);

    %相乘器
    for i=1:zero*length(I)+N
        Idem(i)=sum1(i).*sqrt(2)*cos(2*pi*Fc*t(i));
        Qdem(i)=sum1(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
    end

    %匹配滤波器
    mtf= rcosfir(rf,NT, zero,Fs,'sqrt');
    Imat = conv(Idem,mtf);
    Qmat = conv(Qdem,mtf);

    %抽取
    for i=1:zero*length(I)
        Isel(i)=Imat(i+N);
        Qsel(i)=Qmat(i+N);
    end

    %采样
    for i = 1:length(I)
        Isam(i)= Isel((i-1)*zero+1);
        Qsam(i)= Qsel((i-1)*zero+1);
    end

    %解码
    [data1]=pi4_dqpskdemod(Isam,Qsam);
    [num,ber(SNR+1)] = symerr(data1,data);%计算误码率
end

4.MATLAB源码获取

V

点击下方名片

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Matlab程序猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值