BER Calculation of BPSK for custom demodtalor IP core

1 visualización (últimos 30 días)
brahmi shah
brahmi shah el 13 de Sept. de 2021
Comentada: brahmi shah el 16 de Sept. de 2021
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.

Respuestas (2)

Awais Saeed
Awais Saeed el 13 de Sept. de 2021
Editada: Awais Saeed el 13 de Sept. de 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 el 13 de Sept. de 2021
Editada: brahmi shah el 13 de Sept. de 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 comentarios
Awais Saeed
Awais Saeed el 13 de Sept. de 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 el 16 de Sept. de 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.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by