会社のカレンダーでは今日は出勤日ですがなにか。出社途中の道路がえらく空いていて、ようやく世間はお休みだったことを思い出した。できれば思い出したくなかった。

そういえば昨夜はイライラして寝付けなかったので、前に通院していたときにもらった睡眠剤を飲んだ。そのおかげか、睡眠時間はさほど長く取れなかった割には眠気もなくスッキリ目が覚めている。昨日に比べるとゆううつ感も少しはマシ。
落合監督が「スランプのほとんどは体調が原因」といったことを言っているらしいが、今回はそういうことだったのかも知れない。もっと早く飲めば良かった。
午前中はデジタルフィルタの復習のために参考書に目を通した。前にデジタルフィルタを急いで実装したときに見落としていた記述をいくつも見つけて、あちゃあ…という感じ。よく知らない技術を理解しないまま使ってはいけないという見本だ。
一緒に実験をしていた同僚は、回路担当者に頼んで実験機に一時的にアナログフィルタを追加実装してもらっていた。仮に追加するならデジタルよりアナログのフィルタの方がずっと簡単。ただしフィルタの定数をデータと一緒に記録したり、以前の設定を再現したりするのは難しくなる。

午後からは改良版のデジタルフィルタのコードを書く。このフィルタはカットオフ周波数を可変にする必要があるので、フィルタ演算だけでなく、カットオフ周波数からフィルタのパラメータを計算するコードも必要になる。
基にするサンプルコードはGUIと計算のコードが混じっているので、リファクタリングの要領で不要な箇所をバサバサ削って目的の形に変えていく。削ることによるバグを避ける*1ために、改変後のコードによる計算結果と元のコードの計算結果とが常に一致することを確認しながら作業を進める。

*1:可能性を減らす