作者zai1245 (ZAI)
看板MATLAB
标题[请益] BPSK通过rayleigh和AWGN的模拟问题
时间Sun Mar 29 02:07:22 2020
各位好
小弟新手刚接触MATLAB
最近需要跑BPSK通过rayleigh和AWGN的模拟
从MathWorks的Fading Channel页面有一段范例
里面的rayleigh fading是用comm.RayleighChannel直接产生的
接着通过AWGN channel通道後做hard decision
范例里面是用DBPSK做modulation
接着我把调变方式换成BPSK之後
BER直接飙升到0.5
请问为甚麽会有这种情形QQ
我的写法如下
==================================
tx_signal = randi([0 1],10000,1);
SNR = 0:1:35;%dB
errorRate = comm.ErrorRate;
Rayleigh = comm.RayleighChannel;
%BPSK modulation
for i = 1 : length(tx_signal)
if tx_signal(i) == 0
BPSK(i,:) = -1;
else
BPSK(i,:) = 1;
end
end
%Rayleigh fading channel
fad_BPSK = Rayleigh(BPSK);
for snrdb = 1 : length(SNR)
AF_BPSK = awgn(fad_BPSK,snrdb);
%demodulate BPSK
for i = 1 : length(tx_signal)
if AF_BPSK(i,1) > 0
rx_BPSK(i,1) = 1;
else
rx_BPSK(i,1) = 0;
end
end
reset(errorRate)
BPSK_error{snrdb} = errorRate(tx_signal,rx_BPSK);
BPSK_BER(snrdb) = BPSK_error{snrdb}(1);
end
semilogy(SNR,BPSK_BER)
grid on
=================================
感谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.74.46.231 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1585418844.A.616.html