资源简介
利用matlab的communication toolbox实现AWGN信道下采用QPSK调制和卷积码编码,然后接收端采用维特比译码并且采用硬判决的系统最终得到的误码率曲线,并且采用BERtool工具将其与理论值进行比较。
代码片段和文件信息
function [berbits]=chap3_ex02_qpsk(EbNomaxNumErrsmaxNumBits)
%%Initializations
persistent Modulator AWGN DeModulator BitError %预设系统所需要的模块
if isempty(Modulator)
Modulator=comm.QPSKModulator(‘BitInput‘true);
AWGN=comm.AWGNChannel;
DeModulator=comm.QPSKDemodulator(‘BitOutput‘true);
BitError=comm.ErrorRate;
end
%%Constants 初始化系统模块参量
FRM=4096;
m=4;
K=log2(m);%在m进制,每个码元锁携带的信息量
snr=EbNo+10*log10(K);
AWGN.EbNo=snr;
%%Processing loop modeling tranmitter channel mode1 and receiver 处理系统发射机,信道,接收机
numErrs=0;
numBits=0;
results=zeros(31);
while((numErrs %Tranmitter 发射机
u=randi([01]FRM1);%Random bits generation
mod_sig=Modulator.step(u);%QPSK Modulator
rx_sig=AWGN.step(mod_sig);%AWGN Channel
%Channel 信道
demod=DeModulator.step(rx_sig);%QPSK Demodulator
%Receiver 接收机
y=demod(1:FRM);%Compute output bits
results=BitError.step(uy);%Update BER
numErrs=results(2);
numBits=results(3);
end
%%Clean up & collect results
ber=results(1);
bits=results(3);
reset(BitError);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 649 2017-12-20 09:56 demo.m
文件 1154 2017-12-20 09:56 hard.m
文件 1410 2017-12-20 09:55 soft.m
文件 1221 2017-12-20 00:32 chap3_ex02_qpsk.m
评论
共有 条评论