使用低频数据校准高频数据

时间:2016-04-06 10:17:10

标签: matlab performance linear-regression calibration large-data

我有一个由快速仪器测量的10 Hz时间序列和一个由慢速参考仪器测量的1分钟时间序列。数据由波动的气象参数组成。慢速参考仪器用于校准快速仪器测量。两个时间序列都是同步的。

我的想法:

  • 将10 Hz数据平均分为1分钟。

  • 从每个时间序列中取5分钟块并计算线性回归方程。

  • 使用回归方程在5分钟块(3000个数据点)中校准10 Hz数据。

使用低频数据匹配(校准)高频数据的最佳方法是什么?我使用MATLAB。

更多背景:快速仪器输出波动的电压信号,而慢速仪器输出微量气体浓度的真实值(ppb(十亿分之一))。慢速仪器每十秒采样一次,每隔一分钟输出一次平均值。

总之,我希望我的快速信号也能用ppb但不失其完整性(我需要湍流波动保持未经过滤),因此需要使用线性拟合。

1 个答案:

答案 0 :(得分:2)

这是我的方法和我得到的结果......

我将问题建模为

  • 一个真实的(仪器未测量)信号。 我们称之为real
  • 一个慢速信号 - 这是每分钟采样一次的真实信号。 我们称之为lf(低频率的缩写)。
  • 快速信号 - 实信号+噪声+信号漂移。 我们称之为hf(高频的缩写)。

任务是采取慢速和快速信号并尝试重建真实信号。 (使用最小二乘法作为评分指标)

策略:

  • 定义一个"分段线性滤波器" - 这需要一个信号,并返回它的分段版本。 (每个分段部分出现在测量慢信号的地方。)
  • 注意:无论如何,慢速信号都被认为是分段的。
  • 定义向前 - 向后低通滤波器。
  • 定义"不确定性"在测量低频信号的点处为0。当时间戳在低频信号测量之间的中途时,它线性增加到1。
  • 现在,取出高频信号并用低通滤波器对其进行滤波。 我们称之为hf_lp
  • 取hf_lp并应用"分段线性滤波器"它。 我们称之为hf_lp_pl
  • 相互减去最后两个。 即hf_diff = hf_lp - hf_lp_pl
  • 您现在想要找到一些函数来估算应该将多少hf_diff添加到低频信号(lf),以便real_estimated和{{之间的平方误差1}}被最小化。 我按照real
  • 的方式拟合了一个函数
  • 使用real_estimated = lf + diff.*(a1*uncertainty + a2*uncertainty.^2 + a3*uncertainty.^3)或其他优化技术获取fminsearcha1a2 ......

以下是我的搜索结果的示例图表 - 您可以看到a3比慢速信号real_estimated更接近real

Reconstructed estimate from fast and slow

结束思路......

  • 快速信号包含太多非常低的频率(漂移)和太多 非常高的频率(噪声)成分。 但它有宝贵的中频信息。
  • 慢速信号具有完美的低频信息,但没有中频信息。
  • 上述策略实际上只是从快速信号中提取中频并将其添加到低频信号的一种方式。
  • 通过这种方式,我们可以获得最好的世界:低频,中频和低噪音。