データ数の圧縮,リサンプリング,補間について
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
ryu
el 27 de Abr. de 2022
Comentada: ryu
el 1 de Mayo de 2022
あるデータ数(例:40972)を圧縮してあるデータ数(例:10000個のデータ)にしたい場合はresample関数を使用するのが正しいのでしょうか。しかしresample関数ではリサンプルする周波数は決められると思いますが,その結果何個のデータになるのかは決められないため,指定したデータ数に圧縮することができません。良い方法をご存知の方がいらっしゃいましたら教えていただけないでしょうか。
0 comentarios
Respuesta aceptada
Akira Agata
el 28 de Abr. de 2022
時系列信号のリサンプリングに関するご質問と想定して回答します。
ご理解のとおり、resample 関数を使ってこの課題を解決するには、目標のサンプル点数に対応するサンプリング周波数を求める必要があります。
以下に例を示します(簡単のため、以下の例ではサンプル数100の元データを、サンプル数30に圧縮する場合を想定しています)。
% データ数100の元データ
x = linspace(0, 2*pi, 100);
y = sin(x);
% min(x) ~ max(x) 区間内の 30点で内挿
xq = linspace(0, 2*pi, 30);
yq = interp1(x, y, xq, 'spline');
% 確認
figure
plot(x, y, '.')
hold on
plot(xq, yq, 'o-')
legend({'元の100点', '内挿した30点'},...
'FontSize', 12)
3 comentarios
Akira Agata
el 30 de Abr. de 2022
直観的にそう思ってしまいがちですが、厳密には少し違います。
上記の例で、元のサンプリング周波数を 、内挿後のサンプリング周波数を とします。
まず、内挿前は100個のサンプル点によって 0 ~ の区間を 99 個の小区間に分割しているので、
となります。同様に、内挿後は 0 ~ の区間を 29 個の小区間に分割しているので、
となります。
つまり、内挿後は元の 倍のサンプリング周波数でリンサンプリングしたことになります。
Más respuestas (0)
Ver también
Categorías
Más información sobre マルチレート信号処理 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!