• 締切済み

三角波の除去

三角波にのった信号成分だけをうまく取り出す方法は無いでしょうか? 信号成分は、正弦波に近く、三角波の100~1000倍程度の周波数で、振幅が、三角波振幅の1%程度しかありません。 信号である正弦波の数を(FFTを使わず)カウンタなどでカウントしたいのですが、 OPアンプを用いて2回微分した信号をみると、三角波の頂点付近の三角波成分が除去しきれていません。 よろしくお願いします。

みんなの回答

回答No.3

素人なんであれなんですが。 三角波ではなくへんてこな形の波なのですが、 同様な問題を解いたことがあります。 リアルタイム性は重要ではない用途でしたので、 DSPを用いてデジタルフィルタを用いて、 問題の波の整数倍の波をすべて除去することで 対応しました。 筋電図や脳波の測定、地震による電位変化の際に 50/60Hzのノイズを取るのに 使われているフィルタの定数を変えただけです。 デジタルフィルタの本を参照することをお勧めします。

tahoe
質問者

お礼

ありがとうございます。 DSPと同様に 幾何学的にキャンセルを試みたのですが、 あまり効果がありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

信号周波数の付近に三角波の高調波が来ているのであれば、信号と三角波高調波と区別できないので、信号が十分でない限りフィルタでもFFTでも難しいと思います。 私が思いつくのは、次のようなことです。 (1)もしその三角波が完全に一定したものであれば、引き算ができませんか。 つまり、振幅、周波数、波形がはっきりわかっている三角波なら、それを回路的に再生し、再生した三角波を入力波形から引く(差動にする)。 (2)その三角波か信号の周波数を選べるのであれば、次のどっちか。 (2-1)三角波の高調波の位置に信号周波数が来ないようにする。信号周波数だけを通すような超狭帯域のフィルタを通す。ただ、きわめて高いQになるので、信号もリンギングを起こして波を数えるということは難しいと思いますが。 (2-2)三角波の基本周波数を徹底的にさげて信号周波数近辺の高調波成分を徹底的に減らす。

tahoe
質問者

お礼

お返事ありがとうございます。 (1)の引き算に関しては、すでにトライしたことがあります。 結果としては、 信号がのった三角波と参照用の三角波に存在するノイズ成分が見かけ上2倍になってしまい、 それだけだとうまくいっていません。 SNでいうと2回微分のほうが良好のようです。 (2)については、信号成分の周波数が三角波の周波数の定数倍ですので、効果はないようです。 ただ、高周波ノイズは分離しやすくなりますが、、、。

全文を見る
すると、全ての回答が全文表示されます。
noname#24350
noname#24350
回答No.1

 OPアンプを使ってバンドパスフィルタを形成したら如何でしょうか。三角波にも高い周波数成分が含まれているので、全くうまくいくという保証はありませんが、2回微分よりは良いのではないかと思います。

tahoe
質問者

お礼

