まるもの雑記

なにか作ったりとかゲームとか。

デジタルフィルタ

FFTとフィルタリング2

内容は以前書いたものと同じですが 前回LPFだけだったのでちょっとまとめます。 条件 入力はFs=48kHz f=1kHzの矩形波 これにFFTをかけて特定の周波数を除去したあとに 逆フーリエ変換をかけて波形の確認をします。 f0を振って波形を確認。 LPF f0=1000のとき…

2次元FFTとエッジ検出

どうもエッジを検出するには フーリエ変換して周波数軸で低周波を削除したあとに 逆変換して隣のピクセルと正負が反転しているところが エッジにみなせるように思えてきた。 理論を調べるのはつまらないのであとでやるとして といあえず実験してみます。 元…

二次元FFTとフィルタリング

二次元FFTは画像を画素の行列にして 縦にFFTしたあとに横にFFTすればいい。 戻す場合は横に逆FFTしてから縦に逆FFT これで元にもどりそうだということは前回できたので 周波数軸で操作して遊んでみます。 元画像 例によってこれ。 LPF 中心付近が高周波なの…

二次元FFT2

ゲームタイムが終わったのでつづき。 先ほどの画像を ↓方向でFFTかけたあとに→方向でFFTしてみます。 ほぼ真っ白。 よくわからない。 全ピクセルを調べて最高値が255になるようにスケーリングしてみます。 真っ黒。 でもよく見ると一番左上だけ白い。 1000倍…

二次元FFT

目的はとくにないのですが 途中からこれがやってみたくていろいろ遊んでいました。 とりあえずいつもの元画像。 これが640x480なのでFFTをかけるには4^nの数にする必要があります。 周期関数という前提があるので周りの色は同じ色がよさそう。 ということで…

FFTとフィルタリング

FFTが時間軸の信号を周波数軸に変換するのであれば FFTしたあとの信号から特定の周波数を取り除くと フィルターとして動作するんじゃないだろうか?? たしか教科書とか読むとするって書いてあるんだけど 読んでも理解できないのでやってみることにします。 …

音声入力とFFT

絵に描いたような三日坊主の理由は 買ったゲームが届いたのでそっちに集中してたからです。 さて 先日FFTのモジュールができたので マイク入力の音声信号をFFTしてみることにします。 条件 サンプリング周波数はDVD同等の48kHz ビット深度は16bit 24bitでや…

画像のエッジ検出2

めげずにもうちょっと調整 このあたりが限界か!? というかはてなブログすごーく重い。 画像乗せられないんだろうか。

画像のエッジ検出

前回ハイパスフィルタを両方向からかけると エッジ検出が出来そうなことがわかったので ちょっとその方向で実験しました。 方針 1.横方向に左からHPFをかける 2.横方向に右からHPFをかける 3.隣のピクセルと比べて正負が反転してたらエッジとみなす 4…

IIRフィルタと位相のずれ2

前回画像にフィルタをかけていたら →のあと←にかけると同じになったように見えたので 一応確認してみることしました。 フィルタ 例によってこいつを こいつにかけてみます。 結果 まず順方向と逆方向のグラフ 赤い方はフィルターのレジスタをリセットしたあ…

IIRフィルタと位相のずれ

2次の伝達関数を持つローパスフィルタを作った場合 位相特性はf0(=カットオフとか遮断周波数)のときをだいたい90度にして 180度まで回ります。 と大学の教科書に書いてありました。 位相の実測は難しそうなのでやりません。 180度というのは振幅の半分ず…

IIRフィルタと画像

作ったフィルタを画像にかけてみます。 元画像 これを素材にします。 よく見るといろいろ写っていますがあまり気にしない。 1次元データなので赤青緑の成分に分けて その後3枚の絵を重ねます。 赤 青 緑 一見すると単色化して色を付けただけのように見えます…

FFTと逆変換

逆変換はFFT後の値に下記処理を行う (とWikiに書いてある) ・各値の複素共役をとる ・FFTをかける ・出力の複素共役を取ってn(要素数)で割る。 のでやってみる。 前回のFFT結果 逆変換後の波形と元の波形の比較 完全に一致する。 虚数成分も微妙に値を持って…

FFTとDFTの比較

フーリエ変換の時間軸を離散化したものが 離散フーリエ変換(discrete fourier transform)で その対象性を利用して早く計算できるようにしたものが 工学的には非常に良く見る高速フーリエ変換(Fast Fourier Transform)。 理屈はいまいち良くわかっていません…

過渡応答

LPFの過渡応答を確認。 教科書どおりなので動作は正しそうです。 LPF 2次のローパスフィルタを作ってQの値を変えてみます。 Qが1/√2を超えるとゲインを持ちますが 矩形波を入力するとQ=0.7でもオーバーシュートを持つようです。 HPF 続いてHPF 矩形波を入れ…

フィルタの実装

ゲインと位相を出したいのですが 理論値の計算がちょっとむずかしそうなので 入力したサイン波と出力したサイン波のピーク値を比べて ゲインを実測することにしました。 http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt をそのまま実装。 まずはLPF そ…

グラフ

何はともあれグラフが見れないと話にならないので作ります。 こいつらを吐けるようにしました。 見えないと何がなんだかわからない。 まずはサイン波 ちょっとうねうねしてるけどあまり細かいところは気にしない。 次は方形波 動作はよさげ。 波形表示そのも…

デジタルフィルタの備忘録

最近仕事と趣味をかねてフィルタの勉強中なので まずはここから ■出展 ここに作り方が書いてある。 http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt 2次のフィルタについてはここに書いてあることを実装すればそのままできる。 というか出来た。 出力…