这个例子展示了如何加载飞行数据和估计飞行期间的G力。
记录的数据包含以下飞行参数:
迎角(alpha),弧度,
侧滑角(测试版)以弧度
航速(以节计),
以弧度/秒为单位,
沿射程和横向射程的位置,还有
高度(alt),单位为英尺。
负载('astflight.mat');
MATLAB®变量攻击(阿尔法)的角,侧滑角(测试版),身体的角速率(ω-),并从记录的数据的高度(ALT)创建。的convangvel
功能从弧度每秒(弧度/秒),以每秒度(度/秒)用于转换体的角速率。
阿尔法= 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)和大气特性,就可以使用correctairspeed
函数。
VT = correctairspeed(CAS,A,P,“中科院”,“助教”);
使用datcomimport.
功能带来的数字DATCOM数据到MATLAB。这个空气动力学信息的单位是英尺和度。
数据= datcomimport(“astflight.out”,正确,0);
可以看到,在数字DATCOM输出文件和检查导入的数据
只有第一个alpha值的数据。默认情况下,缺失的数据点被设置为99999。丢失的数据点用第一个alpha的值填充,因为这些数据点意味着用于所有alpha值。
aerotab = {“地方”“cnb”'CLQ'“cmq的,};为k = 1:长度(aerotab)为m = 1:数据{1}.nmach为h = 1:数据{1}。{1} nalt数据。(aerotab {k}) (:, m h) ={1}数据。(aerotab {k}) (1 m h);结尾结尾结尾
数字DATCOM结构中的稳定性和动态导数是3-D表,它是马赫数、攻角和高度的函数。为了执行三维线性插值(interp3
),则要求导数表的指数为单调的格子状。这种形式的索引是由meshgrid
函数。
[mnum, alp, h] = meshgrid(数据{1}。马赫、数据{1}。{1}α,数据。alt);
由于导数的角单位是以度为单位的,所以攻角的单位(alpha)是通过函数从度和弧度转换而来的convang
.
alphadeg = convang(α,“拉德”,“度”);
飞行马赫数由该函数计算得到machnumber
使用声速(a)和空速(Vt)。
马赫= machnumber(convvel([Vt zero (size(Vt,1),2)],“节”,“米/秒”));
通过循环飞行条件,允许interp3
用于线性插值微分表,以求这些飞行条件下的静态和动态微分。
为K =长度(备选): - 1:1张CD(K,:) = interp3(MNUM,ALP,H,数据{1} .CD,马赫(K),alphadeg(K),ALT(K),“线性”);CYB(K,:) = interp3(MNUM,ALP,H,数据{1} .cyb,马赫(K),alphadeg(K),ALT(K),“线性”);CL(K,:) = interp3(MNUM,ALP,H,数据{1} .CL,马赫(K),alphadeg(K),ALT(K),“线性”);Cyp (k,:) = interp3(mnum, alp, h, data{1}.;cyp, Mach(k), alphadeg(k), alt(k),“线性”);包层(K,:) = interp3(MNUM,ALP,H,数据{1} .clad,马赫(K),alphadeg(K),ALT(K),“线性”);结尾
一旦衍生物找到符合的飞行条件,空气动力系数可以被计算。
参考长度和在空气动力系数计算中使用的区域被从数字DATCOM结构萃取。
CBAR =数据{1} .cbar;SREF =数据{1} .sref;BREF =数据{1} .blref;
导数的角单位是度,因此侧滑角()的单位是由弧度和度通过函数转换而来的convang
.
= convang(β,“拉德”,“度”);
为了计算空气动力系数,需要在稳定轴上给出物体的角速率,就像导数一样。这个函数dcmbody2wind
当侧滑角(beta)设为零时,生成体轴到稳定轴(Tsb)的方向余弦矩阵。
Tsb = dcmbody2wind(alpha, zero (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(端)];
在稳定性轴线(omega_stab)的角速率被计算为飞行数据。角速率再成形为一个3-d矩阵与用于身体轴的稳定轴线方向余弦矩阵(TSB)3-d矩阵相乘。
omega_temp =重塑((σ- - [零(大小(阿尔法))alpha_dot零(大小(阿尔法))])”,3,1,长度(欧米加));为K =长度(欧米加): - 1:1个omega_stab(K,:) =(TSB(:,:,k)的* omega_temp(:,:,k))的';结尾
计算阻力系数(CD),侧力系数(CY)和升力系数(CL)。的convvel
函数用于使空速(Vt)的单位与导数的单位一致。
CD = CD;CY =中青文。* betadeg + cyp。* omega_stab (: 1) * bref / 2. / convvel (Vt,“节”,'英尺/ S');*alpha_dot*cbar/2./convvel(Vt,“节”,'英尺/ S');
用阻力、侧力和升力的气动力系数来计算气动力。
需要动态压力来计算空气动力。这个函数dpressure
根据空速(Vt)和密度(rho)计算动态压力。的convvel
函数用于使空速(Vt)的单位与密度(rho)的单位一致。
qbar = dpressure(convvel([Vt zero (size(Vt,1),2)],“节”,“米/秒”),ρ);
为了求物体轴上的力,需要稳定轴到物体轴(Tbs)的方向余弦矩阵。稳定轴到体轴的方向余弦矩阵(Tbs)是体轴到稳定轴的方向余弦矩阵的转置。为了实现三维阵列的转置,这个换乘
使用函数。
Tbs = permute(Tsb, [2 1 3]);
通过飞行数据点,计算气动力,并从稳定性转换到身体轴。的convpres
函数用于获得动态压力(端Q)的与所述参考区域(SREF)的一致的单位。
为k =长度(一):1:1 forces_lbs (k,:) = Tbs (:,:, k) * (convpres(一个(k),“爸爸”,psf的) * Sref * [cd (k);CY (k);cl (k)]);结尾
恒定推力估计在主体轴。
推力=酮(长度(forces_lbs),1)* [200 0 0];
恒定推力估计被添加到空气动力和单位被转换度量。
力= convforce((forces_lbs + thrust),“磅”,“N”);
利用计算出的力,估计飞行过程中的重力。
加速度估计使用计算的力和质量转换成公斤使用convmass
.加速度转换为G力使用convacc
.
N = convacc((力/convmass(84.2,“鼻涕虫”,'公斤')),'米/秒^ 2',“G”是);N = [N(:,1:2) -n (:,3)];
G势力绘制上空飞行。
h1 =图;情节(fltdata (: 1), N);包含(的时间(秒)) ylabel (“G力”) 标题(“飞行中的重力”)传说(“Nx”,“纽约”,“新西兰”,“位置”,“最佳”)
关闭(H1);