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?