RC周波数特性のシミュレーションをしつつ、フィルタの設計に便利なボード線図を描画してみました。
Jupyterのmlpltlibには豊富な描画関数が揃っているため、大変便利です。
JupyterでIIRフィルタを設計し、信号を処理してみました。 IIRフィルタの設計ツールはネット上に溢れかえり、その結果についてはなんの驚きもありません。が、こうして手を動かすことでJupyterによる信号処理が身に … 続きを読む
Google Colaboratoryは大変魅力的なサービスです。しかしながら、その魅力を支えているのはサービスがクラウド上にあるということです。ということはColabで作ったデータもクラウド上にあります。
そのデータを音として聴くことはできないものだろうか、と思って調べました。結論から言えば聴くことができます。
昨年の今頃、「Jupyter Notebookがすごい!」と騒いでいたのですが、ツイッターでフォローしているD*isuke.Yさんから面白いサービスを知りました。GoogleがColaboratoryという名前でJupyter Notebookをホスティングしています。
「直感的にはわかっている」水準だった矩形パルス信号とその周波数特性について復習しました。
これまでなら教科書を睨みながらあくびをかみ殺して、というところです。が、今回はJupyter notebookを使うことで問題の周辺をしつこくねちねちと何度も掘り下げることができました。
昨日紹介したJupyter notebookがあまりに面白いので、昼休みに遊んでいるうちにFIRフィルタの特性比較ノートブックを作ってしまいました。
このアプリケーションがどのように働くのか、また我々にどのように働きかけるのか、面白いサンプルだと思いますので公開します。
丸め機能付の算術右シフト関数をVHDLで書きました。 丸めは演算の精度に大きく影響することはよく知られていますし、実験結果もそのとおりになります。たとえば、32bit NCOの精度評価でも丸めの有無で結果が変っています。 … 続きを読む
事情があってIIRフィルタのシミュレーションの必要が生じました。ツールを探してみましたが、これが見つかりません。実はあるにはあるのです。MATLAB。MATLABは確かに安くなりましたが、個人用でもフリーではありませんし、しかもSimlinkがついてきません。SimlinkのついていないMATLABかぁ、とまだ購入はしていない状態です。
じゃぁ、Scilabを。となるわけですが、ScilabはMATLABと互換性がありません。両者に互換性があるなんてのは、私に言わせれば『C++とJavaには互換性がある』と言い放つくらい恐れを知らぬ蛮行ですよ。
ScilabのIIRシミュレーションは、Scilabに固有の多項式機能を使うため、MATLABとは全く異なる方法になります。それなりに理解できたので、ここにメモ代わりに記しておきます。