適応フィルタのタップ数と誤差信号収束について

このQ&Aのポイント
  • 適応フィルタのタップ数と誤差信号収束について説明します。
  • 適応フィルタのタップ数と誤差信号の収束には何らかの関係があることが分かりました。
  • タップ数が300の時に誤差信号が最小という結果が得られる現象について、説明をお願いします。
回答を見る
  • ベストアンサー

適応フィルタのタップ数

アクティブな消音システムを構築するため、DSPを用いた適応フィルタを構成しました。 用いたフィルタ係数決定アルゴリズムはfiltered-x LMSアルゴリズムです。 (filtered-xのフィルタは制御音発生器から観測点までの伝達関数です) このとき、ステップサイズパラメータμを5つほど用意して、 その各々に対して適応フィルタのタップ数を600,300,50と変えていきました。 μがある程度大きくなると、出てくる音(騒音と制御音の重ね合わせ)が収束しなくなるのは、 誤差信号e(n)の二乗推定量が収束しないからだというのは分かりました。 しかし、よく分からない現象を観測してしまって困っています。 上記の3つのタップ数の各々(600,300,50)に対して誤差信号e(n)が収束するようなμを用いている時に、 タップ数が多ければ多いほど誤差信号e(n)は小さくなるはずだと思っていたのですが、 実際にはタップ数が300の時にe(n)が最小(つまり最も消音効果がある)という結果を得ました。 サンプリング周期は10kHzなのでタップ数が原因の計算遅延はないはずです。 プログラミングが間違っているという事はない、 その他のパラメータ設定も適切である、 e(n)が収束するまで十分時間待った、 というような前提として、この現象はどう説明されるのでしょうか。

  • 科学
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

600のほうは、局所最適解(ローカルミニマム)に落ちているんでしょう。 タップ数600の最適化を、タップ数300の結果を初期値にして始めればいいのでは。

nikosukeni
質問者

お礼

回答のほうありがとうございます。

関連するQ&A

  • ウィーナーフィルタについて

    ヘイキン著の適応フィルタを読んでいて、 未だに具体的なイメージがわかず、分からないのです。 ウィーナーフィルタをノイズキャンセラなどの 音響に対するフィルタに応用する場合 (1)図の「x(n)」は、雑音なしの信号ですよね?  ヘイキン本では「u(n)」ですが、これは雑音を含むため  混乱します。 (2)図の「所望の信号d(n)」は、室内を通過して  空調の音とか雑音やマルチパスを含んだ信号ですよね?  ヘイキン本では一切の説明はありませんので  不安になります。 (3)図の誤差信号が、ノイズキャンセルした  キレイな信号で、例えるなら耳に入るべき音ですよね?  ヘイキン本では最少、出来ればゼロと書いてあって  やっぱり混乱します。  お忙しい中、誠に恐縮です。ご回答をお願いします。

  • フォトンカウント数の計算について

    レーザレーダで観測距離r=1000mでの受信信号強度P(r)=460[mW]のときの、 1000m地点での1秒当たりのフォトンカウント数Fを求めたいのですが、 F=P(r)/(c×h/λ) = 3.6608e+18 と,とても大きな値になってしまいます。 上記の式は間違っているのでしょうか。 パラメータは下記の通りです。 観測距離 r = 1000[m] 受信信号強度 P(r)=[W] 積算数 M = 680 ゲート時間 d = 6.67[μs] 量子効率 Q = 30[%] お詳しい方よろしくお願い致します。

  • アクティブフィルタについて

    最近フィルタの勉強をしていてHPを調べたり過去ログを見てもよくわからないことがあったので質問します。 やっていること  FPGAから出力されるPWM波形をLPFを通して滑らかなsin波(周波数1kHz)にする。  通すフィルタは1次のRCローパスフィルタと2次アクティブフィルタの2種類。  それぞれのフィルタ出力波形をオシロスコープで観測し、イヤホンでその音を聞き比べる。  ※イヤホンにつなぐときには特に増幅など行っていません  ※アクティブフィルタにはサレンキー型や多重帰還型などの種類があり私は部品数や設計の   容易さからサレンキー型でバターワース特性のLPFを作ったのですが、今回はバターワース   型にするためにQ=0.707で計算して抵抗・容量の値を決めました。  ※フィルタの遮断周波数は1kHzに設定。 質問は次の2点です。 1)フィルタ特性は他にもベッセルやチェビシェフなどがありますが、同じ回路構成でQの値を   変えるだけで違う特性にすることができるのでしょうか?  HPを見てみるとベッセル型が   パルスを扱うのには有効と書いてあり、ベッセル型に変更したいのですがQ=0.577とすると   できると書いてあり、ただ単にQを変更して抵抗・容量を再計算すればよいだけでしょうか?   もし可能なのであればチェビシェフ型などのほかの特性のQの値も教えていただきたいです。 2)1次のLPFを通したものをイヤホンにつなげると音が鳴るのですが2次のLPFを通したものを   イヤホンに入れると音がなりませんでした。出力波形はDC・ACともほぼ同じ波形なのに   音が出る・出ないとなるのはどこに原因があるのでしょう? と、とてもわかりづらい文章になってしまいましたが必要があれば補足します。 どなたか詳しい方、アドバイスお願い致します。

  • SSEからAICやBICを求められるのはなぜ?

    次のようにしてSSE(二乗和誤差)からAICやBICを求められるという記述を見かけましたが納得できません。 AIC= nlog(SSE/n) + 2(k+2) BIC= nlog(SSE/n) + (k+2)log(n) n:観測値数 k:パラメーター数 第1項のSSEは観測値のスケールの影響を受けるように思います。しかし第2項は観測値のスケールの影響を受け内容に見えます。その結果、スケールによって選ばれるモデルが変わってしまうような事が起きると思うのですが問題ないのでしょうか?それともSSEを求めるときに何らかのスケーリングを行うのでしょうか? よろしくお願いします。

  • FIRフィルタ 零点から係数を求める。

    FIRフィルタの係数の求め方がわかりません。 測定した信号から特定次数の高調波をカットするフィルタを 設計したいのですが、 どのように計算したらよいのかわからず、困っています。 ちなみに、タップ数は10と決まっています。 カットしたい高調波は 1次調波・3次調波・5次調波・7次調波・・・ という具合に、4~6こ程度あるので、単にBEFやBPFでは思ったような 特性が得られません。 また、Re-Im軸の単位円上から零点としたいn数の調波の座標(an,bn)を 読み取り、 (x-a0-b0i)(x-a+Bi)(x-a1-b1i)… という式に代入し、xの0~2n+1乗までの係数を求めるという方法も あるようなのですが、こちらもよい特性は得られませんでした。 よろしくお願いします。

  • フィルタ回路の自作

    http://oshiete1.goo.ne.jp/qa3246654.html 一度ここで質問した者です。 オーディオに使われる帯域0~44.1Khでフィルタ回路を使ってイコライザを作りたいのですが、 コイルとキャパシタを組み合わせてバンドパス回路を作ったのですが、 前回の質問の回答を踏まえてこのようなものにしてみました。 http://proxy.f3.ymdb.yahoofs.jp/bc/70d7e27a/bc/%b8%f8%b3%ab/icz.jpg?bc5QtvGBSX045RyV 200Hzと400Hz、残った信号に対してボリュームをつけ、その後アンプへ出力しています。 それぞれではなくひとつのアンプにまとめて出力です。 この回路は機能するでしょうか? 別の質問になりますが、 前の質問でNo.2さんが 『グラフィックイコライザーは、複数の能動素子を含むかなり大規模な回路になります。パッシブ素子数個で簡単に実現できる回路はありません。』 と言っていましたが、この後アンプに出力するつもりなので信号の減衰は気にしなくていいと思ったのは誤りでしょうか? Wikiの記事を見る分だとあくまでパッシブフィルタの欠点としては「周波数の限界」と「信号の減衰」があげられていたので。 http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF あと、コイルとキャパシタの組み合わせだとバンドパスの帯域に誤差がありそうなのですが、実用には耐えうるでしょうか? アクティブフィルタを使うべきでしょうか?

  • FIRフィルタの遅延量補正とIIRフィルタの安定性について教えて頂きた

    FIRフィルタの遅延量補正とIIRフィルタの安定性について教えて頂きたいのですが。  双一次z変換を用いていくつかのIIRフィルタを作る事が出来ました。Scilbが持つIIR関数と比較して同じ結果になっています。IIRフィルタがフィルタ係数によっては不安定=発信したりする、というのはScilab等の結果と同じになる→フィルタ係数も同じ→不安定にならない。と思ってよいのでしょうか?。例えばですが、あるサンプリング周波数の波形データをフィルタする為に、同じサンプリング周波数で作ったImplus波形をIIRフィルタに放り込んで周波数応答を確認したら、実際にフィルタする波形データの最初から最後までその周波数応答でフィルタされると私は理解しているのですが。  私のフィルタを使う用途の場合は、フィルタの計算速度は特に制限は無く、速いに越した事はありませんが得られた結果が正確な事が大切なので、安定性や係数誤差の事を考えるとIIRフィルタではなくFIRフィルタでも構わないのですが、FIRフィルタの場合だとタップ数が多くなるので波形の遅延量が無視出来ません。フィルタを通した波形は次定数fastのレベル波形にして100Hz位で出すとは言え、IIRよりは数秒かコンマ数秒遅延した結果になると思います。そのような場合、遅延量を補正するとしたらどうしたら良いのでしょうか?。個人的にはタップ数が(IIRの場合は次数が)遅延量と思っているのですが。  宜しくお願い致します。

  • FIRフィルタの設計

    FIRの設計に関して、 設計パラメータとしてはカットオフ、減衰量、リップル など挙げられますが、制約が厳しいとタップ数が増えてしまいます。 高次のFIRにするほどロールオフが急で減衰量も理想に近づきますが 逆に、ノイズフロアは悪化(上昇)してしまいました。 これはリップルが増えたことが原因だと考えていますが リップルの増加=ノイズフロアの上昇といまいち結びつきません。 ノイズフロア上昇なので量子化誤差によるホワイトノイズが 関係しているのでしょうか? どなたか詳しい方、ご教授いただけないでしょうか。 説明が分かりづらい場合は補足いたします。 よろしくお願いします。

  • EMアルゴリズムを用いて不完全データ(パラメータ数が未知)問題を解ける

    EMアルゴリズムを用いて不完全データ(パラメータ数が未知)問題を解けるか知りたいのですが。 今、何カ国かの男性の身長データのサンプルがN個混在してあります。ただし、N個のデータはすべて、どの国の男性の身長データなのか分かっていません(不完全データ)。このとき、EMアルゴリズムを用いて、「何カ国のデータが混在しているのか※1」と、「各国の身長の平均値と分散※2」を同時に求めたいのですが、国の数を1,2,3,4,・・・と増加させていったときに、果たして最大尤度が極大値を持つのかどうかが私にはわかりません。どなたかご存知の方がいらっしゃいましたらご教示お願いします。 一般に、パラメータ数(この場合、国の数)が増加すると、最大尤度も増加するといわれておりますが、この問題では、最適なパラメータ数(国の数)が存在するような気がしているのですが、いかがでしょうか。。。 ※1 国の数をmとし、今回はN>>mとします。 ※2 すべての国の男性の身長は正規分布に従うと仮定し、どの国の平均値も同じ値になることはないとします。

  • 大学1年レベルの関数列に関する問題です

    f_n(x)=xn・e^(-xn^2)のとき、[0,1]上でf_nは各点収束するか、一様収束するか?という問題なのですが、私は ロピタルの定理より、各x∈Iに対して、|xn・e^(-xn^2)|→0(n→∞)を得るのでf(x)=0に各点収束する。 また、ある正の数εがあって、sup(f_n(x)-f(x))=1/e>ε(n→∞)より0に一様収束しない。 結局f_n(x)はf(x)=0に各点収束。 としました。しかし lim∫[0,1]f_n(x)=∫[0,1]f(x)=0となりました・・・※ そこで思ったのですが、 f_nがfに[0,1]上一様収束ならば※が成り立つのは明らかですが、各点収束でもなりたつことはあるのでしょうか?もしないのなら上の解答が間違ってることになりますよね・・ どなたか回答よろしくお願いします。