From 2431a20bf71baf062aaa3bdc6ee9197fa0b91750 Mon Sep 17 00:00:00 2001
From: Stefano Belletti <stefano.belletti@skywarder.eu>
Date: Fri, 7 Feb 2025 16:24:54 +0100
Subject: [PATCH] New stable

---
 .../Functions/NoiseAnalysis_pink.m            |   9 +++++++
 commonFunctions/sensors/Sensor1D.m            |   6 ++---
 commonFunctions/sensors/Sensor3D.m            |  24 +++++++++---------
 .../Lyra_Port_sensor_vect_res.mat             | Bin 4423 -> 4485 bytes
 .../initSensors2024_Lyra_Portugal_October.m   |   4 +--
 5 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/commonFunctions/sensors/NoiseAnalysis/Functions/NoiseAnalysis_pink.m b/commonFunctions/sensors/NoiseAnalysis/Functions/NoiseAnalysis_pink.m
index 16acacc..755b7fe 100644
--- a/commonFunctions/sensors/NoiseAnalysis/Functions/NoiseAnalysis_pink.m
+++ b/commonFunctions/sensors/NoiseAnalysis/Functions/NoiseAnalysis_pink.m
@@ -140,14 +140,23 @@ if ~plot_val
             sensor_vect(sensor_number).track1.peaks_vect_f = peaks_vect_f;
             sensor_vect(sensor_number).track1.peaks_vect_val = factor*peaks_vect_val;
             sensor_vect(sensor_number).track1.variance = white_variance;
+            sensor_vect(sensor_number).track1.white_variance = white_variance;
+            sensor_vect(sensor_number).track1.fcut = fcut;
+            sensor_vect(sensor_number).track1.butterOrder = butterOrder;
         case 3
             sensor_vect(sensor_number).track2.peaks_vect_f = peaks_vect_f;
             sensor_vect(sensor_number).track2.peaks_vect_val = factor*peaks_vect_val;
             sensor_vect(sensor_number).track2.variance = white_variance;
+            sensor_vect(sensor_number).track2.white_variance = white_variance;
+            sensor_vect(sensor_number).track2.fcut = fcut;
+            sensor_vect(sensor_number).track2.butterOrder = butterOrder;
         case 4
             sensor_vect(sensor_number).track3.peaks_vect_f = peaks_vect_f;
             sensor_vect(sensor_number).track3.peaks_vect_val = factor*peaks_vect_val;
             sensor_vect(sensor_number).track3.variance = white_variance;
+            sensor_vect(sensor_number).track3.white_variance = white_variance;
+            sensor_vect(sensor_number).track3.fcut = fcut;
+            sensor_vect(sensor_number).track3.butterOrder = butterOrder;
     end
 end
 
diff --git a/commonFunctions/sensors/Sensor1D.m b/commonFunctions/sensors/Sensor1D.m
index dd2fcc5..1eff68a 100644
--- a/commonFunctions/sensors/Sensor1D.m
+++ b/commonFunctions/sensors/Sensor1D.m
@@ -154,18 +154,18 @@ classdef Sensor1D < handle
                 inputArg = inputArg + sqrt(obj.noiseVariance).*randn(length(inputArg),1);
             elseif ~isempty(obj.noiseDataTrack1)    
                 if strcmp(obj.noiseType, "white")
-                    inputArg = inputArg + sqrt(obj.noiseDataTrack1*obj.noiseFactor).*randn(length(inputArg),1);
+                    inputArg = inputArg + sqrt(obj.noiseDataTrack1*obj.noiseFactor^2).*randn(length(inputArg),1);
                 elseif strcmp(obj.noiseType, "pink")
                     for ii = 1:length(obj.noiseDataTrack1.peaks_vect_f)
                         inputArg = inputArg + obj.noiseDataTrack1.peaks_vect_val(ii)*obj.noiseFactor*sin(2*pi*obj.noiseDataTrack1.peaks_vect_f(ii)*t + randn(1));
                     end
                     % Colored noise
-                    white_noise = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor).*randn(length(inputArg),1);
+                    white_noise = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor^2).*randn(length(inputArg),1);
                     [b, a] = butter(obj.colored_opts.butterOrder, obj.colored_opts.fcut, 'low');
                     [colored_noise, obj.colored_opts.filterStatus1] = filter(b, a, white_noise, obj.colored_opts.filterStatus1);
                     inputArg = inputArg + colored_noise;
                 elseif strcmp(obj.noiseType, "colored")
