手習ひデジタル信号処理(129) Scilab、音源(救急車)の周波数を求めてみる、その1

FFT1
Joseph Halfmoon

前回「実験材料の音源」として救急車のピーポー音(サイレン)を作製。遠くから近づく様子が聞き取れて悦に入りました。さてその処理の第一歩として音源の周波数を求めたい、と。FFTかけてグラフ上で読み取れば一目瞭然なんでありますが、関数の処理結果で数値として取得したいです。とりあえずの関数作ってみたけれども機能不足デス。 “手習ひデジタル信号処理(129) Scilab、音源(救急車)の周波数を求めてみる、その1” の続きを読む

手習ひデジタル信号処理(128) Scilab、音源(救急車)、ドップラー効果、距離減衰有

ssAmbMapSound0
Joseph Halfmoon

信号波形を処理した結果をグラフで見るのも良いのですが「実体験」したいです。それには音にして耳で聞くという方法もありかと。音声データの入出力は第96回第97回で練習済。今回は処理対象の「音源」として救急車のピーポー音(サイレン)を作製してみましたぞ。一応、ドップラー効果あり、距離減衰あり。なんちゃってだけど。 “手習ひデジタル信号処理(128) Scilab、音源(救急車)、ドップラー効果、距離減衰有” の続きを読む

手習ひデジタル信号処理(127) Scilab、filter関数で時間波形をBPフィルタ

iirBpfGainPlot
Joseph Halfmoon

前回、実際に時間波形に対してフィルタ処理を行うfilter関数の内部「相当のハズの」ブロック図を描きました。お惚け老人的には腑に落ちた感じ(ホントか?)今回は実際に「時間波形」をIIRフィルタしてみます。フィルタ係数は「アナログフィルタ」との関係性がつけやすいと思われる iir() 関数(第123回)で求めてみます。
“手習ひデジタル信号処理(127) Scilab、filter関数で時間波形をBPフィルタ” の続きを読む

手習ひデジタル信号処理(126) FIR、IIR、直接形、転置型、継続形ブロックダイアグラム

IIR2transBLK
Joseph Halfmoon

前回までで、Scilab上で使用できるFIR、IIRフィルタの設計関数を一通り「なでた」感じがします。そこで今回からは求めた係数を使って実際に時間波形にフィルタを適用するfilter関数をと考えました。しかし、フィルタ関数のブロックダイアグラムを考えたら引っかかりました。今回は「ブロックダイアグラム祭り」だあ。

“手習ひデジタル信号処理(126) FIR、IIR、直接形、転置型、継続形ブロックダイアグラム” の続きを読む

手習ひデジタル信号処理(125) Scilab、yulewalkでIIRフィルタを設計

yulewalkFreqRes
Joseph Halfmoon

前回前々回と練習してきたIIRフィルタ設計関数ですが、今回はその3回目。練習するのはyulewalk()関数です。「最小二乗フィルタを設計」とHELPページのタイトルに掲げられてますが、それをするのに使っているのがYule-Walker方程式みたいです。またメンドクさそうな奴を関数名に頂いておる設計関数だよ。
“手習ひデジタル信号処理(125) Scilab、yulewalkでIIRフィルタを設計” の続きを読む

手習ひデジタル信号処理(124) Scilab、eqiirでIIRフィルタを設計

LPF_Fc2_Fc3_01_001
Joseph Halfmoon

前回はIIRフィルタの設計に「使えそうな」設計関数を列挙。その上で以前に使用したことのあるiir()関数をおさらいしてみました。アナログフィルタを双一次変換して離散的なデジタルフィルタにする関数ね。今回はeqiir()関数を練習してみます。歴史と伝統?の計算アルゴリズムsyredi関数のフロントエンドみたいです。 “手習ひデジタル信号処理(124) Scilab、eqiirでIIRフィルタを設計” の続きを読む

手習ひデジタル信号処理(123) Scilab、IIRフィルタの設計関数、おさらい

BilinearTrransform
Joseph Halfmoon

前回まででScilabに存在するFIRフィルタ設計用の「代表的と思われる」関数4種を手習ひしてみました。FIRをやった(やっつけた)のであればIIRをやらないという分けにはいかんでしょうな。まずは設計関数を列挙。でもね、IIRフィルタの設計関数、過去回でやってみているのです。第116回ね。まずはそこのおさらいから。
“手習ひデジタル信号処理(123) Scilab、IIRフィルタの設計関数、おさらい” の続きを読む

