手習ひデジタル信号処理(27) ヒルベルト変換器による周波数シフタその3 本丸ヒルベルト変換

PhasePlotEC
Joseph Halfmoon

今回は「本丸」ヒルベルト変換フィルタ(位相シフタ)を調べて行きたいと思います。前回同様、動作確認済の全体プログラムの中のヒルベルト変換フィルタの出力を外部に出力し、位相特性を観察してみようという試み。ただし、期待されるフィルタの特性はIに対してQがπ/2だけ遅れるというもの。入力に対してでないので測りづらいです。

“手習ひデジタル信号処理(27) ヒルベルト変換器による周波数シフタその3 本丸ヒルベルト変換” の続きを読む

手習ひデジタル信号処理(26) ヒルベルト変換器による周波数シフタその2 DCカットフィルタ

BlockDiag
Joseph Halfmoon

前回は周波数シフタの全貌を実機で観察。今回はその構成要素初段のDCカット・フィルタについて調べてみたいです。フィルタのコードはIIRフィルタを「手習ひ」したときに既に使っていたのですが、忘却の彼方。今回はScilab使ってその特性を調べた後、実機でDCカットフィルタを「外したら」どうなるのか観察してみたいと思います。

“手習ひデジタル信号処理(26) ヒルベルト変換器による周波数シフタその2 DCカットフィルタ” の続きを読む

手習ひデジタル信号処理(25)ヒルベルト変換器による位相シフタ利用の周波数シフタ その1

Result2FFT
Joseph Halfmoon

今回から周波数シフタです。周波数をシフトするのに加法定理を使う。それにはcosとsinの両方が要る。cosをπ/2だけ位相シフトすればsinになる、ということで、位相をシフトするために使うのがヒルベルト変換器であります。分かったような分からぬような。今回は先に実機上で動作確認してから個々の部品を調べていきたいと思います。

“手習ひデジタル信号処理(25)ヒルベルト変換器による位相シフタ利用の周波数シフタ その1” の続きを読む

手習ひデジタル信号処理(24)残響生成器その3、マイクとスピーカつけて残響音を聞いてみる

Reverb_DUT
Joseph Halfmoon

前回アナログ・マイクロフォンを追加、ようやく残響生成器を実際に動かしてみることができるようになりました。スピーカは100円ショップのものを第20回でもつかったスピーカアンプで駆動してみました。確かに残響しています。マイクを叩くと長い地下道でコツコツ歩いているような効果音?つくれました(末尾に音声添付。)

“手習ひデジタル信号処理(24)残響生成器その3、マイクとスピーカつけて残響音を聞いてみる” の続きを読む

手習ひデジタル信号処理(23) 番外編、アナログ・マイクロフォン追加

DFROBOT_Analog_Sound_Sensor
Joseph Halfmoon

前回まで残響生成器の要素部品をScilab使った計算で眺めてきて、ようやく実機で信号処理するかというところになって気づきました。残響させる入力ソース、ぶっちゃけアナログ・マイクロフォンが欲しいです。そこで眠っていた小ボードを発掘しましたが、今度は以前の回の母音合成のフォルマントと比べてみたくなりました。というわけで番外編。

“手習ひデジタル信号処理(23) 番外編、アナログ・マイクロフォン追加” の続きを読む

手習ひデジタル信号処理(22) 残響生成器その2、全域通過フィルタ、Scilabで見る

AllPassBlockDiagram
Joseph Halfmoon

残響生成器の2回目は、2個目の要素部品、全域通過フィルタ(all pass filter)であります。前回同様、要素部品は、Scilab使って「味わってみる」と(実機で個別に動かすのがメンドイだけだろ~。)前回から比べるとXCOSでのブロックダイアグラムが少しこなれてきた?分からんけど。

“手習ひデジタル信号処理(22) 残響生成器その2、全域通過フィルタ、Scilabで見る” の続きを読む

手習ひデジタル信号処理(21) 残響生成器その1、櫛型フィルタ、Scilabで見る

CombFilterImpluseRes
Joseph Halfmoon

今回から残響生成器に入ります。その1回目は要素部品、櫛型フィルタ(comb filter)です。勝手ながら要素部品は Scilab 使って個別に「動かして」みるというスタイルであります。今回は、まずブロック図を描いてインパルス応答の波形を観察。次に例の如くにボード線図も描いてと。大分慣れてきた?

