unwrap

概要

计算振幅和展开相位

语法

UNWRAP [Fill ON|OFF|n] [Intthr v] [Pvthr v]

输入

FILL ON|OFF

打开/关闭补零选项

FILL n

打开补零选项并设置填充值为 n

INTTHR v

改变积分阈值常量为 v

PVTHR v

改变主值阈值常量为 v

缺省值

unwrap fill off intthr 1.5 pvthr 0.5

说明

该命令将内存中的时间序列数据转换为谱数据,包括振幅谱和展开后的相位谱,该命令仅对有相位光滑变化的数据起作用。在数据转换之前先对数据补零使得数据点数为 \(2^n\),也可以使用 FILL 选项指定补其他的值。

fft 计算出的相位谱,相位限制在 \(-\pi\)\(\pi\) 之间,因而相位谱看上去比较杂乱。unwrap 将相位谱做展开,使得相位谱更加连续变化。下图中分别展示了原始相位谱(上)和展开后的相位谱(下)。

展开相位

图 27 展开相位

相位展开算法中使用了两种方法来估计每个频率处的展开相位。

一种是通过快速傅氏变换做相位偏导的数值积分。若要得到一个一致的估计,则可将梯形积分的步长在每个频率上对分。可以使用 INTTHR 选项控制这个验算的阈值,此值单位为弧度。减小 INTTHR 将改进相位计算结果,若该值太小,会导致解的发散。

算法中使用的第二个方法是先用反正切函数计算相位的主值。展开相位的计算方法是相位主值加上\(2\pi\)的整数倍,直到相位的突变小于给定的阀值为止。可以使用 PVTHR 选项控制这个验算的阀值。与上一个算法类似,减少这个阀值将改进相位估算的结果,但也增加了无解的可能性。

这两个阀值的初值通常经验地取为:

\[\pi/4 < PVTHR < INTTHR < 2\pi\]

头段变量

bedelta 分别改变为变换的起始频率、结束频率和采样频率。原始的 bedelta 被保存在为 sbsesdelta,当进行反变换时将值带回。

限制

目前可以转换的数据最大长度为4096。