首页 > 代码库 > 通信算法之十一:QPSK/DQPSK/OQPSK/BPSK/DBPSK/16QAM调制解调仿真链路
通信算法之十一:QPSK/DQPSK/OQPSK/BPSK/DBPSK/16QAM调制解调仿真链路
一. QPSK
正交相移键控 (Quadrature Phase Shift Keying)简称“QPSK”,是一种数字调制方式。它分为绝对相移和相对相移两种。由于绝对相移方式存在相位模糊问题,所以在实际中主要采用相对移相方式DQPSK。目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。
二. QPSK:
EbNo=9.6dB
EcNo=12.6dB
四. QPSK仿真链路
%****************************************************************
% 内容概述:QPSK调制与QPSK解调 仿真链路
% 仿真链路:
% 创 建 人:Lee gang
% 创建时间:2014年10月20日
% 参考文献:
% 版权声明:不可随意复制、不可随意传播。
%****************************************************************
clc
close all
clear all
%系统参数---------------------------------------
SourceBitLen = 1000;
SNR = (12:0.1:15);%信噪比
BerEbNo = zeros(1,length(SNR));
for nEN=1:length(SNR)
Err_counter = 0;
for nframe=1:2000
%输入源比特序列----------------------------------
SourceBit = randint(1,SourceBitLen);
%QPSK调制---------------------------------------
out = LGQpskMod(SourceBit);
%高斯白噪声信道---------------------------------
outch = ChannelAwgn(out,SNR(nEN));
%QPSK解调-------------------------------------
[BerDateOut Soft] = LGQpskDemod(III,QQQ);
%BER------------------------------------------
BerDataIn = (SourceBit.‘);
[errNum,errRate] = biterr(BerDataIn,BerDateOut);
disp([‘误码率 = ‘,num2str(errRate),‘, 错误比特数 = ‘,num2str(errNum)]);
Err_counter = Err_counter + errNum;
Ber = Err_counter/nframe/SourceBitLen;
end
BerEbNo(nEN) = Ber;
fprintf(‘EcNo:%1.3fdB,误码率:%8.6e,\n‘,SNR(nEN),Ber);
end
grid on;
semilogy(SNR,BerEbNo,‘b-v‘);
xlabel(‘Ec/No[dB]‘);
ylabel(‘Bit Error Rate‘);
title(‘QPSK调制,解调性能仿真误码率曲线‘);
%---------------------------------------------
五.仿真图形
调制后星座图:
解调前:
六. BPSK
(1)
EbNo = 9.6dB
(2) 仿真链路略
(3) 误码率曲线
七.
DBPSK误码率曲线
DQPSK误码率曲线
OQPSK误码率曲线
16QAM误码率曲线
【详细资料,及相应MATLAB代码,咨询qq:1279682290】
通信算法之十一:QPSK/DQPSK/OQPSK/BPSK/DBPSK/16QAM调制解调仿真链路