2017-02-24 208 views
0

I獲得具有由加​​速度傳感器獲得的尺寸1 * 1155的信號矢量的連續信號。此向量中值的示例是[0.5301 1.0039 1.4751 1.520]。我也有時間向量(大小1 * 983),這是聚集以秒爲單位的數據的持續時間通過離散化加速度計

(因此它與增量1增加)時收集其在一個樣本的採樣數據頻率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 

任何幫助,將不勝感激。

回答

0

首先,時間矢量的大小是將信號矢量的大小不同。其次,你需要檢查你的時間向量的時間間隔。他們都是平等的嗎?這個時間間隔是否小於採樣間隔Ts?假設時間間隔等於Ts,那麼你的信號已經離散了。這是disc_x等於x。否則,您可能需要平均或插值,具體取決於離散化的類型。