Working Kerr effect; PDM; speedups; removed unused files
[4yp.git] / chromaticDispersion1Signal.m
index dd169ac..6441dd5 100644 (file)
@@ -5,7 +5,7 @@ Rsym = 2.5e10; % symbol rate (sym/sec)
 
 span = 6; % Tx/Rx filter span
 rolloff = 0.25; % Tx/Rx RRC rolloff
-sps = 2; % samples per symbol
+sps = 8; % samples per symbol
 
 fs = Rsym * sps; % sampling freq (Hz)
 Tsamp = 1 / fs;
@@ -21,9 +21,9 @@ x = normalizeEnergy(x, numSymbs*sps, 1);
 %% Simulate chromatic dispersion
 D = 17; % ps / (nm km)
 lambda = 1550; % nm
-z = 5000 % km
+z = 500 % km
 
-[xCD, xCDkstart] = chromaticDispersion_FFT(x, D, lambda, z, Tsamp);
+[xCD, xCDkstart] = chromaticDispersion(x, D, lambda, z, Tsamp);
 
 EbN0_db = 8;
 snr = EbN0_db + 10 * log10(log2(M)) - 10 * log10(sps);
@@ -32,11 +32,16 @@ snr = EbN0_db + 10 * log10(log2(M)) - 10 * log10(sps);
 y = xCD;
 
 r = rxFilter(y, rolloff, span, sps);
+
+sps = 2;
+Tsamp = Tsamp * 4;
+
+
 [rCDComp, CDCompkstart] = CDCompensation(r, D, lambda, z, Tsamp);
 rCDComp = normalizeEnergy(rCDComp, numSymbs*sps, 1);
 
-rSampled = rCDComp(sps*span/2+1:sps:(numSymbs+span/2)*sps);
-rNoCompSa = r(sps*span/2+1:sps:(numSymbs+span/2)*sps);
+rSampled = rCDComp(2:2:end);
+rNoCompSa = r(2:2:end);
 
 %% if no CD comp, then rotate constellation. Use:
 theta = angle(-sum(rNoCompSa .^ M)) / M;
@@ -57,7 +62,6 @@ end
 rSampled = rSampled .* exp(-1j * theta);
 
 
-
 %%rAdaptEq = adaptiveCMA(rSampled);
 %{
 %% Compare original signal and compensated signal