gpt4 book ai didi

signal-processing - Octave 中的鲁棒最小二乘法

转载 作者:行者123 更新时间:2023-12-01 18:44:03 27 4
gpt4 key购买 nike

我正在编程 classical Prony's method (或有时 Prony 的分析)使用 Octave。该脚本在测试信号上运行得很好,例如:

t = 1:600;
sig = exp(-0.01*t).*cos(0.1*t);

但即使添加少量噪音也会完全崩溃:

sig = sig + 0.001*rand(size(sig));

问题是在构建线性预测时使用 pinv 计算超定方程组(请参阅上面的链接)。我需要更强大且对异常值不太敏感的东西。遗憾的是,到目前为止,Octave 核心中的任何功能都没有帮助我。我已经尝试过 olslscov 但它们不起作用。

请问有什么提示吗?

注意:我知道经典的 Prony 就因为这个问题而非常有问题,并且有修改的算法(例如 this one )。我只是觉得我还没有最大限度地发挥经典方法的作用。使用更好的求解器应该会保留这种噪声。

最佳答案

我认为这里的问题是噪声和底层阻尼正弦曲线之间的时间尺度差异。可以与阻尼正弦曲线匹配的最低阶差分方程是二阶,因此仅跨越三个相邻时间步长。但这样的模型很可能会过度拟合噪声信号,因为正弦曲线的周期有几十个样本。如果噪声足够弱,您可以使用 Prony 的方法,通过对角加载和/或增加模型的阶数来正则化伪逆,以便预测滤波器跨越更宽的时间范围。

关于signal-processing - Octave 中的鲁棒最小二乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45690156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com