BER Calculation of BPSK for custom demodtalor IP core

1 view (last 30 days)
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.

Answers (2)

Awais Saeed
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');

brahmi shah
brahmi shah on 13 Sep 2021
Edited: brahmi shah on 13 Sep 2021
Thank you for your reply.
I want to verify my demodulator ip by calculating ber of TX and RX data. And i have one fix pattern (1011010110) which is going to be transmit by instrument and recieved by board which has demodulator ip. for this should i use above mentioned code by you?
  6 Comments
Awais Saeed
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
brahmi shah
brahmi shah on 16 Sep 2021
As you said (% do your operations on x) what should i do here? i am not getting any idea
Kindly guide me
Thank you.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!