計測工学I
【第2回】Excelによる移動平均の計算
今日の内容
• 【第2回】Excelによる移動平均の計算
• 実際にパソコンを使って移動平均の計算を行い、ディジタル
フィルタ、FIRフィルタの考え方を導入する。計測データの処理
方法に慣れる。
• この方法は単に移動平均に用いるだけではなく、
一般的なフィルタ処理にも用いることができます。
• ディジタルフィルタ処理の入門として、移動平均を扱います。
Excelの構造
• Excelは表計算ソフトで、データを行と列に入力することができ
ます。
• C言語などのコンピュータプログラムで、
従来「配列」で処理していた「データ」を
セルに直接書き込み
関数を使ってプログラムを
書くことができます。
for( i=0; i<n-1; i++ )
{
ecg_new[i] = (ecg[i] + ecg[ii+1]) / 2;
}
移動平均とは
• 自分自身の前後数点のデータを、平均し、その点のデータと
する処理です。
• 式の読み方
• i番目の要素を計算する時
• kの値を i-nからi+nまで変えて
• 加算する。
• その結果を2n+1で割って
平均する。
i+n
1
xi =
xk
∑
2n +1 k=i−n
生データ
• 測定したままで、何も処理していない
データを「生データ」と(俗に)呼びます。
• 英語では、Raw Data
• 今回は、manabaから ECG-sample.xlsxを
ダウンロードして開いて下さい。
提出用データ
• データは150秒あります。各自の学籍番号の下3桁を秒に読
み替えて、そこを起点に5秒分のデータを切り出して下さい。
• 例:学籍番号110XXX100番の人
• 100秒から105秒までのデータを切り出して、
新たにSheet1にA1のセルからコピーして下さい。
• 下の[+]のタブをクリックし、「新しいシート」を挿入する。
• 5秒分のデータを選択し、「コピー」する。
• 新しく作ったシートの[A1]のセルに貼付ける。
• 全員、1001行のデータに
なっているはずです。
Excelでの範囲選択
• 1000行分を、1行ずつ下向き矢印で移動すると時間がかかります。
• 範囲選択は、[Shift]キーを押しながらカーソル移動のキーを使います。
• ここでは、「ページ単位」でスクロールします。
• パソコンによって[Page Up] [Page Down]だったり、[Pg Up] [Pg Dn]と
書かれているキーが「ページアップ」「ページダウン」のキーです。
• ノートPCの場合、[Fn]キーなどと組み合わせる場合があります。
• MacBookの場合は、[Command]+カーソルの[ ↑ ][ ↓ ]です。
• つまり、PCによっては、[Shift]キーを押しながら、[Fn]キーと[Pg Dn]を押すと
いうふうに、三つのキーを押すと、ページ単位で移動しながら範囲選択がで
きます。
• また、さらに範囲が広い場合には、[Shift]キーを押しながら起点のセル
をクリックした後、[Shift]キーを押したまま、スクロールバーで範囲を選
び、[Shift]を押し続けたまま終点のセルをクリックするのが、一番オスス
メの方法です。
商用交流雑音
• 元のデータは0.005秒間隔です。 → 周波数200Hz
• この上に、50Hzの商用周波数が乗っています。
• 何点で移動平均したらいいでしょうか?
移動平均点数の計算
• 50Hzのデータは、0.02秒で1周期分の変化をします。
• サンプリング間隔は0.005秒です。交流雑音は
0.02 ÷ 0.005 = 4で、4区間分に1周期が乗ってきます。
• これを、「前2点」「後2点」に分けて平均します。
• 区間は4つですが中心にある自分自身も数えるので+1します。
• n=2で以下の式を読みます。
• kは、自分( i )の2点前から、
自分の2点後まで変化させ、
• 1/5倍(5で割って)平均します。
i+n
1
xi =
xk
∑
2n +1 k=i−n
Excelでの計算(Step 1)
• A1からA1001まで、生データがコピーされているはずです。
• ここで、B3のセルに
=average(A1:A5)
• と入力します。
Excelでの計算(Step 2:操作の考え方)
• 入力されたB3のセルの式を、B999までコ
ピーします。
• こういう時に便利なのは、Excelのジャンプ
機能です。
• [Ctrl]キーを押しながら上下左右のキーを押すと、
連続したデータの切れ目まで一気にジャンプしま
す。
• データのある状態が続いているときは、最後のデータ
まで、データのない状態が続いていると、最初のデー
タが現れるまで、ジャンプします。
• でも、B列にはデータがありません。ですので、一
旦A列に移動し、A列の一番下(A1001)までジャン
プしてから、一つ右のB列に移動し、今度は、コ
ピー先のB999からB4まで「範囲選択」します。
Excelでの計算(Step 2)
• まず、B3のセルをコピーします。(Ctrl-C)
• B3のセルの周囲が点滅します。
• 一つ左のA列(A3)にカーソルを移動させ、
[Ctrl]を押しながら下向き矢印を押します。
• A1001までジャンプします。
• 一つ右、二つ上のB999に移動します。
カーソルキーで移動します。
• B999で、[Shift]と[Ctrl]を押しながら、
上向き矢印↑を押します。
Ctrl
+ ↓
Shift + ↓
• 一気に、B999からB3までが選択されます。
• [Shift]キーだけ押したまま、一つ下に戻り
コピー先の範囲(B4:B999)を選びます。
• 範囲を選んだら、「貼付け」(Ctrl-V)します。
Ctrl +
Shift + ↑
Excelの式の相対参照
• Excelの関数式は、$マークをつけなければ「相対参照」になり
ます。
• このため、
• =AVERAGE(A1:A5)
• が1行下にコピーされると
• =AVERAGE(A2:A7)
• になり、最後のB999のセルでは
• =AVERAGE(A997:A1001)
• になります。
• これで、計算式の入力はOkです。
グラフ表示
• A3:B999まで、計算済みの範囲を選んで下さい。
• A3をクリックし、
• [Shift]を押しながら、右向き矢印(→)を1回押してB3に移動し、
• さらに[Ctrl]も押しながら、下向き矢印(↓)を押すと、一気にA3:B1001を
選ぶことができます。
• [Shift]だけを押した状態で、上向き矢印(↑)を2回押すと、範囲を
A3:B999に狭めることが可能になります。
• これを、折れ線グラフで表示して下さい。
ディジタルフィルタ
• 移動平均の場合には、右の式の
計算を行いました。
i+n
1
xi =
xk
∑
2n +1 k=i−n
• これ以外にも、同様の手法で、
右のような式を与えることができます。
• これがディジタルフィルタです。
n
yi =
∑a x
k i+k
k=−n
• 移動平均の場合には、係数行列akが1/(2n+1)の定数であると
考えることが出来ます。
微分フィルタ
• 単純に、 a0 = -1, a1 = 1 と置くと、微分フィルタになります。
• 連続量の微分の定義は以下のようになります。
• 微小時間でのx(t)の増分を
求めれば良いので、直前の
値との差を求めれば、
微分の形になります。
• (厳密には、サンプリング周期
で割ります。)
d
x(t) − x(t − Δt)
x(t) = lim
Δt→0
dt
Δt
yi = xi − xi−1
X(t)-x(t-Δt)
Δt
Excelでの微分フィルタ計算
• B列の「移動平均」の結果をそのまま使います。
• C4のセルに
• =B4-B3
• の式を入力し、この式をC999までコピーします。
ピークの強調
• 係数列として、{ -2, 1, 2, 1, -2 }というフィルタを設計します。
• 特性の計算は、「Z変換」で調べると
わかりますが、この科目では扱いません。
• ですが、同様の方法で計算することが
できます。
• (下図は、わかりやすくするため、200のオフセットを加算しました。)
• 心電図のQRSのピークを強調できるフィルタです。
一般的なディジタルフィルタ
• FIRフィルタで調べてみて下さい。
• Finite Impulse Response Filter(有限インパルス応答フィルタ)です。
• 掛け合わせる係数列を様々に変えることによって、ノッチフィ
ルタ、低域濾過フィルタ、高域濾過フィルタなど、様々な特性を
持つフィルタを作れます。
• 相関フィルタとして、特定の波形パターンを抽出するのにも使
えます。
• より厳密な処理を行うためには、サンプリング周波数を高く
とって(オーバサンプリングして)フィルタの次数(計算する係
数の数)を増やすことで、特性を
改善することができます。
画像引用元:Wikipedia
今日のまとめ
• EXCELを用いて、移動平均処理を行うことができる。ディジタ
ルフィルタの作り方をEXCELで検証できる。
• Excelの操作法で、CtrlキーやShiftキーを組み合わせると、少
ないキー操作・マウス操作で簡単に計算やグラフの作成を行
うことができる。
• 同様の手法で、微分フィルタ、ノッチフィルタ、低域濾過フィル
タ、高域濾過フィルタ、パターン抽出フィルタなど、簡単に実現
することができる。
• フィルタは、FIRフィルタの考え方で、厳密に計算式を立てるこ
とができる。
今日の提出課題
• データを切り出したシートで、移動平均と、微分フィルタの計算
処理を行ってグラフを作成し、
• 学籍番号-02.xlsx
• のファイル名で保存し、メール添付で提出して下さい。
• 提出先は、授業中にお示しします。
• EXCELの拡張子(xlsx)は、自動的に付加されるので、重複していない
か、提出前によく確認して下さい。
• 配点6点:移動平均の正しいグラフがある。(4点)
• 微分フィルタの計算結果のグラフがある。(2点)
• ボーナス点: QRS強調のフィルタのグラフが添付されている(2点)
© Copyright 2025 Paperzz