グラフデータ補完方法​について教えて頂けま​すでしょうか

サンプリングが一定でないグラフ(1)にデータを補完して、サンプリング一定のグラフ(2)を作る方法はありませんでしょうか。
グラフ(1)のデータは関数に従ってプロットされている訳ではなく(例としては飛んでいる物体をカメラ計測し、座標値をプロットするイメージです)、サンプリングも一定ではありません。
このグラフをデータ補完し、サンプリングが細かく・一定のグラフにしたいです。
※添付した資料を見て頂けると幸いです。
関数が与えられておらず、グラフ(1)のサンプリングが一定ではない為、方法が分からず悩んでおります。
宜しくお願い致します。

 Accepted Answer

Hernia Baby
Hernia Baby on 27 Sep 2022

0 votes

interp1関数もしくはresampleで可能です。
rng default
nominalFs = 48000;
f = 500;
Tx = 0:1/nominalFs:0.01;
irregTx = sort(Tx + 1e-4*rand(size(Tx)));
x = sin(2*pi*f*irregTx);
figure
plot(irregTx,x,'.')
44.1 kHz の等間隔のレートに変換します
desiredFs = 44100;
[y, Ty] = resample(x,irregTx,desiredFs);
plot(irregTx,x,'.-',Ty,y,'o-')
legend('Original','Resampled')
ylim([-1.2 1.2])

7 Comments

M M
M M on 28 Sep 2022
直ぐのご返信ありがとうございます。
早速試して見ます!
M M
M M on 28 Sep 2022
回答ありがとうございます。
すみません。加えて質問させて頂きたいのですが、
教えて頂いた方法をエクセルのデータに適用することは出来ますでしょうか...
(例えば、「from spreadsheet」からの
[t,y]=[0.1, 1], [0.14, 2.2], [0.2, 3.5]...
という値をresampleに読み込ませることは出来ますでしょうか)
具体的には、
教えて頂いた例resample(x, irregTx, desiredFs)の、
'x'にエクセルデータyを、
'irregTx'にエクセルデータt
を組み込ませたいのですが、このような事はできるのでしょうか。。
Hernia Baby
Hernia Baby on 29 Sep 2022
可能です。Excelの読み込みは readtablereadmatrix 等で読み込めます。
「インポートよくわからん!」て場合はインポートツールが便利です。
M M
M M on 2 Oct 2022
早速のご返信ありがとうございます。
エクセルデータをワークスペースに保存し、上記を打ち込んだところ無事サンプル数を増やすことが出来ました。
ありがとうございます。
M M
M M on 11 Oct 2022
以前は質問に答えて頂きありがとうございました。
エクセルデータをサンプリング補正して無事simulink上で使うことが出来ました。
よろしければまたお力お貸し頂けませんでしょうか。
お聞きしたいことは
simulink上で、外部から受け取ったデータをリアルタイムでサンプリング補完する方法についてです。
以前は教えて頂いた通り、エクセルデータを列ベクトルとしてインポートし
[y, Ty] = resample(x,irregTx,desiredFs);
の式を用いてデータ補完しました。
下記のイメージ図のように、物体の挙動データを外部から受け取り、simulink上でリアルタイムでデータ補完することは出来ますでしょうか。
y(t)を列ベクトルy,tに分割すれば可能だと考えたのですが、simulink上ではこのような事はそもそも出来ないのでしょうか。
何か教えていただけますと幸いです。
よろしくお願いいたします。
Hernia Baby
Hernia Baby on 11 Oct 2022
こちらについては別途質問する事をお勧めします。Simulink系に詳しい人がいるため、より良い方法を提示してもらえる可能性が高いからです。自分の場合だとMATLAB Fcnブロックを使って出来るか試します。この場合、リアルタイム性がどれだけ失われるかは考慮してません。
M M
M M on 12 Oct 2022
承知しました。他の方にも聞いてみます。
今までの質問に回答して頂きありがとうございます。

Sign in to comment.

More Answers (0)

Products

Release

R2018b

Asked:

M M
on 27 Sep 2022

Commented:

M M
on 12 Oct 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!