估计LDPC性能在AWGN

发射通过AWGN信道的LDPC编码,QPSK调制的比特流。然后解调,解码,并计算错误。

创建的LDPC编码器和解码器对。

ldpcEnc = comm.LDPCEncoder;ldpcDec = comm.LDPCDecoder;

创建一个QPSK调制器,QPSK解调器,和错误率检测器。

qpskMod = comm.QPSKModulator('BitInput',真正);qpskDemod = comm.QPSKDemodulator('BitOutput',真正,...'DecisionMethod'“近似数似然比”...'VarianceSource'“输入端口”);ERRORCNT = comm.ErrorRate;

创建SNR的矢量值来评估。初始化误码率向量。

snrVec = [0 0.2 0.4 0.6 0.65 0.7 0.75 0.8];BER =零(长度(snrVec),1);

通过AWGN信道的二进制数据的编码,调制,以及发射32400位帧。然后,解调,解码,并估计误码率。

对于K = 1:长度(snrVec)noiseVar = 1/10 ^(snrVec(K)/ 10);errorStats =零(1,3);errorStats(2)<= 200个&& errorStats(3)<5E6数据=逻辑(兰迪([0 1],32400,1));%生成二进制数据encData = ldpcEnc(数据);%应用LDPC编码modSig = qpskMod(encData);%调制rxSig = AWGN(modSig,snrVec(K));通过AWGN信道%通行证demodSig = qpskDemod(rxSig,noiseVar);%解调RXDATA = ldpcDec(demodSig);%LDPC解码errorStats = ERRORCNT(数据,RXDATA);%计算错误统计结束%保存BER当前的Eb / No和重置错误率计数器误码率(K)= errorStats(1);复位(ERRORCNT)结束

绘制误码率。

semilogy(snrVec,BER,'-o')网格xlabel('SNR(dB)的')ylabel(“误码率”