Chromatic dispersion and line width phase noise
[4yp.git] / phaseNoise.m
diff --git a/phaseNoise.m b/phaseNoise.m
new file mode 100644 (file)
index 0000000..82427b3
--- /dev/null
@@ -0,0 +1,16 @@
+function [xPN, phiTx_phiLO]  = phaseNoise(x, linewidthTx, linewidthLO, Tsamp)
+  %% fIF = 15e3; % fIF = fc - fLO
+  %% carrier = exp(-j * (2 * pi * fIF * t - phi);
+  %% Neglecting fIF for now...
+
+  dphiTx = normrnd(0, sqrt(2 * pi * linewidthTx * Tsamp), length(x), 1);
+  dphiLO = normrnd(0, sqrt(2 * pi * linewidthLO * Tsamp), length(x), 1);
+  phiTx = cumsum(dphiTx);
+  phiLO = cumsum(dphiLO);
+
+  phiTx_phiLO = phiTx - phiLO;
+
+  pn = exp(-j * phiTx_phiLO);
+
+  xPN = x .* pn;
+end