生体信号のwavelet解析について

12 views (last 30 days)
cho hunseki
cho hunseki on 22 Sep 2023
Commented: cho hunseki on 24 Sep 2023
現在とある生体信号のwavelet解析を行おうとしています。
データはcsvデータで、1行n列のものです。
下記codeを試しました。
data = readmatrix('ファイル名.csv'); %
fs = 1000; %
wavelet_name = 'morl'; %
scales = 1:64; %
cwt_coeffs = cwt(data, 'wavelet', wavelet_name, 'scales', scales, 'samplingfrequency', fs);
figure;
imagesc((1:size(data, 2))/fs, scales, abs(cwt_coeffs));
set(gca, 'YDir', 'normal');
title('ウェーブレット解析');
xlabel('時間(秒)');
ylabel('ウェーブレットスケール');
colorbar;
上記に対して、下記のエラーがでました。
wavelet toolboxは購入しております。
どのように修正すればよいかご教授頂けますでしょうか。
[WARN] StAXDialectDetector - Unable to determine dialect of the StAX implementation at jar:file:/C:/Program%20Files/MATLAB/R2023b/java/jarext/axis2/woodstox-core-asl.jar!/
次を使用中のエラー: cwt>parseinputs
スカラー入力引数の数が無効です。
エラー: cwt (297)
fbcell = parseinputs(Norig,TTable,varargin{:});
エラー: untitled (12)
cwt_coeffs = cwt(data, 'wavelet', wavelet_name, 'scales', scales, 'samplingfrequency', fs);

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 23 Sep 2023
現在の cwt 関数では引数の形式が多数変更されましたが、新旧どちらの構文にも対応します。
> 上記に対して、下記のエラーがでました
  • 「名前と値の引数」は旧構文では用いられず、文法が合致しません
  • samplingfrequency は旧構文に存在せず、代わりに samplingperiod があります
> どのように修正すればよいかご教授頂けますでしょうか
load vonkoch % これはサンプルデータの読み込み
data = vonkoch(1:510); % data = readmatrix('ファイル名.csv'); %
fs = 1000; %
wavelet_name = 'morl'; %
scales = 1:64; %
%cwt_coeffs = cwt(data, 'wavelet', wavelet_name, 'scales', scales, 'samplingfrequency', fs);
cwt_coeffs = cwt(data, scales, wavelet_name, 1/fs);
figure;
imagesc((1:size(data, 2))/fs, scales, abs(cwt_coeffs));
set(gca, 'YDir', 'normal');
title('ウェーブレット解析');
xlabel('時間(秒)');
ylabel('ウェーブレットスケール');
colorbar;
  1 Comment
cho hunseki
cho hunseki on 24 Sep 2023
Atsushi Uenoさん
いつもご回答頂きありがとうございます。
ご教授頂いたcodeで再現できました。
ありがとうございました。
引き続き宜しくお願い致します。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!