“手習ひデジタル信号処理(21) 残響生成器その1、櫛型フィルタ、Scilabで見る” の続きを読む

手習ひデジタル信号処理(20) 母音音声合成器その5、合成された音を聞く

Joseph Halfmoon

前回、STM32F446REに書き込んだ母音音声合成器の出力波形を、スペクトログラムなどを使って「見て」みました。しかしね、なんです、音なのでこの耳で聞かねば。ということで今回は出力信号の先に大分前に組み立ててあった秋月製のスピーカアンプを接続、「聞いて」みましたぞ。実際の音声ファイルもありです。

“手習ひデジタル信号処理(20) 母音音声合成器その5、合成された音を聞く” の続きを読む

手習ひデジタル信号処理(19) 母音音声合成器その4、STM32F446上実装を「見る」

aiueo_spc4
Joseph Halfmoon

前回まで3回にわたって母音音声合成器の「部品」3つの特性をScilabに計算してもらって眺めてきました。ようやく今回はSTM32F446上で動作確認であります。といっても三上先生のサンプルプログラムそのままなので動かない分けがないです。今回は「発声」された信号をよく「見て」みようの回。

“手習ひデジタル信号処理(19) 母音音声合成器その4、STM32F446上実装を「見る」” の続きを読む

手習ひデジタル信号処理(18) 母音音声合成器その3、高域強調器(Radiator)

Radiator
Joseph Halfmoon

一度道筋がついてしまえば、以下同文方式。Scilab使って特性を調べるのは簡単に思えてきました(本当か?)ターゲットは『母音音声合成器』第3の要素「高域強調器」であります。こいつは「口からの放射」に対応とのこと。手習ひさせていただいております教科書どおりの特性が計算できればOKっと。

“手習ひデジタル信号処理(18) 母音音声合成器その3、高域強調器(Radiator)” の続きを読む

手習ひデジタル信号処理(17) 母音音声合成器その2、共振器(Resonator)

ResonatorMagBode
Joseph Halfmoon

前回に引き続き、課題『母音の音声合成器』を手習ひしてまいりたいと思います。今回は「声道に対応する共振器」であります。今回もマイコン上での実習はお休みで、Scilab使って共振器の特性を調べてみたいと思います。Scilab使ってとは言うものの、Scilab素人の私には過ぎたる野望か。

“手習ひデジタル信号処理(17) 母音音声合成器その2、共振器(Resonator)” の続きを読む

手習ひデジタル信号処理(16) 母音音声合成器その1、Rosenberg波

RosenbergSAMPLE
Joseph Halfmoon

三上直樹先生著、工学社『「Armマイコン」プログラムで学ぶデジタル信号処理』を勝手に手習ひさせていただいておりますが、今回ついに「応用編」に突入。最初の課題は母音の音声合成器ぞなもし。多少は背景知識も取得すべく、今回はマイコン上での実習は無し。代わりにScilab使って波形を観察してみます。 “手習ひデジタル信号処理(16) 母音音声合成器その1、Rosenberg波” の続きを読む

手習ひデジタル信号処理(15) STM32F446、IIRフィルタその4、継続型Class

FAIL_Bode
Joseph Halfmoon

前回と今回は算法的にはまったく同じ、その差はソフトウエア部品として使い易いようにクラス化するところだけ。だったら簡単じゃん、と甘くみて例のごとくにハマりました。クラス化する「エレガントな」書き方を学ぶべく、1行1行手入力したら間違えてました。ボーっとして入力しているからだ。

“手習ひデジタル信号処理(15) STM32F446、IIRフィルタその4、継続型Class” の続きを読む

手習ひデジタル信号処理(14) STM32F446、IIRフィルタその3、継続型

IIRdut
Joseph Halfmoon

前回は同じ構成のIIRフィルタの計算をFloat型からDouble型にするだけで問題が消える件を勉強しました。今回はFloat型のままでOKという話。だったら最初から言ってよ、とは言わず、一歩一歩手習ひいたしとうございます。なぜOKになるのか、ブロックダイアグラムを見ればどこが違うかは分かりまする。でも何故?

“手習ひデジタル信号処理(14) STM32F446、IIRフィルタその3、継続型” の続きを読む