基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频 您所在的位置:网站首页 简述qpsk调制原理 基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频

基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频

2023-03-23 00:36| 来源: 网络整理| 查看: 265

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知

⛄ 内容介绍

本文首先分析了MIMO-OFDM技术的特点,构建了MIMO-OFDM系统总体框图.使用MATLAB对MIMO-OFDM系统进行建模仿真,在低信噪比条件下,采用QPSK和16QAM两种调制方式,对比系统的SNR与误比特率等技术参数.

⛄ 部分代码

close all;clear all;clc;

EbNodB=0:2:20; %defines range of SNRs

numPkts=100; %number of packets

N = 200; % number of symbols

M = 16;   % constellation size

seq=[1;1;1;1;1;0;0;1;1;0;1;0;1];%m-sequence 

cp=1; %prefix length

numFingers=1; %if using RAKE defines number of fingers

numPaths=2; %defines number of paths

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%16QAM%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

[totPktErRate1,theoryBer,simBer]=qam(N, M, numPkts, seq, cp, numFingers, numPaths);

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%QPSK%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

numBytes=N*log2(M); %same number of bits transmitted in 16-QAM

%---------pre-allocations---------%

[totPktErRate2,totErRateQPSK,therErRateQPSK]=qpsk(numPkts,numBytes,cp, seq, numFingers, numPaths);

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%BPSK%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

[totPktErRate3, totErRateBPSK, therErRateRAY,therErRateBPSK]=bpsk(numPkts,numBytes,cp,seq, numFingers, numPaths);

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%PLOTS%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%

fiure

semilogy(EbNodB,theoryBer,'mx-','LineWidth',2);hold on;semilogy(EbNodB,simBer,'m*-','LineWidth',2);

grid on

hold on;

semilogy(EbNodB,totErRateBPSK,'bo-'); hold on; semilogy(EbNodB,therErRateBPSK,'g*-'); 

hold on;

semilogy(EbNodB,therErRateQPSK,'rd-');hold on; semilogy(EbNodB,totErRateQPSK,'rx:');

title('Bit Error Rates');xlabel('EbNo (dB)');ylabel('Error Rate'); 

legend('theory16QAM', 'simulation16QAM', 'Actual Error Rate BPSK','Theory BPSK RAY','Theory QPSK RAY','Actual Error Rate QPSK','Location','sw'); 

axis([min(EbNodB) max(EbNodB) 10^-7 1]); 

figure

semilogy(EbNodB,totPktErRate1,'bo-');hold on;semilogy(EbNodB,totPktErRate2,'go-'); hold on; semilogy(EbNodB,totPktErRate3,'g*-');

title('Bit Error Rates');xlabel('EbNo (dB)');ylabel('Packet Error Rate'); 

legend('PER 16QAM', 'PER BPSK','PER QPSK','Location','sw'); 

axis([0 10 10^-3 1]); 

⛄ 运行结果

基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频_图像处理

⛄ 参考文献

[1] 谭清元, 潘学文. QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现[J]. 电脑知识与技术:学术版, 2019, 15(12):2.

[2] 潘学文. QPSK和QAM调制下OFDM通信系统MATLAB仿真实现[J]. 今日自动化, 2021, 000(006):P.162-163.

[3] 王坤明. 基于FPGA的OFDM无线通信系统基带设计与实现[D]. 北京邮电大学.

[4] 李玮, 谢月新, 戴勤. 基于MATLAB中的M文件实现QPSK及QDPSK的调制[J]. 湘南学院学报, 2009, 30(2):4.

[5] 吕彦明. 基于MATLAB的QPSK调制解调的设计与实现[J]. 电脑迷, 2017.

⛳️ 完整代码❤️部分理论引用网络文献,若有侵权联系博主删除❤️ 关注我领取海量matlab电子书和数学建模资料



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有