-                    inputArg = inputArg + sqrt(obj.noiseDataTrack1.white_variance*obj.noiseFactor).*randn(length(inputArg),1);
+                    inputArg = inputArg + sqrt(obj.noiseDataTrack1.white_variance*obj.noiseFactor^2).*randn(length(inputArg),1);
                     [b, a] = butter(obj.noiseDataTrack1.butterOrder, obj.noiseDataTrack1.fcut, 'low');
                     [inputArg, obj.colored_opts.filterStatus1] = filter(b, a, inputArg, obj.colored_opts.filterStatus1);
                 else
diff --git a/commonFunctions/sensors/Sensor3D.m b/commonFunctions/sensors/Sensor3D.m
index 5126456..d338de9 100644
--- a/commonFunctions/sensors/Sensor3D.m
+++ b/commonFunctions/sensors/Sensor3D.m
@@ -130,23 +130,23 @@ classdef Sensor3D < Sensor1D
                 inputArg3 = inputArg3 + sqrt(obj.noiseVariance).*randn(length(inputArg3),1);
             elseif ~isempty(obj.noiseDataTrack1)
                 if strcmp(obj.noiseType, "white")
-                    inputArg1 = inputArg1 + sqrt(obj.noiseDataTrack1*obj.noiseFactor).*randn(length(inputArg1),1);
-                    inputArg2 = inputArg2 + sqrt(obj.noiseDataTrack2*obj.noiseFactor).*randn(length(inputArg2),1);
-                    inputArg3 = inputArg3 + sqrt(obj.noiseDataTrack3*obj.noiseFactor).*randn(length(inputArg3),1);
+                    inputArg1 = inputArg1 + sqrt(obj.noiseDataTrack1*obj.noiseFactor^2).*randn(length(inputArg1),1);
+                    inputArg2 = inputArg2 + sqrt(obj.noiseDataTrack2*obj.noiseFactor^2).*randn(length(inputArg2),1);
+                    inputArg3 = inputArg3 + sqrt(obj.noiseDataTrack3*obj.noiseFactor^2).*randn(length(inputArg3),1);
                 elseif strcmp(obj.noiseType, "pink")
                     for ii = 1:length(obj.noiseDataTrack1.peaks_vect_f)
-                        inputArg1 = inputArg1 + obj.noiseDataTrack1.peaks_vect_val(ii)*sin(2*pi*obj.noiseDataTrack1.peaks_vect_f(ii)*t + randn(1));
-                        inputArg2 = inputArg2 + obj.noiseDataTrack2.peaks_vect_val(ii)*sin(2*pi*obj.noiseDataTrack2.peaks_vect_f(ii)*t + randn(1));
-                        inputArg3 = inputArg3 + obj.noiseDataTrack3.peaks_vect_val(ii)*sin(2*pi*obj.noiseDataTrack3.peaks_vect_f(ii)*t + randn(1));
+                        inputArg1 = inputArg1 + obj.noiseDataTrack1.peaks_vect_val(ii)*obj.noiseFactor*sin(2*pi*obj.noiseDataTrack1.peaks_vect_f(ii)*t + randn(1));
+                        inputArg2 = inputArg2 + obj.noiseDataTrack2.peaks_vect_val(ii)*obj.noiseFactor*sin(2*pi*obj.noiseDataTrack2.peaks_vect_f(ii)*t + randn(1));
+                        inputArg3 = inputArg3 + obj.noiseDataTrack3.peaks_vect_val(ii)*obj.noiseFactor*sin(2*pi*obj.noiseDataTrack3.peaks_vect_f(ii)*t + randn(1));
                     end
                     % Colored noise
-                    white_noise1 = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise1 = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor^2).*randn(1,1);
                     [b1, a1] = butter(obj.noiseDataTrack1.butterOrder, obj.noiseDataTrack1.fcut, 'low');
                     [colored_noise1, obj.colored_opts.filterStatus1] = filter(b1, a1, white_noise1, obj.colored_opts.filterStatus1);
