当前位置:   article > 正文

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

gfsk理论ber

操作环境:

MATLAB 2022a

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、关键代码展示

  1. %% 发射端
  2. %随机产生传输信号
  3. data =randi([0 1],1,data_len);
  4. for i=1:data_len
  5. if data(i)==1
  6. data(i)=1;
  7. else
  8. data(i)=0;
  9. end
  10. end
  11. [I,Q]=pi4_dqpskmod(data);
  12. %内插
  13. zero=5; % 采样率为25MHz
  14. for i=1:zero*length(I)
  15. if rem(i,zero)==1
  16. Izero(i)=I(fix((i-1)/zero)+1);
  17. Qzero(i)=Q(fix((i-1)/zero)+1);
  18. else
  19. Izero(i)=0;
  20. Qzero(i)=0;
  21. end
  22. end
  23. %脉冲成形滤波器
  24. NT =50;
  25. N=2*zero*NT;
  26. Fs=25e6;
  27. rf=0.1;
  28. psf=rcosfir(rf,NT,zero,Fs,'sqrt');
  29. Ipulse= conv(Izero,psf);
  30. Qpulse= conv(Qzero,psf);
  31. %调制
  32. for i=1:zero*length(I)+N
  33. t(i)=(i-1)/(Fc*zero);
  34. Imod(i)=Ipulse(i).*sqrt(2)*cos(2*pi*Fc*t(i));
  35. Qmod(i)=Qpulse(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
  36. end
  37. sum=Imod+Qmod;
  38. %% 接收端
  39. %加噪声
  40. for SNR=0:20
  41. sum1 = awgn(sum,SNR);
  42. %相乘器
  43. for i=1:zero*length(I)+N
  44. Idem(i)=sum1(i).*sqrt(2)*cos(2*pi*Fc*t(i));
  45. Qdem(i)=sum1(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
  46. end
  47. %匹配滤波器
  48. mtf= rcosfir(rf,NT, zero,Fs,'sqrt');
  49. Imat = conv(Idem,mtf);
  50. Qmat = conv(Qdem,mtf);
  51. %抽取
  52. for i=1:zero*length(I)
  53. Isel(i)=Imat(i+N);
  54. Qsel(i)=Qmat(i+N);
  55. end
  56. %采样
  57. for i = 1:length(I)
  58. Isam(i)= Isel((i-1)*zero+1);
  59. Qsam(i)= Qsel((i-1)*zero+1);
  60. end
  61. %解码
  62. [data1]=pi4_dqpskdemod(Isam,Qsam);
  63. [num,ber(SNR+1)] = symerr(data1,data);%计算误码率
  64. end

4、MATLAB 源码获取

点击下方链接获取:

【MATLAB源码-第10期】基于matlab的pi/4DQPSK,π/4DQPSK的误码率BER理论和实际对比仿真。_π/4-dqpsk调制信号误码率的理论公式-CSDN博客文章浏览阅读271次。【代码】【MATLAB源码-第10期】基于matlab的pi/4DQPSK,π/4DQPSK的误码率BER理论和实际对比仿真。_π/4-dqpsk调制信号误码率的理论公式https://blog.csdn.net/Koukesuki/article/details/132289372?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171091294416800211558062%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171091294416800211558062&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132289372-null-null.nonecase&utm_term=10%E6%9C%9F&spm=1018.2226.3001.4450

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/1008231
推荐阅读
相关标签
  

闽ICP备14008679号