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

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

回答 (1 件)

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

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

カテゴリ

Help Center および File Exchangeフィルター解析 についてさらに検索

Community Treasure Hunt

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

Start Hunting!