Matlab - ¿como realizo este proceso de compensacion backpropagation?

 
Vista:

¿como realizo este proceso de compensacion backpropagation?

Publicado por nessatinuviel (2 intervenciones) el 03/12/2020 13:23:21
hola, estaba estudiando un poco el proceso de compensacion backpropagation que se ve en la fibra optica, y necesito probar este mismo proceso pero con una señal de las de siempre, nose.. una senoial, diente de sierra o la que sea.
pero no he logrado que funcione el codigo con respecto a una señal de esas, (el codigo esta para hacer el proceso con pulsos gaussianos y el cambio que he querido es que haga el proceso con una senoidal).

este es el codigo de la compensacion backpropagation con pulsos gaussianos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%%%%Compensación BackPropagation
 
clear all;
%%%%%%%%Parámetros de Entrada%%%%%%%%
R=10e9;                                          %Tasa de transmisión
Tb=1/R;                                         %Tiempo de bit
% sec=randint(1,n_bits);                        %Secuencia de "1" y "0"
sec=[0 1 0];
n_bits=length(sec);                             %Núero de bits
w=2*pi*1/Tb;                                    %Frecuencia angular
Fs=64/Tb;                                       %Frecuencia de Muestreo
Ts=1/Fs;                                        %Tiempo de bit
Nmpb=(Tb/Ts)+1;                                 %Número de muestras por bit
Nmps=Nmpb*n_bits;                               %Número de muestras de toda la secuencia
b2 = -21.6*(1e-12^2)/1e3;                       %[ps.ps/km]
b3 = 0.117*(1e-12^3)/1e3;                       %[ps.ps.ps/km]
Dz = 10e3;
 
%%%%%%%%Secuencia de pulsos gaussianos%%%%%%%%
To=Tb/8;                                        %Anchura del pulso gaussiano
t=-Tb/2:Ts:Tb/2;                                %Intervalo pulso gaussiano
C=0;                                            %Chirp
for i=1:length(sec)
    At=(t/To).^2;                                                               %Parte de la función del pulso gaussiano
    p_gauss(i*Nmpb-Nmpb+1:i*Nmpb)=[sec(i)*exp(-(1/2)*(1+j*C)*At)];              %Función de la secuencia de pulsos gaussianos
end
t1=0:Ts:(Nmps-1)*Ts;
plot(t1,p_gauss,'r');
hold on
 
 
%%%%%%%%Función de la Fibra%%%%%%%%%%%%%%%%%%%
n = 0:Nmps-1;
w = 2*pi*(n-Nmps/2)*Fs/Nmps;
Hd = exp(j*0.5*b2*Dz*w.*w - j*b3*w.*w.*w*Dz/6);   % Función de la fibra en el dominio de la frecuencia
AouF = fftshift(fft(p_gauss)).*Hd;
Aou = ifft(fftshift(AouF));
plot(t1,abs(Aou),'g');
% Aou = Fiber_L_A(p_gauss,1/Ts,[b2,b3],Dz);
% plot(t1,abs(Aou),'g');

y esta es por ejemplo: mi señal senoidal continua
1
2
3
4
Fs = 10000;
T =3*(1/100);
t = 0:1/Fs:T-1/Fs;
x = 5*sin(2*pi*100*t);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder