BER Calculation of BPSK for custom demodtalor IP core
1 view (last 30 days)
Show older comments
Hello All,
I am new to MATLAB. I have my own BPSK demodulator IP core. I have transmitter which transmit the data at 4.8ksps and modulate the signal through channel and noisy signal becomes the input to reciever. Receiver demodulates the signal and producing sequence of recovered bits. Up to this all process done through the instrument and the RF+FPGA board. I just want to comapre the received bits to be transmitted bits and tally up the errors using matlab. How could i do this?
Kindly guide me.
Thank you.
0 Comments
Answers (2)
Awais Saeed
on 13 Sep 2021
Edited: Awais Saeed
on 13 Sep 2021
use biterr() and semilogy() to find bit errors and to plot BER curve
clc
clear
close all
% generate data to send
x = 4*rand(1,10000);
x(x<=3) = 0;
x(x>3) = 1;
% Add AWGN, compute BER for the received data
SNR=0:30;
for i=1:length(SNR)
y = awgn(x,i);
% Threshold detection
y(y<=0.5) = 0;
y(y>0.5) = 1;
% Compute bit error of received and transmitted data
[num(i),err(i)] = biterr(x,y);
end
% plot BER curve
semilogy(SNR,err,'r-')
ylabel('BER');
xlabel('SNR');
0 Comments
brahmi shah
on 13 Sep 2021
Edited: brahmi shah
on 13 Sep 2021
6 Comments
Awais Saeed
on 13 Sep 2021
[Input_file] = uigetfile('paste path to your file-containing folder','MultiSelect','on');
x = importdata(Input_file); % this is your transmitting data
% do your operations on x
% after performing operations, you will have recieved data as y
% Now compute error as
[num(i),err(i)] = biterr(x,y);
% if you are adding AWGN with different
% SNR values, then use biterr() in a loop
% as shown in my first answer
See Also
Categories
Find more on BPSK in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!