离散由加速度计获得的连续信号

时间:2017-02-24 13:56:27

标签: matlab sampling

我有一个由加速计传感器获得的大小为 1乘1155 的信号矢量。此向量中的值的示例是[0.5301 1.0039 1.4751 1.520]。我还有时间向量(大小 1-by-983 ),它是以秒为单位收集数据的持续时间(因此它随着增量1而增加<) / p>

收集数据时,采样频率fs = 102.4 Hz(采样时间Ts = 0.0098 s)。

我希望使用MATLAB来对信号进行离散化,方法是使用以下公式:x[n] = x(n*Ts)

问题: 这个公式中n是我获得的信号点数(例如1155)? 我将在公式中使用什么样的采样时间?因为我猜它不会与从传感器获得信号时使用的采样时间相同(例如0.0098s)?

如何在MATLAB中轻松实现此等式?我尝试使用下面的代码,但我不确定实施情况,因为我在这里使用n = i = 1155

% allocate a vector for the discretized signal
disc_x = [zeros(length(x),1)];
% Loop through each element
for i = 1: length(x)
    disc_x(i) = x(i)/fs;
end

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,时间矢量的大小与信号矢量的大小不同。其次,您需要检查时间向量中的时间间隔。它们都是平等的吗?该时间间隔是否小于采样间隔Ts?假设时间间隔等于Ts,则您的信号已经离散化。这是disc_x等于x。否则,您可能需要进行平均或插值,具体取决于离散化的类型。