前回は教科書のプログラムをそのまま実機STM32F446REマイコン上に実装、CICフィルタのON/OFFでどのような特性になるのか観察いたしました。今回はそのCICフィルタの振幅特性をScilabを使って計算してみたいと思います。前回使用したCICフィルタは3段の継続接続であったので、1段から3段まで比較してみます。
手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1
デシメーションというのは古代ローマの恐ろしい刑罰にその名を発するようです。長い歴史の中でも実例はそれほど多くないみたいです。しかしデジタル信号処理業界?ソフトウエア無線などではすこぶる頻繁にお目にかかります。サンプリング周波数を低い方に変更するダウンサンプリングとそれに伴う低域通過フィルタ処理を行うもの。
手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2
前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?
手習ひデジタル信号処理(38) M系列信号を使う白色雑音の発生その1
今回から白色雑音(ホワイトノイズ)の発生に入ります。ちょっと問題だったのは手元にゲートレベルの「回路図」から論理シミュレーションする環境が無かったという件。今時「回路図」書いて「論理」でもないものな~。しかたがないのでアナログシミュレータのLTspiceで論理シミュレーションしてしまいました。出来るのですがクセが強い。
手習ひデジタル信号処理(37) IIRフィルタ、直交する正弦波発生器その2
前回はブロックダイアグラムをScilab+Xcosでシミュレーションしてみました。確かにIIRフィルタから直交する正弦波(つまりはSIN波とCOS波ですが)が生成されてました。今回は実機STM32F446RE上で確認したいと思います。使用させていただくプログラムは三上先生のプログラムそのままであります。
手習ひデジタル信号処理(36) IIRフィルタ、直交する正弦波発生器その1
前回はIIRフィルタを使って正弦波を生成でした。今回はその応用であります。直交する正弦波、要するにSin波とCos波、位相90度ずれた波の生成です。例によって今回はブロックダイアグラムをシミュレーションしてPC上で確認です。実際に三上先生の教科書のコードを実機で動作させるのはまた次回の予定。
手習ひデジタル信号処理(35) IIRフィルタによる正弦波発生器その2
前回、IIRフィルタ(簡単なやつ?)のブロックダイアグラムをシミュレーションして正弦波らしきものが生成されることを観察しました。今回は実機で三上先生のサンプルプログラムを動かしてみます。折角なので外付け回路の「想定外」の周波数まで生成周波数を上げてみました。IIR凄い?
手習ひデジタル信号処理(34) IIRフィルタによる正弦波発生器その1
手習ひデジタル信号処理(33) sin関数とFastSin関数の実行サイクル数測定
前回は正弦波を計算で生成するためにミニマックス近似を使ったFastSin関数を使わせていただきました。12ビットの精度なら十分使えて「速い」と三上先生の御本にはあるのです。しかしどのくらい速いのだか気になります。今回は実機(Arm Cortex-M4F)上でどのくらい速いのだか測定してみたいと思います。
手習ひデジタル信号処理(32) 正弦波の信号発生器、sin関数計算編その1
今回から信号の発生に入るのですが最初は正弦波の発生です。音を作るにせよ、無線にせよ、何が無くても正弦波。デジタルな計算で波形を作るのに私のような素人でも思いつくのがsin()関数を使うことです。しかしsin()のような関数の計算には時間がかかる、そこで信号処理の人はいろいろテクを使うんでありますな。
手習ひデジタル信号処理(31) Weaver変調器、周波数シフタその4、COS掛けてLPF
手習ひデジタル信号処理(30) Weaver変調器による周波数シフタその3、入力BPF特性
前回は、Weaver変調器による周波数シフタの全体コード(三上先生のコードそのまま)をビルドして実際に周波数シフトが起こっていることを実機上で確認いたしました。今回は、要素部品のうち初段の帯域通過フィルタの特性を実機で確認してみます。処理対象の100Hzから4.5kHzまでの周波数のみを通すもの。
手習ひデジタル信号処理(29) Weaver変調器による周波数シフタその2 実機動作確認
前回はWeaver変調器の原理を学ぶ、ということで三角関数の計算に突入してしまいました。しかし実際に計算したのはMaxima様で私は見ていただけですが。原理は分かった(ホントか)ということで、今回は実機にプログラムを書き込んでその特性を観察してみたいと思います。
手習ひデジタル信号処理(28) Weaver変調器による周波数シフタその1
前の3回はヒルベルト変換フィルタを使った周波数シフタだったですが、今回から、Weaver変調器による周波数シフタです。Weaverって何(誰?)と問えば、高名な(当然知らないとモグリ的な)発明者の御名前であったです。原理をなぞるのに三角関数の計算が必要。霧のかかった頭をMaxima様がお救いくださります。