• ベストアンサー

特定の周波数レベルだけ取り出したい

jojiirofuの回答

回答No.3

 特定の周波数が与えられているとすると,下の回答のようにその周波数をもつ正弦波を乗算します.この結果,特定の周波成分と正弦波信号の周波数の和と差の成分が現れます.和の方は低域フィルタか積分演算で除きます.差の方は正弦波と特定周波数成分と同じ成分の強度を表しています.すなわち,差の成分(直流成分)がその強度を表していますのでこれを除去することは情報を捨ててしまうことになります.この直流成分は正弦波と特定成分との位相差を表しています.従って強度を調べるためには振幅と位相情報の両方が必要になります.現実にはFFTを使うのが一番と思います.フィルタを通す方法は結局周波数領域での畳み込みが必要になりますのでFFT以上に時間がかかります.時間関数の周波数帯域がどの程度かわかりませんがソフトウエアで行うには相当制限があります.ソフトウエアのサイトで例えばVectorでfftと検索すればオーディオ帯域のリアルタイム表示の可能なフリーソフトがあったと思います.参考にしてはどうでしょうか.

nanashisan
質問者

お礼

FFTのソースコードは持っているのですが、CPUの制約で今回はやっぱり使えそうにありません。ありがとうございました。

関連するQ&A

  • フーリエ変換の最大周波数

    5kHzでAD変換した信号があり、解析したい成分は0~1kHzに含まれています。 上記の前提で、256点で128点オーバーラップしながらFFT処理を行った場合、FFTを行うデータ数をN、サンプリング間隔Δt(1/5kHz=0.0002sec)とした時、 分解能 Δf=1/N*Δt=19.53 最大周波数 Fmax=(N/2NΔt)-(1-Δf)=2480.47 という計算式をインターネット上で見つけました。つまり0~2480Hzまで20Hzごとのパワースペクトル時間変化が128点データが並ぶということになると思うのですが・・・・ 一方、最大周波数はFFTデータ数の半分だという記載も見つけました。すると、最大周波数は半分も128Hzだと思うのですが、どちらが正しいのでしょうか?

  • 周波数測定

    PLL出力クロック(=矩形波)をデジタイザで取り込みFFT演算で求めようと考えています。条件は以下の通りです。 周波数:30MHz 形状:矩形波 使用モジュール:デジタイザ(fs:max100MHz) 演算方式:FFT??? 測定精度:0.01% なんだかピンときません。誰か良い方法を知りませんか?教えて下さい。周波数測定だからタイマーモジュールなどを使えば済むことなのですが、それができないため困っています。宜しくお願いいたします。

  • 周波数と角周波数

    (1) 時間に関して周期的でかつ波形の伝播速度が一定の波形に対して, 周波数はその時間周期の逆数である. (2) 角周波数という言葉は正弦波(複素形の指数関数も含む)に対する用語である. この(1)と(2)は正しいでしょうか ? また, いわゆる電波の周波数とは(1)のことでしょうか ? フーリエ解析によれば, 周期 T の波形 f(t) は, 基本角周波数 2π/Tの整数倍の角周波数の正弦波の重ね合わせで表せますが, この場合にf(t)に対する周波数といえば, 1/T のことでしょうか ?

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

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

  • FFTを使って異なるサンプリング周波数での周波数強度について

    100Hzのsin波に対してFFTを行い周波数スペクトルを出したときのことです。 解析条件 サンプリング周波数・・・・44.1kHz , 22.1kHz FFTの点数・・・32768点 窓関数・・・ハニング窓関数 まず、サンプリング周波数44.1kHzで解析を行い、100Hzにメインローブが現れていました。 次に、サンプリング周波数22.1kHz以外は同様の解析条件で解析を行ったのですが、サンプリング周波数44.1kHzに比べて、100Hzのスペクトル強度が下がっていました。また、サイドローブは44.1kHzに比べて上がっていました。 スペクトル強度がサンプリング周波数によって変化するというのはありえるのでしょうか? それとも、私の組んでいるプログラムが間違っているという事なのでしょうか?どなたかご教授下さい。よろしくお願いします。

  • 筋電の周波数成分について教えて下さい。

    表面電極から差動アンプを通して検出した生の筋電波形をFFT演算してみたところ 全周波数成分は数Hz~数kHzでした。しかし、純粋な筋電成分は何Hz付近なのでしょうか? 負荷と筋電レベルの関係を調べたく、どの周波数成分の電圧レベルを見たら良いか分からないのです。 ちなみに電極固定箇所は前腕部の撓側手根屈筋付近です。 よろしくお願い致します。

  • 瞬時周波数

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

  • 周波数の求め方

    正弦波交流電圧eの周波数fを求める問題で e=EmSin314t   の周波数fが50Hzになるのがわかりません。 ωt=2πf=314 ↑に代入すると0.87222Hzになってしまいます。 解き方を教えてください。よろしくお願いします。

  • 周波数変調

    周期の異なる2つの観測データがあります。 (いずれも綺麗なサイン波ではありません。) 一方の周波数の高い波を搬送波として周波数変調を考えていますが、 数学の知識が無いので困っています。 エクセルで処理をしたいのですが、やはりFFTとか使わないと無理でしょうか。 お詳しい方、宜しくお願いします。

  • 時間領域と周波数領域

    音声をリアルタイムで処理するプログラムをC言語で組んでいまして、 今はフィルタのプログラムをしている段階です。 具体的にはLPFとHPFです。 これらフィルタを施す際、フィルタリングは時間領域でするべきでしょうか? それとも周波数領域に変換してからフィルタリングするべきでしょうか? リアルタイム処理が目的なので、計算コストが少なくてすむ方を採用したいと考えています。 やはり周波数領域に変換するとFFT等が必要になってきますので、 時間領域の方が計算コストが少なくて済むのでしょうか。 どうかご意見をお願い致します。