Interpolation method for data that is wave-like or oscillatory
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
I am attempting to Interp1 for interpolation of data that is wave-like or oscillatory in nature. I am planning on using the 'linear' method, but was wondering if anyone had any suggestions that might be better method in this function for data that is wave-like or oscillatory?
採用された回答
Star Strider
2016 年 10 月 21 日
It depends on how ‘wave-like’ it is. A 'linear' interpolation will work in most instances if the sampling interval is small enough. Otherwise, the 'spline' or 'pchip' methods would be appropriate. (Consider adding the 'extrap' argument as well if extrapolation could be an issue. It prevents NaN values from appearing in the extrapolated points.)
9 件のコメント
Ok, thanks. My sampling interval is a 1000 data points per second, so I think that should be enough for 'linear' interpolation. Do you agree?
Star Strider
2016 年 10 月 21 日
My pleasure.
That depends on the approximate frequency of your signal. The lower the frequency, the more appropriate a linear approximation will be. For instance, a frequency of 100 Hz would have 10 data points per cycle, and a linear interpolation might not be adequate, depending on the accuracy you want. For a frequency of 10 Hz, the resolution is 100 samples per cycle, and a linear interpolation would be essentially indistinguishable from a nonlinear interpolation method. The highest uniquely resolvable frequency (the Nyquist frequency) in your data would be 500 Hz or 2 samples per cycle, but interpolating it would be pure guesswork.
So interpolating it might not be the best idea?
I also only analyze it from frequencies below 70 so I am not sure if this is a low enough frequency for interpolating.
Star Strider
2016 年 10 月 24 日
Interpolating it is a good idea if you keep the necessary tradeoffs in mind. A frequency of 70 has about 14 samples per cycle (sampled about every 25 degrees or about every 0.44 radians), so a nonlinear method such as 'pchip' or 'cubic' might be best for all of them.
That is how I would interpolate your signal.
Also, consider using the Signal Processing Toolbox reample function instead of interpolating. The resample function incorporates a FIR anti-aliasing filter that is an important consideration in signal processing. It only accepts integer values for its resample ratio arguments, so use the rats function to calculate them.
Would this resample function mess with the phase angles of the wave signal? I do not think it would, but it is very important for my data analysis that there is no phase delay in the wave form data.
Star Strider
2016 年 10 月 24 日
I doubt that it would change the phase significantly (other than to increase the resolution), but I never actually did that experiment. That would certainly be an argument in favor of using the resample function rather than doing a simple interpolation.
To do that experiment, I would do the Fourier transform of the original and resampled signals and then overplot the amplitudes and phases of both of them (using the subplot and hold functions) to compare them directly.
Ok, great. Thank you again for answering all these other questions I have.
Star Strider
2016 年 10 月 24 日
As always, my pleasure.
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Multirate Signal Processing についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
