为什么Matlab会减小振幅?

时间:2015-04-28 11:40:18

标签: matlab

我有一个频率为5KHz的信号,我想将其采样到0.5KHz。

我运行了decimate(signal, 10)。信号被抽杀,但振幅也是如此(也是10倍)。

我认为抽取仅影响采样率。根据{{​​3}},它不应该这样做。我也试过使用'fir'命令,但没有运气。

截图(红色是截取的信号,很难看到):

enter image description here

2 个答案:

答案 0 :(得分:2)

抱歉,我的错误,编辑后的答案是:

由于您将信号抽取到10倍(不是太小的因素,对吗?),您错过了高峰,并且您得到的结果没有光谱中真正的高峰。

如果您尝试使用因子10的decimate的Matlab文档示例,并与因子4(如示例中使用的Matlab)进行比较,您可以看到像4这样的小因子,原始的和抽取的一个具有相同的形状,但是有10个,被抽取的一个丢失了一些高峰,并改变了形状。

答案 1 :(得分:1)

我认为你的结果没有任何问题,这就是过滤的作用。原始信号中的高峰必须是高频分量,因此在滤波后它们会被平滑,现在看起来要小得多。

如果您在较粗糙的网格上绘制抽取信号,并在原始信号旁边查看它,您应该能够说服自己是否是这种情况。