exponenta event banner

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

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

Нагрузка, зафиксированная полетными данными для анализа

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

  • угол атаки (альфа) в радианах,

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

  • приборная скорость (МСУ) в узлах,

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

  • нисходящие и перекрестные положения в футах, и

  • высота (alt) в футах.

load('astflight.mat');

Извлечение параметров полета из загруженных данных

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

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

Вычислить истинную воздушную скорость из указанной воздушной скорости

В этом наборе полетных данных была зафиксирована приборная скорость (IAS). Индикация приборной скорости (IAS) индицируется в приборе кабины. Для выполнения расчетов обычно используется истинная воздушная скорость (TAS) - скорость без ошибок измерения.

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

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

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

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

Ниже приведена таблица калибровки скорости для индикатора скорости самолета с нулевым отклонением закрылка. Таблица калибровки скорости воздуха преобразует указанную скорость (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) );

Атмосферные свойства, температуру (Т), скорость звука (а), давление (Р) и плотность (ро) определяют на высоте для стандартных суток с помощью 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 );

Его можно увидеть в выходном файле Digital DATCOM и проверить импортированные данные, которые

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

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

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 используя скорость звука (а) и воздушную скорость (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) и плотности (rho). convvel функция используется для приведения единиц скорости (Vt) в соответствие с единицами плотности (rho).

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

Для нахождения сил в осях тела необходима матрица направления косинуса для осей устойчивости к осям тела (Tbs). Матрица направления косинуса для осей устойчивости к осям тела (Tbs) представляет собой транспонирование матрицы направления косинуса для осей тела к осям устойчивости (Tsb). Чтобы выполнить транспонирование массива 3-D, 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);