clear all
nSamp = 8; %矩阵脉冲的取样点数
numSymb = 1000000; %每种snr下传输的符号数
ts = 1/(numSymb*nSamp);
t = (0:numSymb*nSamp-1)*ts;
M=4; %QPSK的符号类型数
SNR=-3:3;
grayencod = [0 1 3 2] %Gray编码格式
for ii=1:length(SNR)
msg = randsrc(1,numSymb,[0:3]);
msg_gr = grayencod(msg+1);
msg_tx = pskmod(msg_gr,M);
msg_tx = rectpulse(msg_tx, nSamp);
h = reyleigh(10,t);
msg_tx1=h.*msg_tx;
msg_rx = awgn(msg_tx,SNR(ii));
msg_rx1 = awgn(msg_tx1,SNR(ii));
msg_rx_down = intdump(msg_rx,nSamp);
msg_rx_down1 = intdump(msg_rx1,nSamp);
msg_gr_demod=pskdemod(msg_rx_down,M);
msg_gr_demod1=pskdemod(msg_rx_down1,M);
[dumay graydecod] = sort(grayencod);graydecod = graydecod - 1;
msg_demod = graydecod(msg_gr_demod+1);
msg_demod1 = graydecod(msg_gr_demod1+1);
[errorBit BER(ii)] = biterr(msg, msg_demod,log2(M));
[errorBit1 BER1(ii)] = biterr(msg, msg_demod1,log2(M));
[errorSym SER(ii)] = symerr(msg, msg_demod);
[errorSym1 SER1(ii)] = symerr(msg, msg_demod1);
end
semilogy(SNR,BER,"-ro", SNR,SER,"-r*",SNR,BER1,"-r.", SNR,SER1,"-r+")
legend("AWGN信道BER","AWGN信道SER","Rayleigh衰落+AWGN信道BER","Rayleigh衰落+AWGN信道SER")
title("QPSK在AWGN信道和Rayleigh衰落信道下的性能")
xlabel("信噪比(dB)")
ylabel("误符号率和误码率")
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
MATLAB实现加性高斯白噪声信道和多径衰落信道.zip (22个子文件)
MATLAB实现加性高斯白噪声信道和多径衰落信道
awgn_4.m 130B
awgnrayleighmodel.slx 23KB
randn_5.m 303B
duojing_8.m 411B
awgn_1.m 193B
AWGNchanel_7.m 255B
slprj
sim
varcache
awgnmodel
checksumOfCache.mat 392B
varInfo.mat 1024B
tmwinternal
simulink_cache.xml 244B
awgnrayleighmodel
checksumOfCache.mat 392B
varInfo.mat 1024B
tmwinternal
simulink_cache.xml 244B
awgnmodel.slxc 5KB
rayleigh_10.m 1KB
AWGNchanel_6.m 984B
awgnrayleighmodel.slxc 4KB
awgnmodel.slx 23KB
reyleigh.m 431B
rayleigh_9.m 359B
AWGNRayleighchanel_11.m 451B
awgn_2.m 196B
awgn_3.m 204B
共 22 条
- 1
资源评论
不脱发的程序猿
- 粉丝: 24w+
- 资源: 5837
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功