?? bpsk_ber_ray.m
字號(hào):
% BER for BPSK in a Flat Fading Rayleigh channel
clc
clear all
close all
% Number of Bits
N = 10^6;
% SNR in dB scale
SNR_dB = [0:50];
% SNR in Linear scale
SNR = 10.^(SNR_dB./10);
Eb = 1; % Average Signal Energy
No = Eb./SNR; % Average Noise Energy
for i = 1:length(SNR)
% Generate BPSK signal
x = randsrc(1,N);
% Complex AWGN with Mean = 0 and Variance = No
n = sqrt(No(i)/2)*[randn(1,N) + j*randn(1,N)];
% Rayleigh channel with Mean = 0 and Variance = 1 (Fade Power = 1)
h = sqrt(0.5)*[randn(1,N) + j*randn(1,N)];
% h=GenerateFade_Jakes(1,N,0.01);
% Received Signal
y = h.*x + n;
% Equalization
y_hat = y./h;
% BPSK Demodulation
y_re = real(y_hat);
x_hat(find(y_re < 0)) = -1;
x_hat(find(y_re >= 0)) = 1;
% Error Counter
n_err(i) = size(find([x- x_hat]),2);
end
% Simulated BER Rayleigh
sim_BER_ray = n_err./N;
semilogy(SNR_dB,sim_BER_ray,'-*r','LineWidth',2);
axis([0 50 10^-6 0.5])
grid on
legend('Rayleigh');
xlabel('SNR (dB)');
ylabel('BER');
title('BER for BPSK in a Flat Fading Rayleigh channel');
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -