痔になりやすい生活習慣とは?

現在デジタルフィルタに関して勉強中の者です。

当初周波数特性しか意識せずFIRやIIR等を使用していたのですが、後に位相特性がある事に気づきました。お恥ずかしい話です。

狙った周波数成分を除去し、且つ位相ずれがないフィルタをご存知の方がいらっしゃったら教えて頂けますでしょうか。

自分でできる限り調べMATLABのfiltfilt関数が一番近いのかなと思っています。

どうぞよろしくお願いします。

A 回答 (4件)

 FIRやIIRにこだわる理由があるのならこの回答は無視して下さい。


 デジタル信号処理の最も初歩の話ですが、時間軸tの反転に対して対称な任意の実関数f(t)を信号に畳み込むフィルタならば、位相ずれは(ゲインが負になるのを「180°の位相ずれ」とは呼ばないことにするなら)生じ得ません。なぜなら、時間軸tの反転に対して対称な関数f(t)のフーリエ変換は実関数であり、位相成分を全く含まないからです。
    • good
    • 0

>「タップ係数をセンターに対して・・・」は178tallさんが以前質問番号:2704666に対して回答した手法と理解して良いでしょうか。

......

(どんな回答だったのか失念)
下記項目をご覧ください。
  ↓
 http://www.sound.sie.dendai.ac.jp/dsp/Text/PDF/C …
 3-4 直線位相特性をもつFIRフィルタ


>MATLABのfiltfilt関数のようなもの .....

(MATLAB をキープしてないもんで)
多分、それです。
  ↓
http://www.cybernet.co.jp/matlab/products/produc …
>FIR および IIR フィルタ設計
全域通過 IIR フィルタ
任意の群遅延特性を持つ全域通過IIRフィルタにより、通過帯域においてほぼ線形となるような位相応答を獲得するため、他の IIR フィルタの群遅延を補償することが可能
 
    • good
    • 0

「位相ずれがないフィルタ」つまりゼロ移相は、スルー特性(つまり、フィルタ無し)でしか実現不能。



「位相ひずみがないフィルタ」つまり直線位相特性なら、実現可能。
・FIR : タップ係数をセンターに対して左右対称に設定すれば、直線位相特性。
 遮断特性が急峻だと、次数が増大する。
・IIR : フィルタ+位相等化器で近似的に直線位相特性。
 遮断特性が急峻でも、FIR ほど次数は増大せず。
 
    • good
    • 1
この回答へのお礼

178tallさん、reimanさん回答ありがとうございます。

・「タップ係数をセンターに対して・・・」は178tallさんが以前質問番号:2704666に対して回答した手法と理解して良いでしょうか。

・「フィルタ+位相等化器で近似的に直線位相特性」、とありますがこの手法を具体的に記載した資料等を教えては頂けないでしょうか。回答を頂いてからキーワードを元に調べてはいるのですが、この手法自体をちゃんと理解していない為、適切な資料かそうでないかが判断できません。MATLABのfiltfilt関数のようなものだと思ってはいるのですが・・・。

よろしくお願い致します。

お礼日時:2009/07/14 23:31

周波数に対して直線的に位相がずれる群遅延のフィルタは


FIRフィルタでしか構成できません。
あるタップまたは1つのタップとその隣のタップを中心に対称位置にあるフィルタ係数を互いに等しくすると直線位相であって全く位相歪みのないフィルタができます。
この構成以外だと何れも多かれ少なかれ位相歪みを生じます。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELにてローパスフィルタを作成する

実験の測定データをEXCELでデータ整理しようと考えております。データ整理のためローパスフィルタをかけたいのですが、具体的にどういった式、もしくはEXCELの機能を使用したらいいのでしょうか?デジタルフィルタが良く分からないのでよろしくお願いします。
ちなみにローパスフィルタは1000Hzをかけたいです。

Aベストアンサー

時系列データの処理ならば

OutputData(n+1) = OutputData(n) + (InputData(n+1) - OutputData(n)) * dt / T

dt:データのサンプリング間隔
T:フィルタの時定数 1/2πf
f:カットオフ周波数
n,n+1:それぞれn個目,n+1個目のデータをしめす。

でいけると思いますが、一次のパッシブなんで効果が薄いかも。(普通はベッセルかけるんでしょうけど、そこまではわからない)

Qエクセルを使用してデジタルフィルタのハイパスフィルタ・ローパスフィルタの掛け方を教えてください。

タイトルどおりなのですが、エクセルを使用してデジタルフィルタのハイパスフィルタ・ローパスフィルタをかけたいです。

ご存知の方、よろしくお願いします。

Aベストアンサー

わたしはわかりませんが、こんなページがありました。

エクセルを使用してデジタルフィルタのハイパスフィルタ・ローパスフィルタの掛け方を教えてください。
出来ましたらそのまま使える式をお願いいたします。

http://q.hatena.ne.jp/1204546061

Qオールパスフィルタの振幅と位相の周波数特性について

オールパスフィルタの回路では、振幅は周波数によらず一定であり位相だけが周波数によって変化するということは知識としては分かるのですが、そのようになることを示す式を一般的なオールパスフィルタの回路図から導くことができませんでした。いろいろ調べたのですが詳しい解説が載っていなかったのでどなたか教えてください。お願いいたします。

Aベストアンサー

オールパスフィルタの伝達関数は、複素周波数平面(s=σ+jω)の左半平面に極が、右半平面に零が、虚軸
をはさみ対称にあるというのが特徴。回路形式や用途は多岐にわたります。

わかり易いWEBページは見つけられませんでしたが、
 http://pdfserv.maxim-ic.com/jp/an/A1610J.pdf
のは、伝達関数が
 H(s)=(s-a)/(s+a)
のオールパスフィルタで、実数 a の極・零が一対の例です。

極・零が共役複素数の一対の場合は、
 H(s)=(s^2-bs+c)/(s^2+bs+c)

一般には、上記した伝達関数の積形式になります。
s=jωにおいて、絶対値が1、位相が周波数特性をもつことを確かめてください。

Q原波形のノイズ除去方法(FFT、逆FFT)

始めに、僕は数値解析等にはかなりの未熟者です。
今、微量な電流を拾ってそれを200倍に増幅した原波形があるのですが、それには多くのノイズがはいってしまい見にくいんです。それでそのノイズを除去したいのです。
今考えているのはFFTをかけてでてきた周波数を逆FFTを行いノイズを除去しようと考えています。もし他に簡単にノイズを除去できる方法があれば教えていただきたいのですが。
今、自分のなりの考えで行うとしてもその処理の仕方がまったくわかりません。どのソフトを使うのが最適なのかがわかりません。こういう場合で使いやすいソフトってありますか?

わかりにくい説明ではありますが、分かる人がいましたらアドバイスください。

Aベストアンサー

No.2です。

画面全体がノイズだらけになるとしたらデータの処理だけで
ノイズを除去する事は難しいかもしれません。
データの再取得が可能であるならば再取得してください。
その際、あらかじめアナログ回路部分でノイズを除去しておいてデータを取得するようにしてください。
データのサンプリング時にエイリアシングが発生して信号にかぶさった場合には後処理でノイズを除去する事は不可能です。


フィルタについてはアナログ回路で実現するもの、AD変換後にデジタル回路で実現するもの、データ取得後にソフトウエアで行うものなどが有ります。

>多少信号のでている時間、大きさに誤差が出てきてしまう
とのことですが、フィルタを通した場合一般的には時間遅れが生じます。
どれだけ遅れるかはフィルタが決まれば決定されるのでその分補正すれば良いです。
大きさについては適切に設計されていれば大きくずれる事はありませんが
フィルタの種類によっては通過域でゲインが変化しないものと多少の変化があるものとが有るので用途によって使い分けします。

フィルタ処理の具体例を挙げます。
No.3さんの計算と同じものです。
/* FIRフィルタのサンプル */
#define DATA_SZ1000 /* データの個数 */
#define KN2
#define KEISU_SZ(2*KN+1) /* フィルタの係数の個数 */

float input[DATA_SZ]; /* 入力データ 適当な方法で初期化すること */
float output[DATA_SZ]; /* 出力データ */
float keisu[KEISU_SZ] = {1.0/KEISU_SZ} ; /* 移動平均フィルタの場合 */

void fir( float *in, float *out, float *ks ){
int i,j ;
float x;

  for( i=KN ; i<DATA_SZ-KN ; i++ )
    {
      x= 0 ;
      for( j=-KN : j<=KN ; j++ )
      {
         x += in[i+j] * ks[j+KN] ;
      }
      out[i] = x ;
   }
} /* インデントを付けるため全角スペースを使用しています */

もっと具体的には
入力データ d0,d1,d2,d3,d4,d5,d6,d7
係数データ k0,k1,k2,k3,k4
出力データ ______x2______  上下をそれぞれ掛け算したものの合計
x2 = ( d0*k0 + d1*k1 + d2*k2 + d3*k3 + d4*k4 )

出力のx3を求める場合は入力データを1個左にシフトします。
入力データ d1,d2,d3,d4,d5,d6,d7
係数データ k0,k1,k2,k3,k4
出力データ ______x3______ 
x3 = ( d1*k0 + d2*k1 + d3*k2 + d4*k3 + d5*k4 )

これから分かるように x0,x1 を求めるにはデータが足りません。
どこかから(例えばd0で置き換える)データを持ってくるか、無いものとするしかありません。

係数の数を増やせばより高性能なフィルタとすることが出来ます。
係数を決める、つまりはフィルタを設計する方法の説明はここでは難しいです。
次数がそれほど大きくなけれはエクセルでも計算できます。

No.2です。

画面全体がノイズだらけになるとしたらデータの処理だけで
ノイズを除去する事は難しいかもしれません。
データの再取得が可能であるならば再取得してください。
その際、あらかじめアナログ回路部分でノイズを除去しておいてデータを取得するようにしてください。
データのサンプリング時にエイリアシングが発生して信号にかぶさった場合には後処理でノイズを除去する事は不可能です。


フィルタについてはアナログ回路で実現するもの、AD変換後にデジタル回路で実現するもの、データ取得...続きを読む

Qカットオフ周波数とは何ですか?

ウィキペディアに以下のように書いてました。

遮断周波数(しゃだんしゅうはすう)またはカットオフ周波数(英: Cutoff frequency)とは、物理学や電気工学におけるシステム応答の限界であり、それを超えると入力されたエネルギーは減衰したり反射したりする。典型例として次のような定義がある。
電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
導波管で伝送可能な最低周波数(あるいは最大波長)。
遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。


ですがよくわかりません。
わかりやすく言うとどういったことなのですか?

Aベストアンサー

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です。



電子回路の遮断周波数の場合
-3dB はエネルギー量にして1/2である事を意味します。
つまり、-3dBなるカットオフ周波数とは

「エネルギーの半分以上が通過するといえる」

「エネルギーの半分以上が遮断されるといえる」
の境目です。

>カットオフ周波数は影響がないと考える周波数のことでよろしいでしょうか?
いいえ
例えば高い周波数を通すフィルタがあるとして、カットオフ周波数が1000Hzの場合
1010Hzだと51%通過
1000Hzだと50%通過
990Hzだと49%通過
というようなものをイメージすると解り易いかも。

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です...続きを読む

Q理想的なフィルタの位相特性

ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタを実験で実際にくみ、利得や位相特性を実際に読み取りグラフなどにしました。
~位相特性についてて~
入力と出力で位相差が生じて、通過域においては位相差は小さく
阻止域においては位相差は大きくなっていました。

僕の考察では、理想的なフィルタの
通過域において位相差は0[deg]
阻止域において位相差は180[deg]
と考察したんですが間違っているでしょうか。

しかし、直感的に答えただけで根拠がありません。
位相差が生じると出力が弱まる性質があるのでしょうか

どなたかヒントだけでもいいんで教えてください><

Aベストアンサー

>理想的なフィルタの位相特性

(1) 理想的なフィルタの位相特性 = 望ましい「フィルタの位相特性」という意味なら、「フィルタで付加される
位相量(移相)」は少ないに越したことはありません。しかし、フィルタの減衰量を大きくしていくと、移相は増大
するのを避けられません。

(2) 理想的なフィルタの位相特性 = 「理想フィルタの位相特性」という意味なら、遮断帯域に近くにつれて移相
の傾斜が急峻になります。

たとえば、下記ページ参照。
 http://www.national.com/JPN/an/AN/AN-779.pdf

QIIRフィルタとFIRフィルタ

無限インパルス応答(IIR)フィルタと有限インパルス応答(FIR)フィルタとはアナログでいう、バンドパスフィルタやローパスフィルタ、ハイパスフィルタのデジタル版みたいなものであることは分かるのですが、
無限、有限というのは何を表しているのでしょうか?
Wikipediaなどに解説はしてあるのですが、どうしても理解することが出来ません。
どなたか易しく説明して頂けないでしょうか?

Aベストアンサー

> つまり、例えば、1秒間だけのパルスに対してフィルタをかける場合、

元の信号の長さは関係ありません。
フィルタの次数が「1秒分」だったら、
入力信号が1秒だろうと10秒だろうと0.1秒だろうと、

> FIRであればパルスが終わった1秒後には信号は完全になくなる
ということになります。ただし、次数が1秒のフィルタなら「1秒後以降は無くなっている」のは保証されますが、場合によっては1秒より短い時間で無くなる可能性もあります。それはフィルタのパラメータ次第。

> IIRでは、フィルタ自体がそのパルスの残像を出力し続け、永遠にそのパルスが出力される
そういう場合も「あり得る」のがIIRです。実際にそうなるかどうかはフィルタのパラメータ次第です。
(で、先ほどの回答にも書きましたが、IIRでも、実用上は、減衰してそのうち影響が無くなるようなパラメータを設定するのが普通です。)

QFIRフィルタ タップ数の求め方

インパルス応答から振幅特性を求めて、フィルタのタップ数を求めたいのですが、どのように算出するかの手法も計算式もわかりません。どなたか助けてください。宜しくお願いいたします。

Aベストアンサー

>このインパルス応答のピークとディップの数そのものがタップ数であると
>解釈してもよろしいのでしょうか?
時間領域ならOKですが、FFTしたのなら駄目です。
時間領域のインパルス応答が得られているのに、
わざわざFFTする理由は何でしょうか?

Qn次のフィルタについて

現在電子回路の学習をしております。

フィルタにはRCフィルタやLCフィルタなどがありますが、「2次フィルタ」などの「n次」の部分はどういう意味なんでしょうか?
単純に接続されているフィルタの数かと思ったのですが違うようです。

また、RCフィルタとLCフィルタではどちらでもLPFが作れますが、どういう違いがあるのでしょうか?

よろしくお願いします。

Aベストアンサー

>つまり20n dB/decadeのnがフィルタの次数と考えて問題ないでしょうか?

OK です。

バタワース伝達関数の場合の利得 G(dB) は、
 G = -10*log(1+(f/fc)^2n}
なので、f/fc が充分大なら、
 G≒ -20n*log(f/fc)
とみなせるのです。
  

QFFTによるフィルタの可能性について

はじめまして、信号処理については初心者です。教えていただけると幸いです。

ソフト処理でディジタルフィルタを作成したいと思っています。
リアルタイム処理が最終目標です。
IIRとかFIRとかの手法がありますが、FFTによるフィルタリングの可能性はあるのか知りたいです。

エクセルを用いて、模擬的に作った方形波をFFT演算して、
その結果の高い周波数部分を0にして逆FFTすると、綺麗に高調波が除去されていました。
この方法でのフィルタリングは実現可能なものと考えてよいのでしょうか?

FFT処理では、エクセルの結果を見る限り、(当たり前ですが)遮断周波数でスパッと切れた波形が得られています(遮断周波数以上の振幅は0になる)。
一方、フィルタの本などでは、振幅減衰は1次で-20dB/dec、2次で-40dB/decと書かれており、
物理法則上そうなるものと思っていました。
FFTを利用したフィルタリング(遮断周波数以上の振幅は0)というのは、
何か原理的に(物の理として)おかしいところはないのか、不安に思っています。

また、電気系の雑誌にはIIRフィルタ等の使用について書かれている記事を見受けますが、
FFTフィルタリングが可能だとすれば、こちらの方が理想的なフィルタが得られることになります。
何か問題があってFFTフィルタリングが採用されていないと思いますが、どのような問題を秘めているのでしょうか。
(FFTフィルタが理想なのに、IIRフィルタが使用される理由は?)

上にも記載しましたが、将来的には高速マイコン(DSP,FPU付き)を使用してリアルタイム的な処理を行いたいと考えています(サンプリング周波数は16kHz程度です)。
FFTフィルタリングの設計の肝、IIR(FIR)フィルタとの使い分けについても、ご教示いただけると幸いです。

どうぞよろしくお願いいたします。

はじめまして、信号処理については初心者です。教えていただけると幸いです。

ソフト処理でディジタルフィルタを作成したいと思っています。
リアルタイム処理が最終目標です。
IIRとかFIRとかの手法がありますが、FFTによるフィルタリングの可能性はあるのか知りたいです。

エクセルを用いて、模擬的に作った方形波をFFT演算して、
その結果の高い周波数部分を0にして逆FFTすると、綺麗に高調波が除去されていました。
この方法でのフィルタリングは実現可能なものと考えてよいのでしょうか?

FFT処理では、エ...続きを読む

Aベストアンサー

>FFT結果の各ポイントの振幅は変えずに、位相だけを変更することも、やはり不連続が生じたりして無理があるのでしょうか?
>(例えばFFT後のデータで、1kHzの周波数成分の位相を45度進めて、3kHzの成分の位相は15度遅らせて、逆FFTして出力するといった処理)
>(フェイズシフターというのでしょうか)

一般的な信号入力を考えると、不連続点が生じると思われます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング