diff --git a/core/component/Capacitor.m b/core/component/Capacitor.m
index f4f787beca3d3662c02cd874a7702a94c5dfe861..93d6efb8f697396381e6eecb3c74344dd8ad1846 100644
--- a/core/component/Capacitor.m
+++ b/core/component/Capacitor.m
@@ -11,6 +11,7 @@ classdef Capacitor < Component
     properties (Dependent)
         gap0
         c0
+        area
     end
     
     methods
@@ -55,8 +56,11 @@ classdef Capacitor < Component
         end
 
         function c = get.c0(obj)
-            area = min(obj.electrodeA.area,obj.electrodeB.area);
-            c    = obj.eps0 * area/obj.gap0;
+            c    = obj.eps0 * obj.area/obj.gap0;
+        end
+
+        function a = get.area(obj)
+            a = min(obj.electrodeA.area,obj.electrodeB.area);
         end
 
         function f = force(obj, V)
@@ -66,6 +70,27 @@ classdef Capacitor < Component
         function v = voltage_from_force(obj, f)
             v = sqrt(f * 2* obj.gap0/obj.c0 );
         end
+
+        function F = force_from_CPD(obj, varargin)
+            %CPDNOISE Summary of this function goes here
+            % see Speake & Trenkel 2003
+            varvoltrms = 100e-3;
+            
+            if length(varargin) == 1
+                varvoltrms = varargin{1};
+            end
+
+            kpeak = 1.3/obj.gap0;
+            kmax = 1.2*kpeak;
+            kmin = 0.8*kpeak;
+    
+            func = @(k) k.^3 ./(sinh(obj.gap0.*k)).^2;
+            intr = integral(func,kmin,kmax);
+    
+            fp = -2*obj.eps0*(varvoltrms)^2*intr/(kmax^2 - kmin^2);
+            F = abs(fp*obj.area);
+        end
     end
 end
 
+
diff --git a/core/component/TIA.slx b/core/component/TIA.slx
index 37f58913a44dce7c0220ded2fcdc40526fb2ea69..0eb04088d2c6b958642d8e6aeb1eb34b866f6285 100644
Binary files a/core/component/TIA.slx and b/core/component/TIA.slx differ
diff --git a/core/component/capBridge.slx b/core/component/capBridge.slx
index 3da9713153bce64484758e365561627dc6c8d6ff..5324e863b3cfd5944e540fc8817b8f819f0090d7 100644
Binary files a/core/component/capBridge.slx and b/core/component/capBridge.slx differ
diff --git a/core/component/electrode.slx b/core/component/electrode.slx
index f70e792e624f733ef122f48e9b10700ba158ce4a..e7f7ed1cafec168188be0c63873014bd28c2bc6a 100644
Binary files a/core/component/electrode.slx and b/core/component/electrode.slx differ
diff --git a/core/component/ifo.slx b/core/component/ifo.slx
index 988be24f79efad50fdaca4362884159adbd6249f..779059456bada1de41bac4d70d9b42f881e7e5ac 100644
Binary files a/core/component/ifo.slx and b/core/component/ifo.slx differ
diff --git a/core/component/planeCapacitor.slx b/core/component/planeCapacitor.slx
index cd2fc830f92a1dfa25e30670808e9fc88f82c2b7..2d870056372b16cb103ad6750d293ae5c41b1bbd 100644
Binary files a/core/component/planeCapacitor.slx and b/core/component/planeCapacitor.slx differ
diff --git a/core/dynamics/dblIntTransFS.slx b/core/dynamics/dblIntTransFS.slx
index 1065dd24c16016689b7e0ab01af06c15423a4871..92dd87dda29c09f7a2f5eca76c72b9c35a8b892a 100644
Binary files a/core/dynamics/dblIntTransFS.slx and b/core/dynamics/dblIntTransFS.slx differ
diff --git a/core/dynamics/dblIntTransVS.slx b/core/dynamics/dblIntTransVS.slx
index 035ffc5eec72dcd8cac83535355b3d7fd6416597..ca93343c5ed28e43ffa78e6f29e4a104d4cadaaa 100644
Binary files a/core/dynamics/dblIntTransVS.slx and b/core/dynamics/dblIntTransVS.slx differ
diff --git a/core/libAcme.slx b/core/libAcme.slx
index d7067c661c7de9410895b17c6e6fc2c27922a841..3cc0fa3e35e58c529357d4de240caa27ca9a34c3 100644
Binary files a/core/libAcme.slx and b/core/libAcme.slx differ
diff --git a/core/noises/CPDnoise.m b/core/noises/CPDnoise.m
new file mode 100644
index 0000000000000000000000000000000000000000..1031a142100ae593acb281d9680fc370aa5045cd
--- /dev/null
+++ b/core/noises/CPDnoise.m
@@ -0,0 +1,19 @@
+function fp = CPDnoise(varvoltrms, gap)
+%CPDNOISE Summary of this function goes here
+%   Detailed explanation goes here
+eps0 = 8.8e-12;
+
+kpeak = 1.3/gap;
+
+kmax = 1.2*kpeak;
+kmin = 0.8*kpeak;
+
+func = @(k) k.^3./(sinh(gap.*k)).^2;
+
+intr = integral(func,kmin,kmax);
+
+fp = -2*eps0*(varvoltrms)^2*intr/(kmax^2 - kmin^2);
+
+
+end
+
diff --git a/core/sensors/diffTransformer.slx b/core/sensors/diffTransformer.slx
index d3926c3b8c37386847ada5490a4836c086e1402e..ed44eed35b7439c19253d24335c3b28104a935e8 100644
Binary files a/core/sensors/diffTransformer.slx and b/core/sensors/diffTransformer.slx differ
diff --git a/core/sensors/lockIn.slx b/core/sensors/lockIn.slx
index 6e77f2a669c34d4f4e36c171dbcf66e82419ad9e..3ae4b39b807c27da8b565e9a012dfbb09964e90a 100644
Binary files a/core/sensors/lockIn.slx and b/core/sensors/lockIn.slx differ
diff --git a/simulations/Gradiometer/goceGradiometer.slx b/simulations/Gradiometer/goceGradiometer.slx
index a47a116508e725c6bf5a93fca90e8940f373b262..f52ee460a1407b4c968c0e50bc017e0dda0e4195 100644
Binary files a/simulations/Gradiometer/goceGradiometer.slx and b/simulations/Gradiometer/goceGradiometer.slx differ
diff --git a/simulations/LISA_EA/GRS.slx b/simulations/LISA_EA/GRS.slx
index 573c63a335c5241334d83c54335ddca6580cc385..142a648abb4dfac215492496d910795a3b5cf6f0 100644
Binary files a/simulations/LISA_EA/GRS.slx and b/simulations/LISA_EA/GRS.slx differ
diff --git a/simulations/LISA_EA/capSensor_complete.slx b/simulations/LISA_EA/capSensor_complete.slx
index 32361ad22f7987ae19d479bed8c5b6bebc510b11..6ae6e1e7ce5867ef3e3e09427e69eee2d7a6a6f6 100644
Binary files a/simulations/LISA_EA/capSensor_complete.slx and b/simulations/LISA_EA/capSensor_complete.slx differ
diff --git a/simulations/LISA_EA/capSensor_simplified.slx b/simulations/LISA_EA/capSensor_simplified.slx
index 1a4dd052e2710ce2dc6a1fe2521038e5d4dc31f9..4c0af01d4c057da4924bd1488441ef5462a7bf84 100644
Binary files a/simulations/LISA_EA/capSensor_simplified.slx and b/simulations/LISA_EA/capSensor_simplified.slx differ
diff --git a/simulations/SGRS/sgrs_acc.slx b/simulations/SGRS/sgrs_acc.slx
index b2d64817ba0d0221945d53e8db0f7f292cebd289..200025e5a759830293d9f13d5fef9132fd8e3b9c 100644
Binary files a/simulations/SGRS/sgrs_acc.slx and b/simulations/SGRS/sgrs_acc.slx differ
diff --git a/simulations/SGRS/sgrs_acc_script.m b/simulations/SGRS/sgrs_acc_script.m
index b9150562fd97f43948d7ca1e49dd545b550bc800..1b76d639973d819ac94acc04c30623753942e3ab 100644
--- a/simulations/SGRS/sgrs_acc_script.m
+++ b/simulations/SGRS/sgrs_acc_script.m
@@ -6,18 +6,19 @@
 % email: arthur.reis@aei.mpg.de
 % last review: 30.01.2023
 clear;
-acme = AcmeSim('sgrs_acc',1000,1000);
+acme = AcmeSim('sgrs_acc',1e5,1e5);
 %% Accelerometer Parameters 
-side = 0.02;
+side = 0.03;
 gap = 0.001;
 elSides = [side, side];
