遺伝的アルゴリズム的な何かでフィルタ設計してみる続き

昨日書いたプログラムをそのまま改良していっても、なんとなく残念な結果になりそうだったので、少し周辺の研究を調べてみました。すると、すぐに遺伝的アルゴリズムでフィルタのハードウェア設計をするものなどが出てきました。IEEEとかが発表の中心なのかな。GECCOという学会で発表されたっぽいParticle Swarm Optimizationを用いた自動フィルタ設計の論文が出てきたので読んでみると、遺伝的アルゴリズムとはまた違った手法で、周波数特性と時間特性のどちらも最適にできる手法が紹介されていました。

この論文に書いてあったのはフィルタ係数を直接進化させていく手法で、僕が昨日作ったのは双二次のパラメトリックEQを複数組み合わせて任意のフィルタに近づける方法なので、やっていることが少し違います。でも、論文中には参考になりそうないくつかのフィルタ設計アルゴリズムが紹介されていて、参考になりました。なによりParticle Swarm Optimizationという手法に興味がわきました。マルチコアCPUが当たり前になってきているので、これからは並列処理に向いているアルゴリズムがどんどんと実用的になります。