MATLAB Answers

信号中のDC成分のみを表示したい

1 view (last 30 days)
Ryosuke Kon
Ryosuke Kon on 27 Oct 2020
Commented: Shunichi Kusano on 28 Oct 2020
はじめまして.
ご覧いただき誠にありがとうございます.
現在matlabによる信号処理にて,取得した実験データのdc成分のパワーのみを取り出すプログラムを作成しております.
手始めにローパスフィルターで1Hz以下の信号のみを取得したのですが,うまく取り出すことができませんでした.
素人質問で恐れ入りますが,ご教授いただけると幸いです.

  0 Comments

Sign in to comment.

Answers (1)

Shunichi Kusano
Shunichi Kusano on 28 Oct 2020
DC成分は平均値なのでmean関数で出すことができます。またはフーリエ変換した場合の一個目の成分がこれに当たります。
clear; close;
dc = 1;
t = [0:0.01:0.99];
sig = cos(2*pi*10*t) + dc;
plot(t,sig)
f = fft(sig);
f(1) / numel(t) % dc と比較
mean(sig) % 平均値と比較

  2 Comments

Ryosuke Kon
Ryosuke Kon on 28 Oct 2020
ご返答ありがとうございます.
いただいたご回答では,時間に対してパワーが一定であるDCは取り出せると思うのですが,
パワーが時間に対して変化する場合ではどのようにしてDCを取り出すことができるのでしょうか?
解析したい波形のDC成分は時間が経過するごとに減少する傾向にあります.
只今,具体的なコードやデータを開示することはできませんが,ご教授いただけると幸いです.
Shunichi Kusano
Shunichi Kusano on 28 Oct 2020
時間ごとの変化を解析したい場合でしたら短時間フーリエ変換をしてしまうのが手っ取り早いと思います。私がここで説明するよりも、こちらをご覧いただいた方がいいかと思います。

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!