-% % If is drag-free:
+density = 20099;
+% % % If is drag-free:
 % driverGain = 0;
 % V_TM = 0.5;
 % Vp = 0; %V polarizing 
 % Vx0 = 0; %V rms
 
-% If is non-drag-free:
+% If is non-drag-free:1000
 driverGain = -20;
 V_TM = 0.5;
 Vp = 0; %V polarizing 
@@ -30,7 +31,7 @@ el2 = acme.addElectrode('electrode2', elSides, -side/2        , 0, V_TM, fCar);
 el3 = acme.addElectrode('electrode3', elSides,  side/2        , 0, V_TM, fCar);
 el4 = acme.addElectrode('electrode4', elSides, +(side/2 + gap), 0,    0, fCar);
 
-TM = acme.addTestMass('dblInt',0.4,gap,'mass',0.5);
+TM = acme.addTestMass('dblInt',side,gap,'density',density);
 
 cap1 = acme.addCapacitor('planeCapacitor1', 'ElectrodePair', [el1, el2]);
 cap2 = acme.addCapacitor('planeCapacitor2', 'ElectrodePair', [el3, el4]);
@@ -40,12 +41,16 @@ cap2 = acme.addCapacitor('planeCapacitor2', 'ElectrodePair', [el3, el4]);
 CapNoiseASD = @(f) 51e-9.*f.^0; %F/sqrt(hz)
 CapNoiseTS  = acme.noiseTS(CapNoiseASD);
 
+CPDnoiseASD = @(f) cap1.force_from_CPD(10e-3)*f.^0; %worst case
+CPDnoiseTS = acme.noiseTS(CPDnoiseASD);
 Cf = 10e-12; %F
-getSGRSCapSensorASD(acme, TM,1e-12,Cf,40,51e-9)
+%getSGRSCapSensorASD(acme, TM,1e-12,Cf,40,51e-9)
 
-f_nongrav = fxx_input_forces;
-a_nongrav = axx_input_accelerations;
 
+load('fxx_input_forces.mat');
+load('axx_input_accelerations');
+f_nongrav =  fxx_input_forces;
+a_nongrav = axx_input_accelerations;
 [a, v] = actuationRequirement(f_nongrav,a_nongrav,TM,cap1);
 
 ActuationNoiseASD = @(f) v * 1e-6*f.^0; %V/sqrt(hz)
