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