基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频 | 您所在的位置:网站首页 › 简述qpsk调制原理 › 基于Matlab实现BPSK、QPSK 和 16QAM 调制的循环前缀和直接序列扩频 |
✅作者简介:热爱科研的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]); ⛄ 运行结果[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 实验室设备网 版权所有 |