お返事ありがとうございます。 高いQでフィルタリングすると、やはり、信号成分がリンギングするので、なかなか難しいようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FFTを使って信号から特定の周波数を抜き去る方法

    FFTを用いてある時系列データから特定の周波数の成分を抜き去ろうと思っていますが、 うまくいかないのでお伺いします。 調べてみると、スペクトルを出すとき、例えば同じ振幅で周波数の異なるの正弦波を 10個入れても全て同じ振幅にならず、振幅の大きさにばらつきが出ていて周波数成 分の成分の推定がうまくいっていないようです。FFTの2乗のデータを小さな周波数区 間で積分してスペクトル密度にしても、先ほどの10個の正弦波の振幅がそろわない のと、周波数推定が悪くなりうまく、引き去れなくなっています。 よくある状況だと思いますが、どういう工夫が必要なのでしょうか。 ちなみに、FFTのルーチンはnumerical recipeとFFTWの二つで試しました。

  • 信号処理による高調波の除去のついて

    現在,生体信号の解析を周波数領域(FFT)で行っているのですがある周波数の高調波により 所望信号の周波数と被ってしまうことがあり推定が行えないという課題に直面しています. (第4高調波まで確認できます) 高長波は基本周波数のおおよそ等倍の位置に立つのですが,高長波は非線形成分ですので 簡単に等倍した周波数の除去を周波数領域で行ってもうまくいかず, また周波数が被っている場合,除去することはできません. そのため何らかの信号処理で時間領域で高調波の除去を行おうと考えているのですが, 具体的な解決方法が思いつきません. 何か時間領域で高調波の除去ができる,または出来そうな信号処理を知っている方がいれば 是非教えていただきたいです. よろしくお願いいたします.

  • FFT分析、成分の最大値

    FFTで周波数成分分析を作っているところなのですが疑問があります 例えば、以下の信号をFFTした場合 振幅0-3V 矩形波 *かなり理想形 周波数 10Khz 10KHz 2.0V  30KHz 0.7V  50KHz 0.4V  ... とかの周波数成分が分析できました 10Kが基本周波数になるので最大振幅になっています その振幅値なのですが、 今、信号振幅が3.0Vだと2.0Vと算出は正しいのでしょうか 最大成分だから。3.0V以上になるような気がします 理想波形なら、何Vが正解でしょうか? もしかして、2.0vではなく倍の4.0Vが正解でしょうか?

  • 瞬時周波数

    よく角度変調で,その位相項を微分したものを瞬時周波数と定義してあります. 1)では,振幅変調では瞬時周波数とは意味をなさないのでしょうか? というのは,振幅変調ではエンベロープの上昇時と下降時で周波数が異なると聞いた気がして,このことが瞬時周波数で考えているのではないかと思ったのです. 2)そもそも複数の周波数成分が混合した場合,瞬時周波数とはどうなるのでしょうか? 振幅がわからないので,こんなことを考えています. 3)FFTなどを用いずに,周波数を求める方法として下記は正しいでしょうか? 直接観測値から周波数を読み取るには,周波数成分が1つであれば2点もあれば振幅と周波数が三角関数の連立方程式を解いて導けると思います. (サンプリング定理は満たしているとし,観測値はサンプリング間隔毎にx(t), x(t+τ), ..., x(t+nτ)とする.) 多周波数の混合となった場合も,いくつの周波数成分があるかを前もってパラメータとして知っていれば,観測値の個数>未知数の個数を満足すれば解ける気がします. (ノイズとりあえず無しとしてです.) 4)3)で解いたものはやはり瞬時周波数ではないような気がしますが,如何でしょう? 質問が多くてすみません.混乱しています.よろしくお願いします. この考え方

  • 単振動+ホワイトノイズの時のFFTの振幅

    振幅ルート2(実効値1)の正弦波(周波数f)に標準偏差が0.1のガウシアンホワイトノイズが重畳したとき、FFTで算出される周波数fの振幅はどう変化するのでしょうか?(窓関数による誤差は無視した場合) よろしくお願いします。。 感覚的には(1^2+0.1^2)^0.5なのですが・・・・

  • RCフィルタと三角波、方形波

    こんにちは。先日RCフィルタについて実験を行いました。 高域通過フィルタでは高い周波数の波を入力するとそのままの波が出力されて低い周波数の波を入力すると小さな振幅の波が出力されます。 低域通過フィルタではこの逆だと思います。 そこで高域通過フィルタに三角波と方形波を入力したときについて出力波形を観察してみました。 三角波を入力した場合、高い周波数ではほとんど同じような形で出力されました。低い周波数では小さな振幅で出力されましたが、形が方形波みたいになりました。 方形波を入力した場合、高い周波数ではほとんど同じような形で出力されました。ところが低い周波数では振幅が0に近いところもあればかなり大きな振幅のところもありました。(タンジェントみたいなグラフ?) 分からないことは (1)三角波を入力したときに振幅が小さくなるのは分かるんですが、なぜ三角波ではなく方形波みたいな波形で出力されたのか? (2)方形波を入力したときになぜ方形波ではなく違った波形で表示されるのか? (3)三角波や方形波を入力することにどのような意味があるのか? 実験を通してフィルタについて興味を持ちました。ちょっとしたことでもいいので回答してもらえるとうれしいです。 よろしくお願いします。

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

    はじめまして、信号処理については初心者です。教えていただけると幸いです。 ソフト処理でディジタルフィルタを作成したいと思っています。 リアルタイム処理が最終目標です。 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)フィルタとの使い分けについても、ご教示いただけると幸いです。 どうぞよろしくお願いいたします。

  • オペアンプ(微分器、積分器)の周波数特性の測定について

    オペアンプと抵抗、コンデンサを1個ずつ用いた微分回路、積分回路を組んでみたのですが、周波数特性の測定において、入力電圧(正弦波)の振幅を1[V]一定にして周波数を変化させたときの出力電圧を測定しよう思ったのですが、周波数を変化させると入力電圧の振幅も1[V]から少しずつ変化していき、1[V]に合わせ直す必要がありました。この、周波数が変化したとき入力電圧の振幅も変化する原因がよく分かりません。ちなみに抵抗値は積分器のとき10[kΩ]、微分器のとき100[kΩ]、コンデンサは両者とも1[pF]を用いました。また、入力の正弦波は発振器から取り出し、入力電圧、出力電圧の振幅はオシロスコープの波形から読み取りました。 もし分かる方や、こうじゃないかという意見をお持ちの方がいらっしゃいましたら教えてください。よろしくお願いします。

  • RCフィルタの測定に関して

    現在,抵抗と容量で簡単に構成したRCローパスフィルタの 周波数特性の測定を行っています. 入力正弦波の周波数を数十MHz程度まで上げると, 入力信号振幅が周波数とともに小さくなってしまうのですが, 原因が分かりません. よろしくお願いします. 入力振幅:10V 抵抗:10kΩ 容量:10pF オシロの入力抵抗:50Ω 

  • 振幅を求めるのに最適な窓関数

    サンプリング周期1usで収集した10万点(0.1秒間連続測定)のデータがあります。 これは正弦波信号+ノイズというもので、正弦波の周波数は約100kHzです。 この正弦波の時間的なゆらぎを求めたいので、例えば5万点づつにデータを分割し、その5万点にDFTを行ってピークとなる振幅を求める方法を考えました。 この場合5万点のデータ数だと周波数分解能は100Hzとなるため、もし本来の周波数が例えば100.03kHzだとするとその振幅情報は本来の振幅に比べてかなりずれてしまいます。 これは解析対象区間に含まれる正弦波の数が整数個でないことに起因するのですが、このような場合窓関数を使うように言われていますが、振幅の誤差が1%以下とするためにはどのような窓関数を使ったらよいでしょうか? または、別の方法で振幅を1%以下の精度で求められるという情報でも助かります。