MATLAB Answers

波形解析の際のban​dpassfilte​rの使用について

14 views (last 30 days)
R
R on 28 May 2020
Commented: R on 1 Jun 2020
波形処理のために以下のコードでフィルタリングをしようとしています.
y=bandpass(x,[50 450],fs)
しかし,
エラー: signal.internal.filteringfcns.parseAndValidateInputs (line 62)
入力データは、有限で非スパースの、倍精度または単精度のベクトルまたは行列でなければなりません。
エラー: bandpass (line 103)
opts = signal.internal.filteringfcns.parseAndValidateInputs(x,'bandpass',varargin);
というエラーが出てしまいました.
ヘルプセンターのコードを基に作成したのですが...うまくいきませんでした.
教えていただけますと幸いです.よろしくお願いします.

Answers (1)

Shunichi Kusano
Shunichi Kusano on 29 May 2020
エラーメッセージを見ると「bandpass関数で扱えるデータが入力されていません」っていう注意ですね。ですのでコードのxが、ベクトルか行列の形になっているか、型がsingleかdoubleになっているか、といったことを確認してみてください。
下記にご参考までのコードを載せておきます。
t = [0:0.01:10];
x = sin(2*pi*1*t) + 0.5*cos(2*pi*4*t);
ismatrix(x) % 行列(ベクトル)かの確認
class(x) % xの型の確認
filt_x = bandpass(x,[2 5],100);
plot(t,x,t,filt_x);
  3 Comments
R
R on 1 Jun 2020
liveeditorを用いて欠損地の置き換えを行ったところ,無事フィルタをかけることができました.お忙しいところ,ご回答いただき本当にありがとうございました.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!