0
$\begingroup$

I build a pam-2 modulation, then I make a pulse shaping with half sine (matched filter). Then I send it through the AWGN channel. At the end I do down sampling and demodulation. But i have problem with plotting BER. I don't understand what I'm doing wrong:

clc;
clear;
N=1e4;
N2 = 1e2; 
M = 2;
range = 0:10;
error =  zeros(1,length(range)); %BER

%
% half sine
Rc = 1e3;       % Chip rate
T = 1/Rc;      % inverse of chip rate
Tc = 0.5* T;
Fs = 2e3;      % sampling frequency
dt = 1/Fs;
over = Fs/Rc;   % sampling factor
sps = 10;  

time = 0:dt/sps:2*T;
half_Sine = sin(pi*time/(2*T)).^3; 

%% BER

for i = 1:length(range)
    for n = 1:N2 
        
% Modulation
        x=randi([0 M-1],N,1);
        h_mod = pammod(x,M);       
        over_data=upsample(h_mod,over); 
        txSig = conv(over_data,half_Sine, 'same'); 
% AWGN  
        Ps = mean(((txSig)).^2);
        Sigma = sqrt(Ps  * 10^(-range(i)/10) / 2);
        Noise = randn(length(txSig), 1) * Sigma;
        rx_SIG = Noise + txSig; 

% Downsample
     down = rx_SIG(1:over:end);
     
%  Demodulation 
        hDemod  =  pamdemod(down,M);
% Errors
       error(i) = error(i)+...
           sum(hDemod~=x) / length(hDemod);

    end
    
     BER = error/n;
end
figure(1);
grid on
semilogy(range,BER);
title('BER');
$\endgroup$
2

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.