- インターフェース 2021年3月号 (特集 Pythonで信号処理 時系列データ 解析編; 特設 やり直しのための信号処理数学)。CQ出版社。
CQ出版社の出版物はエレクトロニクスのハードウェアづくりに関連するものが多いが、そのうちでは雑誌『インターフェース』はソフトウェアの話題が多い。ハードウェアに組みこむソフトウェアの話題だとわたしには関係ないと感じるのだが、計算機上でもつかえるものだと興味がわく。
この号は店頭に積まれていた。雑誌の表題「Interface」にまけない大きさの字で「Pythonで信号処理」、つづいて「時系列データ 解説編」と書いてある。
わたしは時系列データ解析技法 (ディジタルフィルターやパワースペクトル)をしごとでつかうことがあり、教えることもあった。ただし、むかしつかった道具をよく保存していないし、あってもFortranプログラムで、これから学ぶ人といっしょにやるためには道具をつくりなおす必要がある。プログラム言語の選択ではまよっているが Python は候補だった。だから、買ってみることにした。
同じ号に「特集 Pythonで信号処理」と「特設 やり直しのための信号処理数学」があって、どちらも 辰岡 鉄郎 さんがほぼひとりで書いている (すこしだけ「編集部」による記事がまじっている)。辰岡さんの本をつくろうとしていて、まず雑誌で出してみることにしたのだろう。本だと長期にわたって売れる可能性があるが予想がつきにくいし、技術書をあつかう少数の本屋に置かれるだけだ。雑誌は多くの本屋に置かれるが次の号が出ると消えてしまう。出版社としては同じ材料を両方の形で売りたいだろう。
この号にはこの特集・特設以外の記事もあるが、その多くはまえからつづく連載だ。(話題としてちょっとおもしろくはあるのだが、前から読んでいないのでおもしろさがじゅうぶんわからない。) 「MicroPython入門」は、これからはじまる連載の準備だそうだ。
専門教育の授業の教科書だとすれば、「特設」のほうが講義の教材で「特集」のほうが実習の教材にあたる。
「特設」は、フーリエ変換、ラプラス変換、z変換などの応用数学の道具から、スペクトル解析とディジタルフィルタの基本にいたる教材だ。ただし、ディジタルフィルタの設計の実際は次号まわしになっている (次号を買わされてしまう)。【[2021-03-29 補足] FIR (非再帰型)フィルタの設計は4月号、IIR (再帰型) フィルタの設計は5月号に出た。わたしは5月号だけ追加で買った。】 たくさんのことをつめこんでいるから、それぞれの説明がじゅうぶんではないと思うが、どこかで学んだがおぼろげになっていることの「やり直し」(いまのわたしはまさにそうだ)には適切な量かもしれない。
「特集」のほうは、実際の時系列データにディジタルフィルタをかけたりスペクトル解析をしてみたりする。例として、脳波、心電図、筋電図をあつかっている。その測定のしかたにもちょっとふれているが、信号処理の教材としてつかいたい人のためには、出版社のウェブサイトにデータが置かれている。
ざっと見ただけで思ったことだが、「特集」の時系列データ例は、たとえば電源周波数からくるノイズがふくまれてはいるが、欠損なく続いたものだ。気候の観測データの時系列をあつかうには、欠測とか観測条件の変遷とかに対処する必要がある。心電図のばあいでも、じっとしていることのできない人の心電図が、とぎれたり、感度がかわったりすることに似ているかもしれない。そのばあいに本書の方法をまねできるかどうかは、やってみないとわからないが、かならずしもあてにできないと思う。
Pythonのライブラリとしては、数値計算の定番といえる NumPy と 作図のための matplotlib のほかに、SciPy のうちの fft と signal をつかっている。FFT (高速フーリエ変換) は定型処理だから既存のライブラリをつかうのが適切だろう (ライブラリのうちにも複数のルーチンがあって、本書ではその性能比較も試みている)。フーリエ変換の数値の規格化の問題(平均するのか合計するのかとか、無次元化した時間で1周期は1なのか2πなのかとか)はあるが、わかった例でためしてみればすむことだ。しかし、signal のほうは、信号処理という専門の人がつかう定型処理をまとめたものだろう。気候データ解析の目的には、欠損値や時系列の端の処理などがそのままではつかえない可能性もあると思う (ためしてみてだめなら自分でプログラムを書くことになるだろう)。
「特集」と「特設」の部分の目次を、記事の表題だけでなくその1段下の四角でかこまれた見出しのレベルまで書きぬいてみた。折りかえしのあとにつける。
Continue reading