diff --git a/simulations/SGRS/sgrs_capSensor.slx b/simulations/SGRS/sgrs_capSensor.slx
index 5536a3c55a2edf5af881acc2777bcc6b10f996fa..b631a94f133c31c102779c5befc2d1987b1dff43 100644
Binary files a/simulations/SGRS/sgrs_capSensor.slx and b/simulations/SGRS/sgrs_capSensor.slx differ
diff --git a/simulations/Torsion Balance/untitled1.slx b/simulations/Torsion Balance/untitled1.slx
index d4a8b22eee64a3e9b57206709205bb79c83f1fb4..741f3d88ffb885f6a5d77527f14d512c1d710e9d 100644
Binary files a/simulations/Torsion Balance/untitled1.slx and b/simulations/Torsion Balance/untitled1.slx differ
diff --git a/simulations/Tutorial/ex_01_time_domain.slx b/simulations/Tutorial/ex_01_time_domain.slx
index eb833047b6db87cb140eec2fd51acda6756e910c..59387c4f3616c8bdc636a31aa39b79caeacdef9a 100644
Binary files a/simulations/Tutorial/ex_01_time_domain.slx and b/simulations/Tutorial/ex_01_time_domain.slx differ
diff --git a/simulations/Tutorial/ex_02_noise_generation.slx b/simulations/Tutorial/ex_02_noise_generation.slx
index 52deb5f8f58da2b1f54e8312f0bd6ee35a6ce975..3a05d05153ea3ef1f5ec3cf92ff32c2f220a8311 100644
Binary files a/simulations/Tutorial/ex_02_noise_generation.slx and b/simulations/Tutorial/ex_02_noise_generation.slx differ
diff --git a/simulations/Tutorial/ex_03_parametrization.slx b/simulations/Tutorial/ex_03_parametrization.slx
index 7ee6729d26c5b7ce6f13910047be6a32b23cbea2..ee4c89fae138d1ecb519d7b806f653de4d584b21 100644
Binary files a/simulations/Tutorial/ex_03_parametrization.slx and b/simulations/Tutorial/ex_03_parametrization.slx differ
diff --git a/simulations/Tutorial/ex_04_noisy_sensor.slx b/simulations/Tutorial/ex_04_noisy_sensor.slx
index ddbbf84e4dc02f5ab0e7595da5b8d69c363a8638..4dba371777877dca62b5002f31d0f012a98d195c 100644
Binary files a/simulations/Tutorial/ex_04_noisy_sensor.slx and b/simulations/Tutorial/ex_04_noisy_sensor.slx differ
diff --git a/simulations/Tutorial/ex_05a_noise_budget.slx b/simulations/Tutorial/ex_05a_noise_budget.slx
index 559399e417cc86067af99701eae5d87ea3c1c70c..53e61c8086ba3dcfb08aedc0ade9474152603adc 100644
Binary files a/simulations/Tutorial/ex_05a_noise_budget.slx and b/simulations/Tutorial/ex_05a_noise_budget.slx differ
diff --git a/simulations/Tutorial/ex_05b_noisebudget.slx b/simulations/Tutorial/ex_05b_noisebudget.slx
index 8e84724460befc4fa578750403e6828662fd11cb..1d9c0dae2badfce7689485e4c87ea76a906b3a1e 100644
Binary files a/simulations/Tutorial/ex_05b_noisebudget.slx and b/simulations/Tutorial/ex_05b_noisebudget.slx differ
diff --git a/simulations/ifoSGRS/sgrs_capSensor.slx b/simulations/ifoSGRS/sgrs_capSensor.slx
index 3cf6e0204c79dfb8cd6b76ef921ac33db5ce1fc8..19ffeedcac6a945f9afb8ac74a3441fdcd636e9d 100644
Binary files a/simulations/ifoSGRS/sgrs_capSensor.slx and b/simulations/ifoSGRS/sgrs_capSensor.slx differ
diff --git a/simulations/ifoSGRS/sgrs_ifoacc.slx b/simulations/ifoSGRS/sgrs_ifoacc.slx
index 418bf7a90bcf48f394548e24d2cebb001f59752b..cc10e4cf859366acb96fefa5de2f6c6bc3a83c86 100644
Binary files a/simulations/ifoSGRS/sgrs_ifoacc.slx and b/simulations/ifoSGRS/sgrs_ifoacc.slx differ
diff --git a/utils/SimulinkNbLite/SimulinkNb/NbLibrary.mdl b/utils/SimulinkNbLite/SimulinkNb/NbLibrary.mdl
index f428b0061b2b5bfe15aeb2f72dec2598c08d9e3d..2d5a7435a538ce35dd86ea34ecb88e5c2c2404dd 100644
Binary files a/utils/SimulinkNbLite/SimulinkNb/NbLibrary.mdl and b/utils/SimulinkNbLite/SimulinkNb/NbLibrary.mdl differ
diff --git a/utils/SimulinkNbLite/SimulinkNb/example/OLvsCL/OLvsCL.mdl b/utils/SimulinkNbLite/SimulinkNb/example/OLvsCL/OLvsCL.mdl
index cd43bfb270557089a2fcf4ed3bb3953a775d5a13..c8a638fc9feff13364de15f9360106b3104647f6 100644
Binary files a/utils/SimulinkNbLite/SimulinkNb/example/OLvsCL/OLvsCL.mdl and b/utils/SimulinkNbLite/SimulinkNb/example/OLvsCL/OLvsCL.mdl differ
diff --git a/utils/convert2OlderMatlab.m b/utils/convert2OlderMatlab.m
index efc90d207feb3d8944b640a695ce21d9bd31debd..536b5137f1448d4d280e2c94d8fd2f292d4098c9 100644
--- a/utils/convert2OlderMatlab.m
+++ b/utils/convert2OlderMatlab.m
@@ -12,14 +12,14 @@ Simulink.exportToVersion(proj,'Acme_R2020a','R2020a');
 
 unzip("Acme_R2020a.zip","acme-public")
 
-commit_message = "v 0.2.2 changed constructor of TestMass and AcmeSim";
-
-cd('acme-public/')
+commit_message = "v 0.2.4 added CPD noise calculation";
+%%
+cd('~/Documents/acme-public/')
 system('git add .')
 system(strcat('git commit -m "', commit_message, ' "'))
 system('git push')
-
-cd('../acme/')
+%%
+cd('~/Documents/acme/')
 system('git add .')
 system(strcat('git commit -m "', commit_message, ' "'))
 system('git push')