¿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
y esta es por ejemplo: mi señal senoidal continua
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


0