midiendo la BER para varias velocidades de datos de entrada en un canal personalizado

0

Tengo un canal inalámbrico, por lo que necesito pasar bits binarios e ingresar y medir el BER en la salida.

El problema para mí aquí es variar la velocidad de datos en la entrada.

¿Cómo puedo representar la velocidad de datos de la señal en la entrada? Me gustaría medir la velocidad de datos para, por ejemplo, 1bps, 10bps, 100bps. Pero no estoy seguro de cómo hacerlo.

Todo lo que necesito es ayuda para representar, crear o insertar los bits de datos en los intervalos de canal de la velocidad de bits.

Aquí está el código que estoy intentando:

N=10000; % Number of bits , size of transmitted signal x_inp=[x_1 x_2 ... x_N] 
x_inp= rand(1,N)<0.5;  % binary signal 0 or 1 % message to be transmitted                               
Tb=0.0001; % bit period (second)   


% ********************* Represent input signal as digital signal ****
x_bit=[]; 
nb=N; % bbit/bit
for n=1:1:N   % 
    if x_inp(n)==1;  % 
       x_bitt=ones(1,nb);
    else x_inp(n)==0;
        x_bitt=zeros(1,nb);
    end
     x_bit=[x_bit x_bitt];
end

t1=Tb/nb:Tb/nb:nb*N*(Tb/nb); % time of the signal 
f1 = figure(1);
set(f1,'color',[1 1 1]);
subplot(3,1,1);
plot(t1,x_bit,'lineWidth',2);grid on;
axis([ 0 Tb*N -0.5 1.5]);
ylabel('Tmplitude(volt)');
xlabel(' Time(sec)');
title('Input signal as digital signal');



% ********************* Define BFSK Modulation ****************************
Ac=5;  % Amplitude of carrier signal
fc1= 1.5*10^6; % carrier frequency for bit 1
fc2= 2.5*10^6; % carrier frequency for bit 0
t2=Tb/nb:Tb/nb:Tb;                 
t2L=length(t2);
x_mod=[];
for (i=1:1:N)
    if (x_inp(i)==1)
        x_mod0=Ac*cos(2*pi*fc1*t2);%modulation signal with carrier signal 1
    else
        x_mod0=Ac*cos(2*pi*fc2*t2);%modulation signal with carrier signal 2
    end
    x_mod=[x_mod x_mod0];
end
t3=Tb/nb:Tb/nb:Tb*N;
subplot(3,1,2);
plot(t3,x_mod);
xlabel('Time(sec)');
ylabel('Amplitude(volt)');
title('Signal of  BASK modulation ');

% ********************* Transmitted signal x ******************************
x=x_mod;

A continuación, esta señal se enviará al canal, pero quiero pasar a tener un control sobre la velocidad de datos o la velocidad de bits. ¿Alguna sugerencia?

    
pregunta LearnUntillDeath

1 respuesta

0

Parece que Tb pretende representar el período de un bit (es decir, 1 sobre la velocidad de bits), pero el resto de su código está muy confundido acerca de la distinción entre "bits de datos" y "muestras de señal ".

Por ejemplo, N parece ser el número total de bits, pero establece nb = N , donde nb parece representar el número de muestras por bit, esto no tiene sentido.

La frecuencia de muestreo del sistema debe ser un parámetro independiente, y el valor de muestra / bit debe ser la relación de la frecuencia de muestreo y la tasa de bits. El cálculo de las formas de onda moduladas solo debe depender de la frecuencia de muestreo del sistema.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas