主要内容

为飞行数据估计G力

这个例子展示了在飞行过程中如何加载飞行数据和估计G力。

装载记录的飞行数据进行分析

记录的数据包含以下飞行参数:

  • 迎角(alpha),单位为弧度,

  • 侧滑角,单位为弧度,

  • 航速(IAS),以节为单位,

  • 身体角速度(ω),单位为弧度/秒,

  • 沿程和横程位置以英尺为单位,以及

  • 高度(alt),单位为英尺。

负载(“astflight.mat”);

从装载数据中提取飞行参数

MATLAB®变量创建的攻角(alpha),侧滑角(beta),身体角率(omega),和高度(alt)从记录的数据。的convangvel函数用于将物体的角速度从弧度/秒(rad/s)转换为度/秒(deg/s)。

α= fltdata (:, 2);β= fltdata (: 3);= convangvel(fltdata(:,5:7),“rad / s”“度/秒”);alt = fltdata (: 10);

从指示空速计算真实空速

在这组飞行数据中,指示空速(IAS)被记录下来。指示空速(IAS)显示在座舱仪表上。为了进行计算,通常使用真实空速(TAS),即没有测量误差的空速。

测量误差通过飞行员静态空速指示器来确定空速。这些测量误差是密度误差压缩错误而且标定误差.将这些误差应用到真实空速上,得到指示空速。

  • 密度误差由于高空空气密度较低而发生。其效果是,在较高的高度,空速指示器读数低于真实空速。当海拔高度的空气密度与海平面标准日的空气密度的差值或误差应用于真实空速时,得到等效空速(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)和密度(rho)是在标准日的高度上用atmoscoesa函数。

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

一旦校准空速(CAS)和大气特性被确定,真实空速(Vt)可以用correctairspeed函数。

Vt = correctairspeed(CAS, a, P,“中科院”“助教”);

为飞机导入数字DATCOM数据

使用datcomimport函数将数字数据com数据引入MATLAB。空气动力学信息的单位是英尺和度。

数据= datcomimport (“astflight.out”, true, 0);

它可以在数字DATCOM输出文件和检查导入的数据中看到

C Y β C n β C l 而且 C

只有第一个alpha值的数据。默认情况下,缺失的数据点被设置为99999,并使用fillmissing的“previous”方法填充。缺失的数据点用第一个alpha值填充,因为这些数据点意味着用于所有alpha值。

{1}数据。中青文= fillmissing(数据{1}.cyb,“以前”“MissingLocations”、数据{1}。的地方= = 99999);数据{1}.cnb = fillmissing(数据{1}.cnb,“以前”“MissingLocations”, data{1}.cnb == 99999);{1}数据。{1} clq = fillmissing(数据.clq,“以前”“MissingLocations”、数据{1}。clq = = 99999);{1}数据。cmq =, fillmissing(数据{1}.cmq,“以前”“MissingLocations”、数据{1}。cmq = =, 99999);

插值飞行条件下的稳定性和动态导数

数字DATCOM结构的稳定性和动态导数是马赫数、攻角(度)和高度(英尺)的三维函数表。进行三维线性插值(griddedInterpolant),要求导数表的索引为单调的满格点。这种形式的索引由nd生成网格函数。

[mnum, alp, h] = ndgrid(data{1}.]马赫、数据{1}。{1}α,数据。alt);

由于导数的角单位是以度为单位的,所以攻角(alpha)的单位是由函数从弧度和角度转换而来的convang

Alphadeg = convang(alpha,rad的“度”);

飞行的马赫数是由函数计算出来的machnumber使用声速(a)和空速(Vt)。

Mach = machnumber(convvel([Vt 0 (size(Vt,1),2)],“节”“米/秒”));

GriddedInterpolant可用于线性插值微分表,以找出飞行条件下的静态和动态微分。

F = griddedInterpolant(mnum, alp, h, page转置(data{1}.cd),“线性”);cd = F(Mach, alphadeg, alt);F = griddedInterpolant(mnum, alp, h, page转置(data{1}.cyb),“线性”);cyb = F(Mach, alphadeg, alt);F = griddedInterpolant(mnum, alp, h, page转置(data{1}.cl),“线性”);cl = F(Mach, alphadeg, alt);F = griddedInterpolant(mnum, alp, h, page转置(data{1}.cyp),“线性”);cyp = F(Mach, alphadeg, alt);F = griddedInterpolant(mnum, alp, h, page转置(data{1}.clad),“线性”);F(Mach, alphadeg, alt);

计算空气动力系数

一旦找到了飞行条件的导数,就可以计算出气动系数。

气动系数计算所用的参考长度和面积是从数字DATCOM结构中提取的。

数据cbar = {1} .cbar;数据Sref = {1} .sref;数据bref = {1} .blref;

导数的角单位是度,所以侧滑角()的单位是由函数从弧度和度转换而来的convang

Betadeg = convang(beta,rad的“度”);

为了计算空气动力学系数,需要在稳定性轴上给出身体的角速度(ω),就像导数一样。这个函数dcmbody2stability当侧滑角(beta)设置为零时,生成体轴到稳定轴(Tsb)的方向余弦矩阵。

Tsb = dcmbody2stability(alpha);

攻角变化率(alpha_dot)还需要找到稳定轴(omega_stab)中的角速率。这个函数diff在alpha上使用,单位为度数除以数据采样时间(0.50秒),以近似攻角变化率(alpha_dot)。

Alpha_dot = diff(alphadeg/0.50);

保留alpha_dot的最后一个值,以保持alpha_dot的长度与此计算中的其他数组一致。这是必需的,因为diff函数返回一个比输入值小一个值的数组。

alpha_dot = [alpha_dot;alpha_dot(结束)];

在稳定轴的角速度(omega_stab)计算飞行数据。角速率被重塑为一个3-D矩阵,与3-D矩阵相乘,得到体轴到稳定轴(Tsb)的方向余弦矩阵。

Omega_temp = remodeling ((omega - [zeros(size(alpha)) alpha_dot zeros(size(alpha))])',3,1,length(omega));k =长度(ω):1:1 omega_stab (k,:) = (Tsb (:,:, k) * omega_temp (:,:, k)) ';结束

计算阻力系数(CD),侧力系数(CY)和升力系数(CL)。的convvel函数得到与导数一致的空速单位(Vt)。

CD = CD;CY = (cyb。* betadeg) + (((cyp。* omega_stab (: 1)) * bref) / (2. / convvel (Vt,“节”“米/秒”)));CL = CL + (() clad。/(2./convvel(v);“节”“米/秒”)));

计算力

阻力、侧力和升力的空气动力系数被用来计算空气动力。

计算空气动力需要动压力。这个函数dpressure从空速(Vt)和密度(rho)计算动压。的convvel函数得到空速(Vt)单位与密度(rho)单位一致。

qbar = dpressure(convvel([Vt 0 (size(Vt,1),2)],“节”“米/秒”),ρ);

为了找到体轴上的力,需要稳定轴到体轴的方向余弦矩阵(Tbs)。稳定轴方向余弦矩阵到机体轴(Tbs)是机体轴方向余弦矩阵到稳定轴(Tsb)的转置。要对一个3-D数组进行转置,需要使用pagetranspose函数。

Tbs = pagetranspose (Tsb);

通过飞行数据点循环,计算出气动力,并将其从稳定性转换为机体轴。的convpres函数得到与参考面积(Sref)一致的动压单位(qbar)。

k =长度(一):1:1 forces_lbs (k,:) = Tbs (:,:, k) * (convpres(一个(k),“爸爸”psf的) * Sref * [cd (k);CY (k);cl (k)]);结束

在体轴上估计一个恒定推力。

推力= ones(length(force_lbs),1)*[200 00];

恒定推力估计被添加到空气动力和单位转换为公制。

力= convforce((force_lbs +推力),“磅力”“N”);

估计G力

利用计算出的力,估计飞行过程中的G力。

加速度的估计使用计算的力和质量转换为千克使用convmass.加速度转换为G力使用convacc

N = convacc((力/convmass(84.2,“鼻涕虫”“公斤”)),“米/秒^ 2”“G”);N = N .* [1,1,-1];

G力在飞行过程中被绘制出来。

h1 =图;情节(fltdata (: 1), N);包含(的时间(秒)) ylabel (“G力”)标题(“飞行上的G力”)传说(“Nx”“纽约”“新西兰”“位置”“最佳”

图中包含一个axes对象。标题为G Forces over The Flight的axis对象包含3个类型为line的对象。这些对象代表Nx, Ny, Nz。

关闭(h1);
Baidu
map