Literature watch returns(28) Armマイコンプログラムで学ぶデジタル信号処理

Joseph Halfmoon

文字数の関係でタイトル端折ってしまいました。正確には「Armマイコン」と「」がつきます。三上直樹先生著、工学社刊2021年2月25日初版であります。デジタル信号処理、立派な教科書は数あれど最初からやり直すのはシンドイ。なにか「手っ取り早く」実験中心で楽しく体験できるもの、と思って購入させていただきました。

※『Literature Watch Returns (L.W.R.)』の投稿順 index はこちら

「ちょっとかじったことがある」、と言ってもMATLABとツールボックス類におんぶにだっこでは、自分の頭で考えたわけではまったくありませんな。偉大なツール(と充実のドキュメント)の肩の上に乗って、遠くを垣間見た、といったところ。時がたてばすべては忘却の彼方であります。

魔が差したというか、最近になり、DSPではない普通のマイコンの上でデジタル信号処理が「やりたくなった」んであります。この頃のマイコン、お安いクラスでも性能はかなりいいよね。。。

しかしま、元々ちゃんと学んでいないので自分で更から信号処理のプログラムをサラサラかけるとも思えません。それで「教科書」を物色したところ見つけたのが本書、ということであります。

出版社は工学社、そういえばウン十年前、月刊の「I/O」誌を時々購入しておりました。その節はお世話になりました。しかし、ここ数十年絶えて「I/O」誌を購入しておりませぬ。しかし今回購入のこの本 「I/O BOOKS」の文字が燦然と輝いております。久しぶりだな「I/O」。題材は進化すれど、昔とあまり変わらない雰囲気がなにか懐かしい。他にも工学社さんのサイトを見れば本サイトでも「遊んでいる」マイコン類のご本も多数出されているようです。後でまた調べておかないと。

さて書籍自体は約200ページほどの厚みです。その割に盛りだくさんで実験中心にデジタル信号処理を体験できる構成と見ました。それでいて体系的にまとまっている感じです。実際にやってみないとしみじみ記憶には留まらないので実験はいいな(といって老人の忘却力は実体験をも霞ませるのでありますが。)

本の厚みを補ってくれるのが、DownLoad資料です。付録PDFとプログラムのソースなど、ZIPの状態で約6MBほどあります。モチのロンで暗号化されているので、ご本を買ってパスワードを得ないとファイルは開けませぬ。

さてネタバレにならない程度にターゲットにしている「Armマイコン」について記しておきます。

    • STM32F446RE搭載のNucleoボードがターゲットボード
    • 開発環境はArm Mbed(オンライン環境)

NucleoもMbedも、本サイトでは度々使わせていただいておりお馴染みさんです。しかし今回の「デジタル信号処理」はゴージャスにも浮動小数点処理(その方が本質的でないテクニカルなところに最初からこだわらないで済むので分かり易いという方に一票)であるので、組み込み用といっても Arm Cortex-M4F (FはFloatのFだと思う)ご指定です。

当方の手元にも Arm Cortex-M4F搭載のマイコンボードは複数あるのですが、ご指定のSTM32F446REと比べると、若干クロック速度が遅かったりします。この際ということで、Nucleo-F446REも購入してしまいました。秋月電子通商殿などへ行って価格をみれば「お求めやすい」ボードであることは明らか、かと。

さて実験をやるときに、忘れてはいけないのが、マイコン外付けの回路です。このご本でご指定の回路は3.5×4.5cmサイズの小さいブレッドボードでOKみたい。主要部品といって、単電源、レール・ツー・レール(出力)といったいくつかの条件を満たすOPAMPが必須です。手元在庫を見ると、一応そういうOPAMP、ご指定より良いめな、レール・ツー・レールで入出力OKな品、もあったのですが、

最初はご本の通りになぞりたい

という希望のもと、ご指定のものもついでに購入してしまいました。なお、部品類、購入する際には、先にダウンロード版のPDFも見ておいたが良いかもです。ほとんど似たような部品ですが、付録PDF用にも外づけのアナログ回路が必要です。なお、オーディオ用のフィルムコンデンサは在庫に無かったので発注してしまいました。

当方勝手な目論見としては、だいたい以下のスリーステップです。

    1. 最初はご本の通りに実験してみて(ソフトなどそのまま走るはず)デジタル信号処理をしみじみと噛み締める
    2. 動いたら「いろいろ」変更して遊んでみる
    3. 自前の応用に組み込む

いろいろ変更の内容については妄想広がります。

    • 同じArm Cortex-M4搭載でも別機種でやってみる(速度や周辺回路など違うもんね)
    • Mbedでなく、他のOS、例えばFreeRTOSなどでやってみる
    • Arm以外のマイコンでやってみる
    • 浮動小数点処理を止めて、いかにもエンベな雰囲気のガチなやつ(固定小数点処理)にする

そんなにいろいろやり切れるのか?妄想するのは自分の勝手だが。。。

Literature watch returns(27) 数学とプログラミングDVD付録 へ戻る

Literature watch returns(29) トラ技2021.10月号、あれ? に進む