频率设置主要考虑到滤波器对驱动及响应的影响,以及计算驱动时所用的系统传递逆矩阵的有效范围应该绝对覆盖目标的预期工作频带。
正常迭代时,响应频带 辨识的范围 动态滤波器频带 奈奎斯特频率,特殊情况下,可根据需要对驱动进行频带微调。
ICS过程中参与工作的滤波器共有5类(7处),其中离线2类(4处),在线3类(3处),ICS迭代过程中驱动文件生成后,驱动信号在Pulsar中滤波、播放、控制、以及响应滤波、采集流程如下图所示,图中未体现ICS对驱动和响应sef离线滤波的过程,包括BrickWall 和Notch Filter。
该滤波器是用于500Hz低通抗混叠滤波器,属于硬件层面,通过跳针开启(一般建议开启,且默认是开启状态)
对于有些明显的电磁/电气高频干扰的信号(比如某型号的3A电流放大器,2000Hz的高频干扰),该滤波器可起到较好的滤波器效果。
当不滤波而采用低采样率比如1000Hz时,有效频带内会出现之前没有出现的成份,主要是由于混叠导致的。
针对混叠后信号的频率计算:
当原始信号频率为2222Hz和4444Hz时,通过1024Hz低采样后的频率为178Hz和348Hz。
增加模拟量滤波后,高频成分明显下降,PSD分析结果显示4阶低通滤波器对3A电流放大器的影响非常明显,同时离线的滤波器(蓝线)分析结果中最大PSD值显示该滤波器为4阶低通滤波器。
Pulsar的帮助文件中对混叠的参加 C:\Program Files (x86)\Servotest\Pulsar\fileLibrary\pulsar.chm >> Appendix E. Aliasing
ICS播放驱动前会自动针对每个响应通道创建一个滤波器,这个滤波器名称为“{响应通道名} Dynamic Filter”,在DSP Tools 中可以查看,常规点击Replayer时这个滤波器是不会创建的,只有在ICS里面点击播放时会生成。
该参数设置是在ICS中默认按照进行设置,播放时根据该参数生成一个巴特沃斯低通滤波器(4阶)插入到HUB控制器的DSP中。
用处:该滤波器是对硬件的500Hz的低通滤波器的进一步补充,过滤掉该频率值到Hub采样率之间的高频成分,以避免该频段的高频成分在迭代过程如果进行低频采样出现混叠的情况。
由于该功能是基于Pulsar HUB DSP的采样率进行设置的,因此HUB DSP迭代频率越高该抗混叠滤波效果越好。
以某个数据库为例,迭代目标信号为Displacement 1 Sim_M1,在Acq_01和Acq_02中分别加入该信号,通过DSP Tools查看各自记录的Signal0的Address分别都为E194,符合预期。
当ICS中开始播放Replayer时,此时Datalogger-Acq_01记录的信号仍然是Displacement 1 Sim_M1,但在DSP Tools查看Acq_01记录的Signal0的Address分别都变成了1A9B4,此时通过查找object,可查找到Displacement 1 Sim_M1 Dynamic Filter,其Output(Pin2)所对应的地址正是1A9B4。
通过脚本搜集的DSP地址分配(eza链接>>导出HUBDSP当前系统所有object地址分配)可以发现,该滤波器是附加在所有object的最后面.
在车间电磁减震器试验台的电流信号迭代时,当没有硬件滤波器同时又没有该数字抗混叠滤波时,原有的高频部分会大范围混叠到低频段。
ICS目标文件采样率为1024Hz,根据该采样率系统中原始的高频噪声3093Hz的成分混叠为21Hz,从而导致系统辨识时该处频率点附近(20Hz)的相干性大幅降低。
同时也看到,高频混叠到该动态滤波器截止频率(256Hz)范围内的频率成分比如178Hz,该动态滤波无法处理,但高于截止频率的349Hz则有明显的削弱作用。
当添加了动态滤波器后,Pulsar工作频率2048Hz,则3093Hz的能量混叠后为1003Hz,而默认的动态滤波器为Hz,1003Hz的信号能被有效滤掉,从而辨识的相干性不会受到混叠成分的影响而更加平稳。
而采用了动态滤波器后,则相干性较好。
实际应用过程中,ICS的带宽设置应该覆盖整个工作频带,尤其是驱动和响应的带宽临界点,比如目标为0.5-30Hz,驱动的带宽也设置为0.5-30Hz,由于实际滤波器在临界频率点存在过渡带,如下图所示,设定滤波带宽为0.5-30Hz,实际在29.75Hz已经出现衰减,从而导致驱动在该频率的能量一直给不上。理论上目标在30Hz左右滤波后也会衰减,但实际上这种关系并不一定成线性,继而导致迭代收敛速度慢。
对于目标位移0.5Hz的下限频率时,驱动频率的范围设置为0Hz开始,可明显改善低频的改善。
分析驱动的对比发现,虽然低频的截止频率为0.5Hz,但实际上对0.5Hz本身的能量有明显的削弱。
参见C:\Program Files (x86)\Servotest\Pulsar\fileLibrary\pulsar.chm >>Chapter 5. Iterative Control System (ICS) >> 5.5. Drive and Response Filters
Set the breakpoints of the drive filters to between 0.25 and 0.8 of the sample rate, ensuring that it is greater than the white noise maximum frequency.
The response signals must be filtered to ensure aliasing does not occur, the filters used to do this are usually referred to as response filters. It is important to select the output of a response filter as the system response and not the transducer output signal.
Set the breakpoints of the response filters to between 0.25 and 0.4 of the sample rate, ensuring that it is equal to or slightly greater than the white noise maximum frequency. It is usually best to make the response filter breakpoint as low as possible.
该滤波器在ICS的帮助文件中有较为详细的说明,
C:\Program Files (x86)\Servotest\Pulsar\fileLibrary\pulsar.chm >> Appendix C. Filtering Drive Signals
As a general rule, the Replay output should be filtered if the system clock rate is 5 times or more than the Reply file sample rate.
一般来说,如果Pulsar系统DSP时钟速率是Reply文件采样速率的5倍或5倍以上,则Replay的输出应经过滤波处理,比如对于地震模拟振动台的原始波形为102.4Hz,而Pulsasr的运行频率为1024Hz,因此需要增加一个滤波器。
下图以102.4Hz的Replayer播放为例,当直接输出时,当在2.742-2.743s时,由于采样率过低,出现明显的阶跃,而当增加滤波器后,整体比较平稳。
通常为了稳妥起见,不确定用户播放的波形采样率范围,一般数据库中都会增加该滤波器,而不是Replayer的信号直接输出到ServoController。
在某一项目调试过程中发现同一个通道,同一次地震波试验,在ICS中采集到的数据与外部Datalogger用同一采样率采集同一信号时,采集的数据存在明显差异,如下。
该地震波中的Z向目标为Zero,根据drive4微分两次后来看加速度命令也比较小,不应该出现那么大的加速度。
问题排查时过程中分别分析了ICS动态滤波器设置、板卡滤波器设置、迭代的自由度之间耦合 加速度信号滤波器设置,最后分析得到根本原因:Replayer输出后经过的Drive Filter滤波器滤波带宽设置太高(400Hz,当时尝试通过迭代高频来抑制失真度,后来未及时改回来而直接进行地震波试验),导致Replayer播放256Hz的信号时,在Pulsar DSP中由于采样的原因,出现明显的阶跃,虽然经过了滤波,但由于截止频率较高,滤波效果等同于无,而出现2.1.2.4图中实际发送到Servo Controller的命令含有大量的高频信号指令,即高频响应信号也是客观存在的。
而ICS采集的信号时自动附加了抗混叠滤波器(64Hz),故采集的信号基本正常,而外部同步采集的Monitor Datalogger不进行额外滤波,在低频采集时将大量的高频信号混叠到低频信号,从而导致采集到的数据与外部Datalogger采集的数据存在明显差异。
此时将外部Monitor Datalogger的采样率设置为1024Hz后,低频的PSD基本完全吻合,同时发现高频253Hz和248Hz的能量较高,如果该信号采用256Hz采集后,将在3Hz和7Hz出现峰值。
PSD能量不等,主要是由于两者播放的波形不一样。【前者播放的是X、Y迭代,后者播放的是Z向迭代】
结论
1)Replayer的输出后必须设置滤波器,且滤波频率应为该试验台的工作频率1-1.2倍即可,比如50Hz振动台设定为60Hz,100Hz振动台设定为120Hz。
2)ICS中频响的范围默认为1/4 Fs,尽量不要调整;
3)ICS中采样的信号和外部其他Datalogger手动选中的信号,可能都为迭代的响应信号,名称相同但实际上并不是同一个出处,存在差异是正常的,但参数设置准确的情况下,差异不会太大。
4)针对模拟量输入的信号,板卡上自带的500Hz抗混叠低通滤波器不要手动调整,保持默认开启即可。
Notch Filter可以用来去除Replayer播放的信号中的某一个频段的输出或输入。
如果选择3会在迭代文件夹的Filters文件夹中生成DriveNotchFilters.txt和ResponseNotchFilters.txt,计算驱动时会自动调用该文件夹中的文件进行处理。
白噪声的时长设置主要考虑到计算精度和播放效率的平衡,如果时长设置过长,则计算耗时较长,如果时长设置过短,则系统的逆矩阵计算不准确。
主要是生成白噪声时,并不能保证任意两个通道的每一帧的数据都是不相干的(Coherence < 0.2, 无明确标准,但 >0.7 肯定存在明显相干)
根据系统传递函数及逆传递函数:
对于一个多输入多输出的系统,求传递函数或逆函数时能否求出,重点在分母 及是否存在逆矩阵上。
对于一个输入通道数量为N的系统,当对输入数据进行分析时,在每个频率点得到一个N × N的方阵,
clc, clear;
nInput = 3;
Fs = 1024;
Ts = 1/Fs;
T = 3; %s
nPoints = Fs * T;
frameSize = Fs * 2;
rand('seed', 1);
x = rand(nPoints, nInput);
rand('seed', 3);
y = rand(nPoints, nInput);
%% 计算互谱
csd3D = ics_csd3(Ts, y, y, frameSize, 0.5);
%% 第7个频率点的CSD矩阵的秩
rank3Hz = rank(squeeze(csd3D(:, :, 7)));
%% 第7个频率点的CSD矩阵的逆的行列式
detInv3Hz = abs(det(inv(squeeze(csd3D(:, :, 7)))));
fprintf('InputChannels = %d, Rank = %d Det =%d @2Hz ', nInput, rank3Hz, detInv3Hz);
调整上述nInput时,当nInput=3,T=3s时,数据只有2帧,得到其秩已经为2了,此时自谱在3Hz(0.5Hz分辨率,第7个点)处逆矩阵的行列式非常大(1.843976e+28),增益过大(异常)。
白噪声的长度准则,:
其中k 推荐为10, 不小于3,否则出现奇异导致传递矩阵无法计算出。
e.g. 当6自由度迭代时,k为10,,,,,白噪声推荐时长:
考虑到50%的Overlap,简单计算需要的时长为。
最低白噪声时长为:
以ICS生成的两个随机白噪声为例,当时长越长,两通道间的相干性越低,当为30s时,在某些频率点的相干性已经比较明显了。
同理当上述系统为振动台4台阵时,在ICSM中采用合并为大矩阵计算时,则推荐的白噪声时长为:108-360s。
ICS 帮助文件描述:
计算系统矩阵的一种更全面的方法是依次在每个输入处激励系统。当白噪声被播放到系统的各个输入时,所有的系统输出都被记录下来,并且系统矩阵的相应列被计算出来。在存在显著交叉耦合的系统中,如果同时施加输入,ICS可能难以区分哪个响应归因于哪个输入。
主要想解决过约束耦合过于严重的问题,实测效果有限。
依次组成单输入,多输出的系统,求的传递函数依次存在System_matrix(:,i,:)中,之后求伪逆得到系统传递逆矩阵。
. nx nx nx nx
----------- ----------- ----------- -----------
/ /| / /| / /| / /|
/ / | / / | / / | / / |
/ / | / / | / / | / / |
/ / | / / | / / | / / |
------------ | + …… + ------------- | + …… + ------------- | = ------------- | +
|· | / | · | / | · | / |· · · · · · | /
|· | / | · | / | · | / |· · · · · · | /
ny |· | / N/2 ny | · | / N/2 ny | · | / N/2 ny |· · · · · · | / N/2
|· | / | · | / | · | / |· · · · · · | /
|· |/ | · |/ | · |/ |· · · · · · |/
----------- ------------ ------------ ------------
1 10 nx
ICS 帮助文件描述:
在计算系统矩阵及其逆矩阵之前,可以激活该选项以驱动和响应通道的信号均除以其Scale,得到无量纲量。这对方阵系统没有影响,但在响应之间存在一定程度的不一致性和响应尺度之间存在较大差异的超定系统中是有益的。这是一种消除由不同信道尺度引入的人为加权的方法。
计算传函时去掉Scale,后续计算驱动时会重新乘上Scale。
ICS 帮助文件中对梯度的描述:
The Gradient specifies the number of decades of decrease in Amplitude per decade of Frequency. The default gradient value is 1, which, for a Displacement drive, will give constant Velocity over the frequency range specified. A Gradient of 2 gives constant Acceleration.
直接描述为:梯度为N表示每10倍频程能量下降,当驱动为位移,N=2时,加速度的梯度为0,即此时的加速度PSD为一条平直不衰减的直线。
梯度的设置对系统辨识的结果有直观影响,具体影响尚无一个明确的黄金法则。
通常……
传递函数的计算比较直观,采用传递函数的方法计算
目前ICS采用的H1估计,即只考虑输出的噪声,认为输入没有噪声。
对于H2估计:
H2估计要求矩阵的逆存在,即矩阵必须是非奇异的。当输入比输出通道少时,矩阵的逆不存在,此时应用最小二乘法求取矩阵的伪逆。
单通道为互谱与自谱直接计算,多通道为互谱与自谱矩阵。
参考:液压振动试验控制系统关键技术研究 P50-P51
可参考Matlab tfestimate官方对该方法的解释,其也对H1和H2估计做出了一些说明。
逆传递函数的计算方法有两种,直接计算与伪逆计算:
这是方形系统的默认方法(其中输出数量与输入数量匹配)。如果将系统视为两个独立的方形矩阵,则使用Secondary Channels时也会自动使用此方法
当白噪声采用Sequential生成的情况下自动使用,在默认情况下也用于非方系统矩阵的计算,它可以更好地处理过度确定系统中通道之间的不一致性【原因未知】。
一般相干性是指单输入单输出,局部相干性用于多输入多输出,实际上多输入多输出的局部相干性也是通过逐个相互交叉进行的单通道输入输出进行相干性计算。
C:\Program Files (x86)\Servotest\Pulsar\fileLibrary\pulsar.chm >>5.2.7.1. Ordinary Coherence
Low ordinary coherence can be caused by a number of factors including:
1.The system is non-linear.
2.The system is noisy.
3.The output Y is a function of other inputs, not measured, as well as the measured input X.
4.There are errors in the system matrix estimation( typically insufficient frequency resolution).
计算方法如下:
上式中i为第i帧数据,N为总帧数,公式中两个傅里叶变换结果的乘法实际为点乘,并令,同时分子分母约掉了的归一化系数。同时令|\mathscr{F}(x_i)|=|(\mathscr{F}(x_i))^\mathrm{*}|=A_i=\sqrt
1) 如果只有一帧数据,则相干性为1.0【这在一定程度上说明辨识至少需要2帧】。(公众号:传递函数H1,H2,H3及相干系数Coherent);
2) 当y相对于x的相位与增益始终保持不变时,即与增益;
3) 当y相对于x的相位始终保持不变时,即,但是增益在不同的帧发生变化。
令,, 由于,为判断上述 是否成立,只需要判断是否成立,即 是否成立。
即当所有帧的y相对x的相位滞后为常数时(k_1=k_2=k_3=……=k-NA=BC_{xy}=1C_{xy}<1$
4) 当y相对于x的相位和增益在不同的帧都发生变化时。
根据前面3)的假定的推导,当相位不变仅幅值增益变化,可知上述
计算介绍参考Matlab mscohere中的计算说明及参考文献。
所有输入通道X对第i个响应通道的综合相干为:
其中正向多重相干表征某一个响应通道是否由所有输入通道共同产生的相干性,而逆向(Inverse)多重相干表征某一个输入通道是否由造成了所有响应通道的实际响应的相干性。
The multiple coherence between each output and the set of system inputs must be sufficiently large to ensure that the response can be created with the input set. For good simulation control a multiple coherence of 0.8 or greater, in the frequency band of control is a good rule of thumb.
Secondary通道的传递矩阵在计算时,将主通道与副通道分开计算,从而得到两个方阵的传递矩阵,存储的时候合并存到一个矩阵中,以逆矩阵为例。
. ny1 ny2 ny1 + ny2
----------- ----------- ----------- -----------
/ /| / /| / / /|
/ / | / / | / / / |
/ / | / / | / / / |
/ / | / / | / / / |
----------- | Combined ------------ | = ------------ ----------- |
| | / | | / | | | /
| | / | | / | | | /
nx | Inv | / N/2 nx | Inv | / N/2 nx | Inv | / N/2
| | / | | / | | | /
| |/ | |/ | | |/
----------- ------------ ------------ -----------
不考虑滤波的前提下,驱动简化计算公式如下
Drive = iFFT(InvFRF * FFT(PreviousResponseError * RspGain )) * DriveGain + PreviousDrive
Response的迭代增益指消除上一次迭代后响应和本次目标误差的速度,如果是0则表示不再考虑该通道的误差,即使由于耦合等因素导致该通道与目标存在差异,也不进行修正。
通常迭代多个通道时,考虑最终的迭代精度,可能前期先迭代部分通道使其收敛到范围内,然后再增加其它通道的迭代增益。
【参考后面的关于旋转方向迭代不准确的解决思路】
Disable DC主要用于移除目标的直流分量(对实际响应不进行处理),目标波形中如果带有一个Mean值的偏移量,有些情况下在计算时移除掉(Remove)是有利的,比如加速度的偏移就不符合常理,移除有利于迭代的准确度。
以某现场的制动力迭代为例,该波形有明显的直流分量(mean=-2.27kN),目标如下图所示。
如果迭代目标的滤波频率高于1-2个频率分辨率也能起到移除直流分量的结果,也起到了移除目标直流分量的效果。【如下图的左边两幅图,都起到了移除直流分量的效果】
初始设置如第一图所示,高通频率0.25Hz,由于滤波器实际性能也滤掉了部分0.25Hz的能力,导致出现直线变曲线的情况,第二图尝试勾上Disable DC未起到任何效果,由于0.25Hz已经有效移除了0Hz的直流分量;
第三图将高通设置为0Hz,波形对了只是均值偏移了,第四幅图同时取消Disable DC目标符合预期。
最终正确的设置应该是禁用DisableDC(不移除直流分量)同时高通频率设置为0Hz。
在有些位移、电流为目标时,目标确实始终在一个方向偏多一些(Mean != 0),此时如果需要对外部的采集数据,则不要移除直流分量,通常加速度和速度迭代如果不是从0Hz开始的,移不移除影响不大。
注意:ICS中反复设置迭代频率和Disable DC可能不能及时生效,需要重新加载ICS Session。
通常生成白噪声时Mean值都是0(即使不为0,计算传函时也会对白噪声驱动和白噪声的系统响应分别进行去Remove Mean处理),但该Mean值是整体时长的Mean值,而在计算传递函数时所采用的帧并不一定是0,随着帧数量的增多每一帧的Mean值分布也越广泛,这也是白噪声可以辨识出0Hz的原因。
进行7通道悬架的垂直迭代过程中,当驱动为位移而响应为力时,Pulsar中对于力传感器和位移传感器通常会进行去偏移处理(即使不去偏移,传函计算时仍然会去偏移),系统辨识时可以得到一个较为准确的系统传递函数,包括0Hz,但当目标力位移包含了车身自身的重量时,此时Mean值较大,从而会计算出非常大的静态驱动位移。
控制新计算的驱动在该方向的增量增益,前一步已有的驱动不受影响。
注意驱动的增益和响应的增益的差别:
Drive = iFFT(InvFRF * FFT(PreviousResponseError * RspGain )) * DriveGain + PreviousDrive
以6自由度迭代为例,其中目标设置XYZRPW均非零:
当通道间存在耦合【X-Pitch,Y-Roll】时,系统辨识显示Y向激励产生的Roll,Roll向的驱动也会导致Y向较小的响应,即Y向和Roll向的响应主要由各自的驱动以及少量对方的耦合导致的,求逆时,生成响应的目标时也需要对应主要的驱动附加少量的耦合来产生,以第一次迭代为例。
当Roll的Response Gain=0 时,此时Roll的目标为零,但由于Y向的响应目标需要少量的Roll贡献,因此此时Roll的驱动存在可能幅值较小【注意转动方向不会提前抑制转动,此时的转动目标是0,误差也是0,该误差纯粹是Roll想为Y的响应出力】
进一步将Roll的Drive Gain也设为0后,此时的Roll将直接变为0.
驱动的滤波频率范围一般要大于响应的滤波范围,除特殊情况外,比如振动台平动和转动一起进行迭代时,低频的转动可能会引起振动台明显(肉眼可见)的转动,此时可以将高通滤波频率略微调高至3Hz附近。
. /|
/ | /|
ny1 + ny2 / | / |
----------- ----------- / | / |
/ / /| _ / | / |
/ / / | | /| _ / |
/ / / | | / | | /
/ / / | ny1 | / | | /
------------ ---------- | * | / | = nx | /N/2
| | | / _ |/ | | /
| | | / | / _ |/
nx | Inv | / N/2 | /
| | | / ny2 | / N/2
| | |/ | /
------------ ---------- _ |/
计算驱动时,对于目标主副通道通常负责不同的频段,不要有交叉,但尽量覆盖完整的频率段比如设置加速度响应频段3.1~40Hz,设置位移响应频段为0~3.0Hz。
ICS计算RMS误差及最大最小时会掐掉Taper段。
| 计算指标 | Servotest | MTS |
|---|---|---|
| 最大值误差 | 分母依次优先级取:目标波形最大值 > 目标波形其它通道的最大值的最大值【当前通道最大值为0时】 【隐含条件:不能所有目标都为零通道】 | 分母依次优先级取:目标波形最大值(归一化【Full Scale/最大绝对值】) > 目标波形最小值【当前通道最大值为0时】 > Full Scale【当前通道最小值、最大均为0时】 |
| 最小值误差 | 分母依次优先级取:目标波形最小值(绝对值) > 目标波形其它通道的最小值的最小值【当前通道目标最小值为0时】 【隐含条件:不能所有目标都为零通道】 | 分母依次优先级取:目标波形最小值(归一化【Full Scale/最大绝对值】) > 目标波形最大值【当前通道最小值为0时】 > Full Scale【当前通道最小值、最大均为0时】 |
| 均方根的误差 | Std(Response)/Std(Desired) 【对应ICS设置中误差的第二种计算方法】 | RMS(Response)/RMS(Desired) |
| 误差的均方根 | Std(Response-Desired)/Std(Desired)【对应ICS设置中误差的第一种计算方法】 | RMS(Response-Desired)/RMS(Desired) 有些MTS验收大纲上 |
| RMSErr | RMS(Response-Desired)/Abs(Desired) or RMS(Response-Desired)/FullScall(Desired) | |
| MaxErr | 峰谷值误差 ICS: ,ICS Manager:\frac{max(Response)- min(Response)} | \frac{AbsMax(Response-Desired)} |
在722的六杆并联项目中,通过MIMO Random Control对指定的PSD目标文件(.pcf)进行加载激励时,客户预期预期在工作频率范围内(1-100Hz)实际响应的PSD可以落在目标的±3dB范围内,通过MIMO Random Control,实际试验时发现在低频2Hz以内,误差已经超出了-3dB,分析过程发现主要为系统辨识阶段的低频(2Hz以内)相干性已经较差。
为此进行了不同分辨率的系统辨识对比测试,相同的时长,不同的FrameSize设置并通过迭代进行对比 Wisen:低频加速度迭代测试V3.pptx。
该对比仅测试了单通道,与多通道结果应该比较接近类似。
结论:通过增加FrameSize大小,降低分辨率,可以一定程度上提升低频段的迭代效果。【注意:分辨率降低后即FrameSize变大,相同的时间帧数变少,需要结合 2.1.3. 白噪声的时长设置适当增加白噪声时长,平滑系统辨识效果。】
在天津大学振动台现场,客户进行平动试验试验(试验模型如下)时,进行水平平动(Y向为例)加载时,伴随较为明显的转动。
Y向与Roll向的加速度时程与传递函数对比如下图所示,按时程峰值计算耦合为12.5%,传递函数显示在2-7Hz频段,耦合达到10%以上,考虑到该试件较高(6m),在顶层的实际转动带来的平动可达平动自身响应的70%,这对于客户的实际试验过程中的影响较大。
针对此类问题 基本要求为六自由度迭代 ,即对转动方向进行迭代抑制,如果仅做单自由度迭代或三自由度平动迭代,可能从迭代效果而言比较好,但实际外部数采采集的数据较差,伴随严重的转动方向耦合。
Glen Comments: I would suggests starting with iteration gains of 0.7 for X,Y,Z , but zero for Roll Pitch , Yaw. Then after one or two iterations reduce the gain for X,Y,Z and increase for the rotations, but keep the gain below 0.5
Wisen Comments: 转动满幅值(Amp设置为Full Scale)辨识,迭代时减小转动幅值(Amp设置为Full Scale的50%甚至更低),多次迭代可逐步减小转动耦合;若转动设置为满幅值则一次播放(不迭代)也能得到较小的转动耦合,但继续迭代无法进一步减小转动耦合,允许多次迭代,则转动耦合可以进一步减小至5%以内,若实在有需求,可尝试修改系统逆矩阵。
该类问题比较复杂,通常在系统辨识阶段得到的系统传递矩阵和实际的存在较大的差异,一般只能通过小迭代增益进行多次迭代。
当前为测试功能,通过存放一个文件可开启,该文件内容不限,可以是txt文档修改文件名后存放在该位置即可:
C:\ProgramData\Servotest\ICSDebugSwitchFile.mat
多自由度ICS的系统矩阵的秩表征各自由度的相干程度,当秩小于系统的自由度数量时,表明系统矩阵不满秩,可迭代出来的可能性非常低。
秩的大小计算跟奇异值分解后判断奇异值的阈值大小有关系,当前阈值为1e-15,同时计算奇异值分解时对矩阵已做归一化处理,因此最大的奇异值为1。
该程序可以单独运行。
Servotest与BBK对于Timeweighting功能的定义不同,SVT强调在时域上,计算驱动之前,该时间段的 误差 是否纳入计算新的驱动,0则表示误差乘以0,从而在该时间段维持上一步驱动不变,主要针对某个时间段的目标可能很难迭代,如果整体调低迭代增益,会导致迭代效率较低,但如果不调低增益,可能该地方的发散导致迭代无法往下进行或超量程。
BBK的ICSM引入Time Weighting时,用于给目标的幅值进行调整,比如用户过于强调峰值时,可在峰值时刻前后一段时间内提高或降低目标值的Time Weighting,从而提高迭代后的实际响应的峰谷值吻合程度。
该方法可以针对峰值和谷值分别进行调整,之前系统如果峰值偏大谷值偏小,则很难通过整体调整Scale Target进行目标调整。
当前为测试功能,通过存放一个文件ICSDebugSwitchFile.mat同时勾选Generate the white noise for each channel sequentially可开启。
目前该功能在7通道上有应用,但实际在其他项目中的使用场景还不明确。
两套独立的子系统(4主作动器位移控制4轮心加速度【4I4O】,3套Aeroload作动器力控制轮盘下方的推力4套【3I4O】)
两套关联的子系统(4主作动器位移控制4轮心加速度及轮盘下方的推力4套[高频]【4I7O】,3套Aeroload作动器力控制轮盘下方的推力4套[低频]【3I4O】)
一套传感器响应多套作动器(4主作动器位移控制轮盘下方的推力4套[高频]【4I4O】,3套Aeroload作动器力控制轮盘下方的推力4套[低频]【3I4O】)
此时需要通过复制Signals来实现同一信号可以用两次。【子系统拆分方式同1】
生成报告功能
播放时通过Pulsar将数据传输到ICSM进行点对点监控对比。
主要针对伪损伤的对比及雨流分析对比。