Оценка G силы для полетных данных

В этом примере показано, как загрузить полетные данные и оценить, что G обеспечивает во время рейса.

Загрузите записанные полетные данные для анализа

Записанные данные содержат следующие параметры рейса:

  • угол нападения (альфа) в радианах,

  • угол заноса (бета) в радианах,

  • обозначенная скорость полета (IAS) в узлах,

  • тело угловые уровни (омега) в радианах/секунда,

  • downrange и crossrange положения в ногах, и

  • высота (высокий звук) в ногах.

load('astflight.mat');

Извлеките параметры рейса из загруженных данных

Переменные MATLAB® создаются для угла нападения (альфа), угол заноса (бета), тело угловые уровни (омега) и высота (высокий звук) из записанных данных. convangvel функция используется, чтобы преобразовать тело угловые уровни от радианов в секунду (rad/s) до степеней в секунду (градус/с).

alpha = fltdata(:,2);
beta  = fltdata(:,3);
omega = convangvel( fltdata(:,5:7), 'rad/s', 'deg/s' );
alt   = fltdata(:,10);

Вычислите истинную скорость полета из обозначенной скорости полета

В этом наборе полетных данных была зарегистрирована обозначенная скорость полета (IAS). Обозначенная скорость полета (IAS) отображена в инструментировании кабины. Чтобы выполнить вычисления, истинная скорость полета (TAS), скорость полета без погрешностей измерения, обычно используется.

Погрешности измерения введены через pitot-статические анемотахометры, используемые, чтобы определить скорость полета. Эти погрешности измерения являются ошибкой плотности, ошибкой сжимаемости и калибровочной ошибкой. Применение этих ошибок к истинной скорости полета приводит к обозначенной скорости полета.

  • Ошибка плотности происходит должная понизить плотность воздуха на высоте. Эффект является анемотахометром чтения ниже, чем истинная скорость полета на больших высотах. Когда различие или ошибка в плотности воздуха на высоте от плотности воздуха в стандартный день на уровне моря применяются к истинной скорости полета, это приводит к эквивалентной скорости полета (EAS). Эквивалентная скорость полета является истинной скоростью полета, измененной с изменениями в атмосферной плотности, которые влияют на анемотахометр.

  • Ошибка сжимаемости происходит, потому что воздух имеет ограниченные возможности сопротивляться сжатию. Эта способность уменьшается увеличением высоты, увеличением скорости или ограниченным объемом. В анемотахометре существует определенное количество захваченного воздуха. При полете на больших высотах и более высоких скоростях полета, калиброванная скорость полета (CAS) всегда выше, чем эквивалентная скорость полета. Калиброванная скорость полета является эквивалентной скоростью полета, измененной с эффектами сжимаемости воздуха, которые влияют на анемотахометр.

  • Калибровочная ошибка характерна для данной конструкции самолета. Калибровочная ошибка является результатом положения и размещением статического вентилятора (вентиляторов), чтобы поддерживать давление, равное атмосферному давлению в анемотахометре. Положение и размещение статического вентилятора наряду с углом нападения и скоростью самолета определят давление в анемотахометре и таким образом количестве калибровочной ошибки анемотахометра. Калибровочная таблица обычно дается в экспериментальном операционном руководстве (POH) или в других технических требованиях самолета. Используя эту калибровочную таблицу, обозначенная скорость полета (IAS) определяется из калиброванной скорости полета путем изменения его с калибровочной ошибкой анемотахометра.

Следующие данные являются калибровочной таблицей скорости полета для анемотахометра самолета с нулевым отклонением откидной створки. Калибровочная таблица скорости полета преобразует обозначенную скорость полета (IAS) в калиброванную скорость полета (CAS) путем удаления калибровочной ошибки.

flaps0IAS = 40:10:140;
flaps0CAS = [43 51 59 68 77 87 98 108 118 129 140];

Обозначенная скорость полета (IAS) от рейса и калибровочной таблицы скорости полета используется, чтобы определить калиброванную скорость полета (CAS) для рейса.

CAS = interp1( flaps0IAS, flaps0CAS, fltdata(:,4) );

Атмосферные свойства, температура (T), скорость звука (a), давление (P), и плотность (ро), определяются на высоте в течение стандартного дня с помощью atmoscoesa функция.

[T, a, P, rho]= atmoscoesa( alt );

Если калиброванная скорость полета (CAS) и атмосферные свойства определяется, истинная скорость полета (Vt) может быть вычислена с помощью correctairspeed функция.

Vt = correctairspeed( CAS, a, P, 'CAS', 'TAS' );

Импортируйте цифровые данные DATCOM для самолета

Используйте datcomimport функция, чтобы принести Цифровые данные DATCOM в MATLAB. Модули для этой аэродинамической информации являются ногами и степенями.

data = datcomimport( 'astflight.out', true, 0 );

Это видно в Цифровом выходном файле DATCOM и исследовании импортированных данных это

$$ C_{Y\beta},$$
$$ C_{n\beta},$$
$$ C_{lq},$$ and
$$ C_{mq}$$

имейте данные только в первом альфа-значении. По умолчанию недостающие точки данных установлены в 99 999. Недостающие точки данных заполнены значениями для первой альфы, поскольку эти точки данных предназначаются, чтобы использоваться для всех альфа-значений.

aerotab = {'cyb' 'cnb' 'clq' 'cmq'};

for k = 1:length(aerotab)
    for m = 1:data{1}.nmach
        for h = 1:data{1}.nalt
            data{1}.(aerotab{k})(:,m,h) = data{1}.(aerotab{k})(1,m,h);
        end
    end
end

Интерполируйте устойчивость и динамические производные при условиях рейса

Устойчивость и динамические производные в цифровой структуре DATCOM являются 3-D таблицами, которые являются функциями Числа Маха, углом нападения в градусах и высотой в ногах. Для того, чтобы выполнить 3-D линейную интерполяцию (interp3), индексы для производных таблиц требуются, чтобы быть монотонными и плед. Индексы этой формы сгенерированы meshgrid функция.

[mnum, alp, h] = meshgrid( data{1}.mach, data{1}.alpha, data{1}.alt );

Поскольку угловые единицы производных в градусах, единицы угла нападения (альфа) преобразованы от радианов от степеней функциональным convang.

alphadeg = convang( alpha, 'rad', 'deg' );

Числа Маха для рейса вычисляются функциональным machnumber использование скорости звука (a) и скорость полета (Vt).

Mach = machnumber( convvel( [Vt zeros(size(Vt,1),2)], 'kts', 'm/s' ), a );

Цикличное выполнение через условия рейса, позволяет interp3 использоваться, чтобы линейно интерполировать производные таблицы, чтобы найти статические и динамические производные при тех условиях рейса.

for k = length(alt):-1:1
    cd(k,:)   = interp3( mnum, alp, h, data{1}.cd,   Mach(k), alphadeg(k), alt(k), 'linear');
    cyb(k,:)  = interp3( mnum, alp, h, data{1}.cyb,  Mach(k), alphadeg(k), alt(k), 'linear');
    cl(k,:)   = interp3( mnum, alp, h, data{1}.cl,   Mach(k), alphadeg(k), alt(k), 'linear');
    cyp(k,:)  = interp3( mnum, alp, h, data{1}.cyp,  Mach(k), alphadeg(k), alt(k), 'linear');
    clad(k,:) = interp3( mnum, alp, h, data{1}.clad, Mach(k), alphadeg(k), alt(k), 'linear');
end

Вычислите аэродинамические коэффициенты

Если производные найдены для условий рейса, аэродинамические коэффициенты могут быть вычислены.

Ссылочные длины и области, используемые в аэродинамическом содействующем расчете, извлечены из цифровой структуры DATCOM.

cbar = data{1}.cbar;
Sref = data{1}.sref;
bref = data{1}.blref;

Угловые единицы производных в градусах, таким образом, единицы угла заноса (бета) преобразованы от радианов от степеней функциональным convang.

betadeg  = convang( beta,  'rad', 'deg' );

Для того, чтобы вычислить аэродинамические коэффициенты, тело, угловые уровни (омега) должны быть даны в осях устойчивости, как производные. Функциональный dcmbody2wind генерирует матрицу направляющего косинуса для осей тела к осям устойчивости (Tsb), когда угол заноса (бета) обнуляется.

