Skip to content
Snippets Groups Projects
Verified Commit 4a825834 authored by Thomas Lambert's avatar Thomas Lambert :helicopter:
Browse files

fix(analysis): bugs in coeff calc

parent 14dab9d2
No related branches found
No related tags found
No related merge requests found
......@@ -83,7 +83,6 @@ function ResData = getmeancoefficients(ResData)
% Transform forces/moments into coefficients
ResData(i, j) = calccoeff(ResData(i, j));
end
end
end
......@@ -93,18 +92,22 @@ function ResData = calccoeff(ResData)
POSITIONS = {'Front', 'Aft'};
CHORD = 0.05;
SPAN = 2 * 0.2;
C_TO_K = 273.15;
if ~isempty(ResData.Phase.idx)
for i = 1:length(ResData.Phase.idx)
for i = 1:length(ResData.Phase)
if ~isempty(ResData.Phase(i).idx)
for j = 1:length(POSITIONS)
dens = airdensity(ResData.Testcase.temp, ResData.Testcase.press);
dens = airdensity(ResData.Testcase.temp + C_TO_K, ResData.Testcase.press);
speed = ResData.Testcase.airspeed;
coeffF = forcetocoeff(ResData.Phase(i).(POSITIONS{j}).forces, ...
dens, speed, CHORD, SPAN, 'force');
coeffM = forcetocoeff(ResData.Phase(i).(POSITIONS{j}).moments, ...
dens, speed, CHORD, SPAN, 'moment');
ResData.Phase(i).(POSITIONS{j}).cF = coeffF;
ResData.Phase(i).(POSITIONS{j}).cM = coeffM;
end
end
end
end
......@@ -126,6 +126,11 @@ function signalRange = findsyncedpeaks(signal1, signal2, nPeriodIdx, offset, nPe
% Signal ranges where it is properly synchronized
signalRange = peakLocs1([offsetIdx - 1, offsetIdx + 1]);
% FIXME: Hackyway to make it work
if numel(signalRange) == 2
signalRange = signalRange';
end
if DEBUG
peakLocs = peakLocs1(offsetIdx); % Location of the peaks
figure;
......
......@@ -17,9 +17,9 @@ function ResData = removeinertia(ResData, ResDataWO, field)
for i = 1:length(ResData.Phase)
if ~isempty(ResData.Phase(i).idx)
for j = 1:size(ResData.Phase(i).idx, 1)
syncedRange = ResData.Phase(i).idx(1):ResData.Phase(i).idx(2);
meanF(j, :) = mean(ResDataWO.(field).forces(syncedRange));
meanM(j, :) = mean(ResDataWO.(field).moments(syncedRange));
syncedRange = ResData.Phase(i).idx(j, 1):ResData.Phase(i).idx(j, 2);
meanF(j, :) = mean(ResData.(field).forces(syncedRange, :));
meanM(j, :) = mean(ResData.(field).moments(syncedRange, :));
end
ResData.Phase(i).(field).rawF = mean(meanF);
ResData.Phase(i).(field).rawM = mean(meanM);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment