Can you help me on this code to identify Eb_N0_dB ? I would like to know also what ipHat is.
조회 수: 9 (최근 30일)
이전 댓글 표시
The code is as below:
% Script for simulating binary phase shift keyed transmission and % reception and compare the simulated and theoretical bit error % probability clc;clear;close all
N = 10^8 % number of bits or symbols
rand('state',100); % initializing the rand() function
randn('state',200); % initializing the randn() function
% Transmitter
ip = rand(1,N)>0.5; % generating 0,1 with equal probability
s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 1
n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance
Eb_N0_dB = [-3:10]; % multiple Eb/N0 values
for ii = 1:length(Eb_N0_dB)
% Noise addition
y = s + 10^(-Eb_N0_dB(ii)/20)*n; % additive white gaussian noise
% receiver - hard decision decoding
ipHat = real(y)>0;
% counting the errors
nErr(ii) = size(find([ip- ipHat]),2);
end
simBer = nErr/N; % simulated ber
theoryBer = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % theoretical ber
% plot
close all
figure
semilogy(Eb_N0_dB,theoryBer,'b.');
hold on
%semilogy(Eb_N0_dB,simBer,'mx-');
grid on
legend('theory', 'simulation');
xlabel('SNR dB');
ylabel('BER Bit Error Rate');
title('Bit error probability curve for BPSK modulation');
댓글 수: 0
답변 (1개)
Image Analyst
2016년 12월 2일
You can find "Eb_N0_dB" on this line. Use the control-F command if you don't see it.
Eb_N0_dB = [-3:10]; % multiple Eb/N0 values
ipHat is defined here:
ipHat = real(y)>0;
It is a boolean/logical variable that is "true" if y has a positive real component.
Granted, the comments in this code are horrible (because there are not enough of them), and you should scold the original author for their bad programming habits.
댓글 수: 2
참고 항목
카테고리
Help Center 및 File Exchange에서 PHY Components에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!