微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWGN、Rayleigh 和 Rician 信道上的 BPSK、QPSK Mod

如何解决AWGN、Rayleigh 和 Rician 信道上的 BPSK、QPSK Mod

我的通信课上有作业。我将看到 AWGN、Rayleigh 和 Rician 信道上 BPSK 和 QPSK 调制的 BER-EbN0 图。 我使用 mathwork.com 和其他网站上的资源写了一些东西。它适用于 AWGN 而不适用于其他两个。我认为缺少的部分是均衡。但我找不到解决办法。等待您的帮助,谢谢。

clc; clear; close all;
bit = 100000;
bpskmod = comm.BPSKModulator;
bpskdemod = comm.BPSKDemodulator;
qpskmod = comm.QPSKModulator;
qpskdemod = comm.QPSKDemodulator;
rician_ch = comm.RicianChannel;
rayleigh_ch = comm.RayleighChannel;
equl = comm.MLSEEqualizer;
r = randi([0 1],bit,1);
out = zeros(size(r),'like',r);
EbNo = 1:1:10;
for n = 1:1:10
    
    bpskmod_r = bpskmod(r);
    qpskmod_r = qpskmod(r);
   
    awgn_ch = comm.AWGNChannel('EbNo',n);
   
    bpsk_ch_out = awgn_ch(bpskmod_r); 
    qpsk_ch_out = awgn_ch(qpskmod_r); 
    
    bpsk_rician = rician_ch(bpsk_ch_out);
    qpsk_rician = rician_ch(qpsk_ch_out);
    
    bpsk_rayleigh = rayleigh_ch(bpsk_ch_out);
    qpsk_rayleigh = rayleigh_ch(qpsk_ch_out);
    
    bpsk_rayleigh_eq = equl(bpsk_rayleigh);
    qpsk_rayleigh_eq = equl(qpsk_rayleigh);
    
    bpskdemod_r = bpskdemod(bpsk_ch_out);
    qpskdemod_r = qpskdemod(qpsk_ch_out);
    
    bpskdemod_rician = bpskdemod(bpsk_rician);
    qpskdemod_rician = qpskdemod(qpsk_rician);
    
    bpskdemod_rayleigh = bpskdemod(bpsk_rayleigh_eq);
    qpskdemod_rayleigh = qpskdemod(qpsk_rayleigh_eq);
    
    bpsk_ber(n) = biterr(bpskdemod_r,r)/bit;
    qpsk_ber(n) = biterr(qpskdemod_r,r)/bit;
    
    bpsk_rician_ber(n) = biterr(bpskdemod_rician,r)/bit;
    qpsk_rician_ber(n) = biterr(qpskdemod_rician,r)/bit;
    
    bpsk_rayleigh_ber(n) = biterr(bpskdemod_rayleigh,r)/bit;
    qpsk_rayleigh_ber(n) = biterr(qpskdemod_rayleigh,r)/bit;
    
end
figure;
title('AWGN Kanalda BPSK ve QPSK modülasyonları grafiği')
semilogy(EbNo,bpsk_ber,'o-');
hold on;
semilogy(EbNo,qpsk_ber,'o-');
semilogy(EbNo,bpsk_rician_ber,qpsk_rician_ber,bpsk_rayleigh_ber,qpsk_rayleigh_ber,'o-');
legend('BPSK','QPSK','BPSK on Rician','QPSK on Rician','BPSK on Rayleigh','QPSK on Rayleigh');
grid on;
xlabel('EbN0(dB)');
ylabel('BER');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。