Tsb = dcmbody2wind( alpha, zeros(size(alpha)) );

Скорость изменения в углу нападения (alpha_dot) также необходима, чтобы найти угловые уровни на оси устойчивости (omega_stab). Функциональный diff используется на альфе, в градусах разделенной на шаг расчета данных (0,50 секунды), чтобы аппроксимировать скорость изменения в углу нападения (alpha_dot).

alpha_dot = diff( alphadeg/0.50 );

Последнее значение alpha_dot, как сохранилось, сохраняет длину alpha_dot сопоставимой с другими массивами в этом вычислении. Это необходимо потому что diff функция возвращает массив, который является одним значением короче что вход

alpha_dot = [alpha_dot; alpha_dot(end)];

Угловые уровни на оси устойчивости (omega_stab) вычисляются для полетных данных. Угловые уровни изменены в 3-D матрицу, которая будет умножена с 3-D матрицей для матрицы направляющего косинуса для осей тела к осям устойчивости (Tsb).

omega_temp = reshape((omega - [zeros(size(alpha)) alpha_dot zeros(size(alpha))])',3,1,length(omega));

for k = length(omega):-1:1
    omega_stab(k,:) = (Tsb(:,:,k)*omega_temp(:,:,k))';
end

Вычислите коэффициент сопротивления (CD), коэффициент силы стороны (CY) и коэффициент лифта (CL). convvel функция используется, чтобы получить модули скорости полета (Vt), сопоставимый с теми из производных.

CD = cd;
CY = cyb.*betadeg + cyp.*omega_stab(:,1)*bref/2./convvel(Vt,'kts','ft/s');
CL = cl + clad.*alpha_dot*cbar/2./convvel(Vt,'kts','ft/s');

Вычислите силы

Аэродинамические коэффициенты для перетаскивания, силы стороны и лифта используются для расчета аэродинамические силы.

Динамическое давление необходимо, чтобы вычислить аэродинамические силы. Функциональный dpressure вычислите динамическое давление скорости полета (Vt) и плотности (ро). convvel функция используется, чтобы получить модули скорости полета (Vt), сопоставимый с теми из плотности (ро).

qbar = dpressure( convvel( [Vt zeros(size(Vt,1),2)], 'kts', 'm/s' ), rho );

Чтобы найти силы в осях тела, матрица направляющего косинуса для осей устойчивости, чтобы придать форму оси (Tbs) необходима. Матрица направляющего косинуса для осей устойчивости, чтобы придать форму оси (Tbs) является транспонированием матрицы направляющего косинуса для осей тела к осям устойчивости (Tsb). Взять транспонирование трехмерного массива, permute функция используется.

Tbs = permute( Tsb, [2 1 3] );

Цикличное выполнение через точки полетных данных, аэродинамические силы вычислены и преобразованы от устойчивости до осей тела. convpres функция используется, чтобы получить единицы динамического давления (qbar) сопоставимый с теми из области ссылки (Sref).

for k = length(qbar):-1:1
    forces_lbs(k,:) = Tbs(:,:,k)*(convpres(qbar(k),'Pa','psf')*Sref*[-CD(k); CY(k); -CL(k)]);
end

Постоянная тяга оценивается в осях тела.

thrust = ones(length(forces_lbs),1)*[200 0 0];

Постоянная оценка тяги добавляется к аэродинамическим силам, и единицы преобразованы к метрике.

forces = convforce((forces_lbs + thrust),'lbf','N');

Оцените силы G

Используя расчетные силы, оцените силы G во время рейса.

Ускорения оцениваются с помощью расчетных сил и массы, преобразованной в килограммы с помощью convmass. Ускорения преобразованы в силы G, использующие convacc.

N = convacc(( forces/convmass(84.2,'slug','kg') ),'m/s^2','G''s');
N = [N(:,1:2) -N(:,3)];

G силы построены по рейсу.

h1 = figure;
plot(fltdata(:,1), N);
xlabel('Time (sec)')
ylabel('G Force')
title('G Forces over the Flight')
legend('Nx','Ny','Nz','Location','Best')

close(h1);
Для просмотра документации необходимо авторизоваться на сайте