手習ひデジタル信号処理(122) Scilab、eqfirでFIRフィルタを設計

EQFIR_FFilt_WFIR_EC
Joseph Halfmoon

過去3回、ScilabのFIRフィルタ設計関数3種について同条件(33次、ローパス、正規化カットオフ周波数0.2Hz)でフィルタ係数を求めてきました。今回は第4の設計関数 eqfir を使用してみます。eqfirは「ミニマックス近似」ということなので、インパルス応答を近似した多項式の一番良さげなやつで求めたってこと?
“手習ひデジタル信号処理(122) Scilab、eqfirでFIRフィルタを設計” の続きを読む

手習ひデジタル信号処理(121) Scilab、ffiltでFIRフィルタを設計

FFilt_WFIR_EC
Joseph Halfmoon

前回は第2のFIRフィルタ設計関数wfirでFIRフィルタを作製してみました。GUI(wfir_gui)はイマイチ(個人の感想です)だけれども「フツーに便利」な感じっす。今回は第3のFIRフィルタ設計関数ffilt関数を使ってみます。こいつが一番シンプル?な関数なんだけれども秘密?、謎?も多い(個人の感想です。)

“手習ひデジタル信号処理(121) Scilab、ffiltでFIRフィルタを設計” の続きを読む

手習ひデジタル信号処理(120) Scilab、wfirでFIRフィルタを設計

LPFhamming
Joseph Halfmoon

前回、周波数標本法というアルゴリズムでFIRフィルタを設計できるfsfirlin関数の出力でフィルタできることを確かめました。今回はウインドウィング法で線形位相のFIRフィルタを設計できるwfir関数を使ってみます。この関数は「推し」みたい。Scilabには珍しくGUIも完備してます。手放しで喜べないのだけれども。

“手習ひデジタル信号処理(120) Scilab、wfirでFIRフィルタを設計” の続きを読む

手習ひデジタル信号処理(119) Scilab、fsfirlinのLPFでフィルタしてみる

Wave1000EC
Joseph Halfmoon

前回、FIRフィルタを作ろうとしたら、いくつも設計用の関数が並立?していることに気づきました。その中でfsfirlin関数というものの設計例通りに「手習ひ」しバンドパスフィルタらしきものを生成しました。しかし、実際に信号をフィルタしてません。信号処理素人の老人は実際の波形に適用してみないと納得いかんね。
“手習ひデジタル信号処理(119) Scilab、fsfirlinのLPFでフィルタしてみる” の続きを読む

手習ひデジタル信号処理(118) Scilab、FIRフィルタの設計関数、どれをどうする?

fig001_plot_hst
Joseph Halfmoon

前回までポンコツなベースバンドフィルタ例のアナログ・フィルタの場合を計算するためにIIRフィルタにまで立ち入って大分遠回りをしました。今回からは「ポンコツでない」例を計算するためにFIRフィルタを使ってみたいと思います。しかし信号処理素人の老人はFIRフィルタの設計などできる気がしません。どうしたらよいの?
“手習ひデジタル信号処理(118) Scilab、FIRフィルタの設計関数、どれをどうする?” の続きを読む

手習ひデジタル信号処理(117) Scilab、Analog LPFでベースバンドフィルタ

EYE_DIAG_Filt
Joseph Halfmoon

ASK変調するベースバンド信号をフィルタリングして変調後のサイドローブを落とす実験のポンコツ例としてRC(抵抗とコンデンサで作るフィルタ。レイズド・コサインではないです)フィルタを計算しようとして前回前々回とかなり回り道をしました。ようやく計算できるようになったので今回はポンコツなベースバンドフィルタしてみます。
“手習ひデジタル信号処理(117) Scilab、Analog LPFでベースバンドフィルタ” の続きを読む

手習ひデジタル信号処理(116) Scilab、Analog LPF等価なIIRフィルタ作成

FilterMagPlotsEC
Joseph Halfmoon

前回はサイドローブを制限しないのマズいだろ~という中、ポンコツな例ということでRCフィルタを計算することに。それがScilab上でどうやてRCフィルタ(LPF)等価な特性を計算?という疑問になり、何とか計算。しかし実際にデジタル数列をフィルタ処理するにはデジタルフィルタ化せんといかんと。流れ流れて今回はiir関数っす。。

“手習ひデジタル信号処理(116) Scilab、Analog LPF等価なIIRフィルタ作成” の続きを読む