|
首先申明,在博文SJT-2025-03-17《解析多尺度变换用于函数模型分割和参数估计》所谓的对应的“已知值”中,相位是Scilab的“近似显示”以便比较估计值误差的最高位,不是计算时的输入值。已知相位有无理数pi/2、-pi/2。居士再给一个例子(频率采样间隔为0.025)有5个单元,参数显示(矩阵转置,用format("v",16))如下:
0.05 1. 0.1 1.5707963267949
0.2 0.5 0.3 -4.002354004D-14
1. -3.147847183D-16 0.5 -2.409183963D-14
4.0000000000005 -0.5 0.7 -9.270362256D-15
7.9999999999998 -1. 0.9 -1.5707963267948(计算值);
0.05 1. 0.1 1.5707963267949
0.2 0.5 0.3 0.
1. 0. 0.5 0.
4. -0.5 0.7 0.
8. -1. 0.9 -1.5707963267949(理论值)。
估计精度已接近机器系统的极限,而且,那些小于10的负13次幂的计算值,作为数字符号串出现时已可能显著地变化,但是,不影响其实质意义。居士在博文SJT-2017-08-25《无阻尼单指数序列的FFT频谱泄漏与常值序列的超阶拟合误差》中提过,当在Scilab重复运行同一段程序时,高精度显示的结果可能有起伏,难以重现数字符号形式,例如,那里用简单的FFT-IFFT误差为例的测试。
把程序代码张贴出来,比仅供自己使用要多花时间,而且,为了照顾图片大小可能还需些特别地摆放语句、调整设置。不过,居士认为很有意义。利用解析多尺度变换子程序包TcwtSubs.bin,下面举例演示:频域数据窗对主极值线的对数线性系数估计的影响。
程序WinCwtPar0.sce如图片1.的右半部所示。其中[s01]=Sigwin0(s0,wn0,wc0)是加频域数据窗的函数子程序。输入wn0为"mhn"时,使用Scilab中的Hann窗的数据,但是,舍弃其端点值;为"DG0"时,使用截断高斯函数窗,从小波加权函数获取,wc0是末端点位置值,而高斯函数求导次数为零;或指定Scilab中的其它某些窗。假设原为虚部值等于零的偶对称窗,但只截取正频率部分,所以说“解析窗”。
函数[sx0]=Sigx0(Par3)合成输出测验数据序列(频率采样间隔为0.05)。函数[Cwt]=SetWav(nm,od0)设置变换控制参数Cwt,两输入依次为小波的名字、对高斯函数求导的次数。函数[Pvo]=AvePar2(Pp,Pv)用输入序列Pp指定的分界点,对于输入Pv中的主极值线数据,做分组平均。
函数[Par2al]=CwtLinPar(Cwtx,sx01,Win0)输出主极值线参数矩阵Par2al,其输入结构变量Cwtx指定控制变换的参数。当被处理数据sx01用过末端点在Win0的高斯窗"DG0"时,输出8行依次为:用复变换的模得出的主极值线位置点(在程序中,用于自动确定所有分组平均的分界点)、对数线性系数,用复变换的模且对主极值点值和相对尺度值做过修正后再得出的主极值线的结果,用复变换的实部数据矩阵得出的主极值线位置点、对数线性系数,用实部的主极值点数据经过修正后再得出的主极值线的结果。否则,输入Win0为“空”以避开主极值点数据修正处理部分,仅输出4行。四段任务的程序语句分界,在WinCwtPar0.sce内第16、22、27行末。
用Scilab-6.0.0运行WinCwtPar0.sce的情况,如图片1.的左半部所示。四个ans矩阵
ans =
52. 155. 257. 359. 462.
-1.658 -1.428 -1.028 -0.528 -0.02
52. 154.5 257. 359.5 462.
-1.934 -1.525 -0.986 -0.486 -0.017
ans =
103. 308. 513. 718. 923.
-1.965 -1.498 -1. -0.499 0.003
103.3 308.3 513. 718. 922.5
-1.991 -1.493 -0.995 -0.496 0.003
ans =
103. 308. 513. 718. 923.
-1.65 -1.225 -0.768 -0.307 0.154
103.5 308.3 513. 718. 922.5
-1.619 -1.229 -0.773 -0.313 0.153
ans =
103. 308. 513. 718. 923.
-1.228 -0.853 -0.447 -0.038 0.371
103. 308. 513. 718. 923.
-1.958 -1.5 -1.002 -0.5 0.002
103.3 308.3 513. 718. 922.5
-1.062 -0.848 -0.443 -0.036 0.373
103.3 308.3 513. 718. 922.5
-1.993 -1.494 -0.997 -0.498 0.004,
分别是:用样条函数的1阶导数作为小波时(已使尺度值较大,足以忽略不可避免的观测矩形窗的影响,用512点IFFT)的结果,用高斯函数的2阶导数作小波时(用1024点IFFT,下同)的结果,附加过"mhn"窗时的结果,附加过高斯窗"DG0"(末端点在4)时的结果。第四个ans的末行显示的对数线性系数值,加上已知的对应的五个单元的频域复模序列的指数,和值都约等于常数-1(设置Cwtx.LastSqrt="")。
赛特(Scite)居士(Jushi)即唐(TANG)白玉(Baiyu)-2025-5-17。
图片1.测验窗函数对对数线性系数的影响的程序和结果
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-5-18 11:05
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社