Uniform Interpolation/resample Question

Please find the attachment data.mat
figure(1)
plot(exp_f2,exp_t2,'ro')
ylabel('Unifrom Time Step 2.5ms');xlabel('Hz');title('Mode 2 Exp data,fs=400Hz')
Here I have uniform time step 2.5ms on my y axis. But I need an uniform frequency step on my x axis like
f2_interp=linspace(exp_f2(1),exp_f2(end),400);
How can I interpolate or resample it? Thanks!

 採用された回答

KSSV
KSSV 2018 年 8 月 21 日

0 投票

% interpolation
ti=linspace(min(exp_t2),max(exp_t2),400);
yi = interp1(exp_t2,exp_f2,ti) ;
plot(yi,ti)

7 件のコメント

Rik
Rik 2018 年 8 月 22 日
Please don't use flags to reply to comments.
"Hi KSSV, this will give me a non uniform frequency step. "diff(yi)" in your code has to return an unfirom freq step."
You need to choose: either ti will be uniformly sampled, or yi will have uniform steps, or you can only have the function y=x. Which of these three do you want?
Tsuwei Tan
Tsuwei Tan 2018 年 8 月 22 日
Hi, I would like to have my exp_f2 out of the attached data.mat to be uniformly sampled.
f2=linspace(min(exp_f2),max(exp_f2),numel(exp_t2));
t2=interp1(exp_f2,exp_t2,f2,'pchip');
is not working. May I ask how to fix it? Thank
Rik
Rik 2018 年 8 月 22 日
exp_f2 is not an output of that code. Which of the 3 options I described do you want? In your code f2 is uniform, but t2 is probably not.
Tsuwei Tan
Tsuwei Tan 2018 年 8 月 22 日
There is an attached data.mat file which contains exp_f2, can you download it?
Rik
Rik 2018 年 8 月 22 日
Sure, I can download that .mat file and load the variables, but that doesn't tell me what you want. I can't help you find a solution if you don't explain what you want. I've explained the three options. Pick one, or explain better what you want.
Tsuwei Tan
Tsuwei Tan 2018 年 8 月 22 日
In your code, you make the exp_t2 which is already uniform step to be uniform again:
ti=linspace(min(exp_t2),max(exp_t2),400);
What I need is to make exp_f2 to be uniform:
f2=linspace(min(exp_f2),max(exp_f2),numel(exp_t2));
The output of "interp1" command doesn't have to be uniform, thanks!
Rik
Rik 2018 年 8 月 22 日
Now I'm really confused. You want to make a variable uniform that is already uniform? And if you already have the code to do that, what is your question? And to what code are you referring to as "your code"? I haven't posted any code in this thread, only you and KSSV have.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2018a

質問済み:

2018 年 8 月 21 日

コメント済み:

Rik
2018 年 8 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by