我想比较两个信号或曲线。不幸的是,它们具有不同的采样率。第一个以30 Hz采样,第二个以2000 Hz采样。 Matlab具有“重新采样”功能,我认为,这将使比较容易得多。

我的问题是:对第二条曲线进行下采样还是对第一条曲线进行上采样更明智?

编辑:
我被告知。左图中是原始曲线。右边的曲线被重新采样。右上角是上采样,右下角是下采样。<​​br />
我知道重新采样时曲线的长度不同。但是,第二个信号将被裁剪为第一个信号的长度。


评论

我支持你的问题。您认为哪个更明智。

如果非常高的精度无关紧要(在这种情况下,我认为没有关系),则可以进行降采样,特别是如果它可以使过程更快得多并且您珍惜工作时间的话

@Stanley Pawlukiewicz,很明显,我通过下采样丢失了所有小的峰。因此,提高采样率可能是必经之路。再说一次,我不需要小的山峰。我什至考虑过平滑第二个信号。因此,就我而言,向上或向下采样可能并不重要。

是否需要反馈和答案?

#1 楼

简而言之:



上采样:不/不应该丢失信息(如果明智的话),然后更安全,

下采样:可能丢失信息(

因此,如果您以不同的速率比较数据,并且在评估阶段尝试定义应如何进行比较(比较哪些功能,一个非常基本的第一种方法是采用哪种度量标准(如精度,效率,鲁棒性等外部条件)对两个信号进行升采样,以使它们的采样保持一致。在这里,这是完全可以的,两者都可以工作6000 Hz。

原因可能是DSP实践:


使用整数上采样,您不是必须使用棘手的滤波技术,并且简单的线性插值很容易。请记住,尽管上采样会增加一些信息。
信号具有相同的比例,您可以提取特征并进行比较:噪声,可变性,斜率,导数等。您可以应用正确的比例/偏移校正(他们不t具有相同的幅度),使用线性或非线性变换(傅立叶等)在此阶段检查相似特征是否存在于不同的域中,您应该能够对所需的特征/度量进行质量和量化建立算法。您可以估算出可以从这两个数据中删除的内容。例如,您可以创建自己的算法,并查看信号下采样的鲁棒性以及可以走多远。在这里,您的算法开始变得更加高效。

花了一些时间之后,您就更愿意从头开始,并决定是否应该使用哪种方法下采样等以达到安全和高效的目的。

作为替代方案,如果您决定比较傅立叶域上的数据,则可以轻松地将具有不同长度和采样率的两个信号转换为相同数量的傅立叶系数,以帮助在频域中进行比较。

评论


$ \ begingroup $
下采样几乎总是会丢失信息,即使它不是以不明智的方式完成的。但是,丢失信息实际上可能是明智的选择,因此...
$ \ endgroup $
–leftaround关于
17年11月19日在23:53



$ \ begingroup $
@leftaroundabout在什么情况下,下采样不会丢失信息?
$ \ endgroup $
–威廉
17年11月20日在12:07

$ \ begingroup $
@leftaroundabout我不同意。信息丢失总是比保留信息更糟糕。唯一明智的做法是知道要丢弃哪些信息以更好地表示信号,而不是信息丢失本身。
$ \ endgroup $
– AlexTP
17年11月20日在12:07

$ \ begingroup $
@Willem:在一个非常明显的情况下,可以将DC信号下采样为单个样本。通常,任何没有高于(新)奈奎斯特极限的分量的信号都可以安全地进行下采样。
$ \ endgroup $
– MSalters
17年11月20日在12:45

$ \ begingroup $
可以说,从DC信号到1个采样信号不会丢失任何信息,因为您可以从1个采样转换回与原始信号相同的信号。可以说信息丢失是因为如果您将1个样本信号提供给没有更多信息的人,然后问“这代表直流信号吗?”。答案将是“不知道,一个样本没有足够的信息”。
$ \ endgroup $
–匿名Co夫
17年11月20日在18:14

#2 楼

如果您使用诸如plot(x,y)之类的函数,则将它们显示在同一图形上的最简单方法是根本不对它们中的任何一个进行重采样,而只需为每个x向量填充每个信号的适当值,因此两者都出现在

如果需要,还可以将绘图设置为具有两个不同的x轴(每个曲线一个),并带有不同的标签和图例。

现在,关于重采样。我将使用Fs作为采样频率。

采样信号不能包含高于Fs / 2的频率分量。它具有带宽限制。

此外,仅包含频率高达F的频率分量的信号也可以2F的采样率准确表示。

请注意,这种“准确”的表示是数学的,而不是视觉的。为了获得良好的视觉效果,每个周期有5-10个样本(因此没有明显的频率成分高于Fs / 10左右)确实有助于大脑连接各个点。参见该图:相同的信号,较低的曲线具有较低的采样率,没有信息丢失,因为频率低于Fs / 2,但仍然看起来像胡扯。

br />虽然是完全相同的信号。如果您使用Sinc滤波器对底部的信号进行过采样(重构),则会在顶部获得一个信号。进入信号。这就是为什么我们通常在抽取器之前放置一个陡峭的低通滤波器。例如,要从Fs = 2000 Hz下采样到Fs = 30 Hz,首先,我们将应用截止频率低于15 hz的高阶低通,然后才进行衰减。但是,此滤波器会引入瞬态响应问题,在某些频率上会有相位滞后,并且可能会改变信号的视觉外观,如果您想在视觉上进行比较,则不需要这样做。上面的规则适用,不要下采样太多,如果您希望信号形状有意义,请始终将Fs保持为感兴趣的最高频率的5-10倍。这就是为什么200MHz示波器需要以1-2 Gsps采样的原因。

我的问题是:下采样第二条曲线还是上采样第一条曲线是否明智?

如上所述,最明智的方法是完全不干扰数据,而只是将它们各自的x轴呈现在同一张图上。

采样率转换在某些情况下将是必需的。例如,减少点数,减少内存使用,使其更快...或使两个信号使用相同的“ x”坐标对它们进行计算。

在这种情况下,您可以也使用中间Fs,对具有高Fs的信号进行下采样,并对具有低Fs的信号进行上采样。或者只是对具有高Fs的信号进行降采样。

请记住Nyquist标准,不要选择太低的采样率,否则您将失去高Fs信号的波形保真度,您将获得相位会由于低通滤波器等原因而发生偏移。或者,如果您知道高频成分可以忽略不计,则可以做出明智的选择。 I

如果使用线性插值法使“ x”坐标匹配,请记住它也需要很高的Fs。插值将对上图中的顶部信号起作用,而对底部的信号将不起作用。如果您对最小,最大等感兴趣,则相同。

而且...请注意,过采样/过采样至少在视觉上也会干扰瞬态响应。例如,如果您对一个步骤进行过采样,则由于Sinc滤波器的脉冲响应,您会得到很多振铃。这是因为您得到了一个带宽受限的信号,而带有方形角的良好步长实际上具有无限的带宽。

我以方波为例。考虑一下原始的采样信号:0 0 0 1 1 1 0 0 0 1 1 1 ...您的大脑看到一个方波。

但是现实是您应该将每个样本描绘成一个点,点之间没有任何东西。这就是采样的重点。样本之间没有任何东西。因此,当使用Sinc插值对方波进行过采样时,它看起来很有趣。摆动有点存在...也许不存在。无法知道它们是否存在于原始信号中。在这种情况下,解决方案将是以更高的采样率获取原始方波,以在边缘上获得更好的分辨率,理想情况下,您希望在边缘上获得多个采样,这样它看起来就不再需要无限带宽了。然后,在对此类信号进行过采样时,结果将不会有视觉伪像。

无论如何。如您所见...只是将x轴弄乱了。简单得多。

#3 楼

下采样会丢失信息。当因子是整数时,上采样是无损的(您也记得因子),但是当因子不是整数时,一些信息会丢失。理论上,对于非常具体的重采样因素,上采样可能比下采样丢失更多的信息。

您应该使用哪个?这取决于您所需的确定性级别。

如果您不需要数学确定性而只想进行启发式搜索,则下采样会更快,上采样会更准确。

如果您需要限制计算的准确性:可以,但我不能帮您。

评论


$ \ begingroup $
+1,因为您设法在一个非常简洁的答案中压缩了一些重要的信息。
$ \ endgroup $
– dsp_user
17年11月21日在8:28

#4 楼

这取决于您所说的“比较”和“更明智”。明智的做法(在Matlab中并不难)是双向进行并自己决定。

实际上,如果您用两种方法的结果来修改您的问题,我都会赞成您的问题,并且更多的人会发现它很有趣,并且很可能会帮助您找出“比较”结果。

#5 楼

我想指出在进行上采样时可能发生的问题,这可能对该操作至关重要。当信号被上采样并且数据端点远离零值时,就会发生边缘效应。在实践中,应消除这种不良影响。我与这个社区分享了一篇简短的文章,其中包含了我写的有关图像和代码的文章,可以帮助您理解。 matlab上的信号如何解决它cc6458ab1306