-                    white_noise2 = sqrt(obj.noiseDataTrack2.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise2 = sqrt(obj.noiseDataTrack2.variance*obj.noiseFactor^2).*randn(1,1);
                     [b2, a2] = butter(obj.noiseDataTrack2.butterOrder, obj.noiseDataTrack2.fcut, 'low');
                     [colored_noise2, obj.colored_opts.filterStatus2] = filter(b2, a2, white_noise2, obj.colored_opts.filterStatus2);
-                    white_noise3 = sqrt(obj.noiseDataTrack3.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise3 = sqrt(obj.noiseDataTrack3.variance*obj.noiseFactor^2).*randn(1,1);
                     [b3, a3] = butter(obj.noiseDataTrack3.butterOrder, obj.noiseDataTrack3.fcut, 'low');
                     [colored_noise3, obj.colored_opts.filterStatus3] = filter(b3, a3, white_noise3, obj.colored_opts.filterStatus3);
 
@@ -154,13 +154,13 @@ classdef Sensor3D < Sensor1D
                     inputArg2 = inputArg2 + colored_noise2;
                     inputArg3 = inputArg3 + colored_noise3;
                 elseif strcmp(obj.noiseType, "colored")
-                    white_noise1 = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise1 = sqrt(obj.noiseDataTrack1.variance*obj.noiseFactor^2).*randn(1,1);
                     [b1, a1] = butter(obj.noiseDataTrack1.butterOrder, obj.noiseDataTrack1.fcut, 'low');
                     [colored_noise1, obj.colored_opts.filterStatus1] = filter(b1, a1, white_noise1, obj.colored_opts.filterStatus1);
-                    white_noise2 = sqrt(obj.noiseDataTrack2.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise2 = sqrt(obj.noiseDataTrack2.variance*obj.noiseFactor^2).*randn(1,1);
                     [b2, a2] = butter(obj.noiseDataTrack2.butterOrder, obj.noiseDataTrack2.fcut, 'low');
                     [colored_noise2, obj.colored_opts.filterStatus2] = filter(b2, a2, white_noise2, obj.colored_opts.filterStatus2);
-                    white_noise3 = sqrt(obj.noiseDataTrack3.variance*obj.noiseFactor).*randn(1,1);
+                    white_noise3 = sqrt(obj.noiseDataTrack3.variance*obj.noiseFactor^2).*randn(1,1);
                     [b3, a3] = butter(obj.noiseDataTrack3.butterOrder, obj.noiseDataTrack3.fcut, 'low');
                     [colored_noise3, obj.colored_opts.filterStatus3] = filter(b3, a3, white_noise3, obj.colored_opts.filterStatus3);
 
diff --git a/data/2024_Lyra_Portugal_October/Lyra_Port_sensor_vect_res.mat b/data/2024_Lyra_Portugal_October/Lyra_Port_sensor_vect_res.mat
index 0b806e6b498b7f8c1b7a91c4cc43ae2c1a5c0a80..9b632ec81391874f68523f2d5c7e533909e400fd 100644
GIT binary patch
delta 3555
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
Hcr%#+NRJ9L

delta 3493
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

diff --git a/data/2024_Lyra_Portugal_October/initSensors2024_Lyra_Portugal_October.m b/data/2024_Lyra_Portugal_October/initSensors2024_Lyra_Portugal_October.m
index 303eb04..76c1f74 100644
--- a/data/2024_Lyra_Portugal_October/initSensors2024_Lyra_Portugal_October.m
+++ b/data/2024_Lyra_Portugal_October/initSensors2024_Lyra_Portugal_October.m
@@ -126,7 +126,7 @@ sensorSettings.magnetometer = Sensor3D();
 sensorSettings.magnetometer.maxMeasurementRange   =   16000;                        % 4000, 8000, 12000, 16000 in mG
 sensorSettings.magnetometer.minMeasurementRange   =   -16000;                       % -4000, -8000, -12000, -16000 in mG
 sensorSettings.magnetometer.resolution            =   0.58;                         % 0.14, 0.29, 0.43, 0.58 in mG
-sensorSettings.magnetometer.noiseVariance         =   4;                            % guess in mG (original guess 2)
+% sensorSettings.magnetometer.noiseVariance         =   4;                            % guess in mG (original guess 2)
 sensorSettings.magnetometer.offsetX               =   0;                            % +-1000 in mG
 sensorSettings.magnetometer.offsetY               =   0;                            % +-1000 in mG
 sensorSettings.magnetometer.offsetZ               =   0;                            % +-1000 in mG
@@ -134,7 +134,7 @@ sensorSettings.magnetometer.walkDiffusionCoef     =   0;
 sensorSettings.magnetometer.dt                    =   0.01;                         % sampling time
 sensorSettings.magnetometer.transMatrix           =   diag([1 1 1]);                % axis transformation
 
-sensorSettings.magnetometer.update();
+sensorSettings.magnetometer.update(Lyra_Port_sensor_vect, "main_Boardcore_LIS2MDLData.csv", 1);
 
 %% initial GPS sensor from NEO-M9N
 % NOTE: lon, in degree lat in degree, alt in m
-- 
GitLab