信号処理

信号、画像およびビデオ処理の芸術および科学の実務家のためのQ&A

1
準既知信号のフィルタリングにエラー予測フィルターを使用する
私は、データをフィルタリングするためのWienerまたはエラー予測フィルターの適切な使用に頭を包み込もうとしています。それはホワイトニングフィルターに過ぎないように思えますが、回復したいデータがAWGN信号ではない場合、どのように使用されますか? 例えば、私はいくつかのdistint干渉信号を持っている信号を持っています-PSDでそれらを見ることができますが、それらがa)静止していることとb)それらが持っている特性を知りません。Yule-Walker方程式のような方法を使用して、信号全体の ARモデルを復元できますが、この場合、干渉した信号のモデルのみを復元し、復元したい部分は復元しません。 基準信号が単一の正弦波である適応LMSノッチフィルターを実装しようとしましたが、これはあまりにも狭すぎて、信号の周波数変化をあまりうまく追跡できませんでした。 基本的に私の質問はこれです。エラー予測フィルタを使用して実際のデータをフィルタリングしている場合、データ部分とノイズ部分をどのように分離すればよいですか?言い換えれば、信号全体を白くするのではなく、ノイズ部分だけを白くしたいのです。私は何が欠けていますか?

4
カルマンフィルターによる追跡の直感的な説明
カルマンフィルターを使用した(視覚的な)追跡の直感的な説明をいただければ幸いです。私が知っていること: 予測ステップ: 動的システム状態:時刻ターゲットの場所xt\mathbf x_ttt 測定:時間インデックス画像(??)zt\mathbf z_ttt 画像/測定に基づいて状態を予測したいですか?(動的方程式を使用)それは正しいですか?1→(t−1)1\rightarrow(t-1)xt\mathbf x_t 修正手順をこれらの用語(画像、ターゲットの場所)に解釈するにはどうすればよいですか?

4
FFTからスペクトル平坦性をどのように計算しますか?
さて、スペクトルの平坦性(ウィーナーエントロピーとも呼ばれます)は、スペクトルの幾何平均と算術平均の比として定義されます。 ウィキペディアおよび他の参考文献は、パワースペクトルを述べています。それはフーリエ変換の二乗ではありませんか?FFTは「振幅スペクトル」を生成し、それを二乗して「パワースペクトル」を取得しますか? 基本的に、私が知りたいのは、spectrum = abs(fft(signal))これらのどれが正しいですか? spectral_flatness = gmean(spectrum)/mean(spectrum) spectral_flatness = gmean(spectrum^2)/mean(spectrum^2) ウィキペディアの定義は大きさを直接使用しているようです: Flatness=∏N−1n=0x(n)−−−−−−−−−√N∑N−1n=0x(n)N=exp(1N∑N−1n=0lnx(n))1N∑N−1n=0x(n)Flatness=∏n=0N−1x(n)N∑n=0N−1x(n)N=exp⁡(1N∑n=0N−1ln⁡x(n))1N∑n=0N−1x(n) \mathrm{Flatness} = \frac{\sqrt[N]{\prod_{n=0}^{N-1}x(n)}}{\frac{\sum_{n=0}^{N-1}x(n)}{N}} = \frac{\exp\left(\frac{1}{N}\sum_{n=0}^{N-1} \ln x(n)\right)}{\frac{1}{N} \sum_{n=0}^{N-1}x(n)} ここで、x(n)x(n)x(n)はビン番号nnn大きさを表します。 SciPyのドキュメントでは、パワースペクトルを次のように定義しています。 入力aが時間領域信号であるA = fft(a)場合、np.abs(A)は振幅スペクトルでnp.abs(A)**2あり、パワースペクトルです。 このソースは、「パワースペクトル」の定義について同意し、それをと呼びます。Sf(ω)Sf(ω)S_{f}(\omega) FT(ω)FT(ω)F_{T}(\omega) Sf(ω)=limT→∞1T∣FT(ω)∣2.Sf(ω)=limT→∞1T∣FT(ω)∣2.\displaystyle S_{f}(\omega) = \lim_{T \rightarrow \infty} \frac{1}{T}{\mid F_{T}(\omega)\mid}^2. このソースは、に関してWienerエントロピーを定義します。S(f)S(f)S(f) しかし、このような方程式では二乗は見られません。これは振幅スペクトルに基づいているようです: Sflatness=exp(1N∑klog(ak))1N∑kakSflatness=exp⁡(1N∑klog⁡(ak))1N∑kak S_{flatness} = \frac{\exp\left(\frac{1}{N} \sum_k \log (a_k)\right)}{\frac{1}{N} \sum_k a_k} 同様に、別のソースはパワースペクトルに関してスペクトルの平坦性を定義しますが、FFTビンの大きさを直接使用します。これは、上記の「パワースペクトル」の定義と矛盾するようです。 「パワースペクトル」は、人によって異なることを意味しますか?

2
キャプチャデバイスのオイラー角が与えられた場合、カルマンフィルターは投影点の位置をフィルター処理するのに適していますか?
私のシステムは次のとおりです。モバイルデバイスのカメラを使用してオブジェクトを追跡します。この追跡から、画面に投影する4つの3Dポイントを取得し、4つの2Dポイントを取得します。これらの8つの値は、検出のためにややノイズが多いので、動きをより滑らかでより現実的にするためにそれらをフィルタリングしたいと思います。2番目の測定として、3つのオイラー角(つまり、デバイスの姿勢)を提供するデバイスのジャイロスコープ出力を使用します。これらは、2D位置(約20 Hz)よりも正確で、高い周波数(最大100 Hz)で動作します。 私の最初の試みは単純なローパスフィルターを使用することでしたが、遅れが重要だったので、カルマンフィルターを使用して、少しの遅延で位置を滑らかにできるようになりました。前の質問で見たように、カルマンフィルターの重要なポイントの1つは、測定値と内部状態変数の関係です。ここでの測定値は、8つの2Dポイント座標と3つのオイラー角の両方ですが、内部状態変数として何を使用すべきか、オイラー角を2Dポイントにどのように接続するかについてはわかりません。したがって、主要な質問は、カルマンフィルターがこの問題に適しているのでしょうか。はいの場合、どのように?


1
平方スーパールート関数にはどのような近似手法がありますか?
逆関数、つまり平方根(ssrt)関数の近似を実装する必要があります。たとえば、は、意味します。べき級数を使用したより単純なアプローチとは対照的に、自分のオプションが何であるかを理解するのと同じくらい、特定の精度/ビット深度には興味がありません。xxxxx^xssrt(2)≈1.56ssrt(2)≈1.56\mathrm{ssrt}(2) \approx 1.561.561.56≈21.561.56≈21.56^{1.56} \approx 2 Wolfram Alphaは、ランバートW関数(つまり、)の観点からすてきな記号解を与えます。ウィキペディアは同じ式と同等のます。計算上の情報の合理的な量があるということを考えると [1] [2]、のすべてが実装するために必要な技術的にすることを何か要件のさまざまなを。 [3] [4]の近似について詳細に掘り下げた本を少なくとも2つ知っているので、その方向から最適化する余地が十分にあります。ln(x)/W(ln(x))ln⁡(x)/W(ln⁡(x))\ln(x)/W(\ln(x))eW(ln(x))eW(ln⁡(x))e^{W(\ln(x))}W(x)W(x)W(x)ln(x)ln⁡(x)\ln(x) ただし、2つの質問があります。 この関数に固有の近似手法はどこでも公開されていますか? 参照を少し簡単に検索できるようにする「スクエアスーパールート」以外の別の名前で使用されますか? ウィキペディア/グーグルは、特別なケースとしてを含むより一般的な「テトレーション」関数専用のリファレンスをいくつかましたが、それらのほとんどは一般的なケースの調査/定義にているようです。ssrt(x)ssrt(x)\mathrm{ssrt}(x) - コーレス、R。Gonnet、G .; ヘア、D。ジェフリー、D .; クヌース、ドナルド(1996)、「ランバートW関数について」 http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf 数学関数のデジタルライブラリ。http://dlmf.nist.gov/4.13 Crenshaw、Jack W.(2000)、リアルタイムプログラミング用の数学ツールキット。 Hart、John F.(1978)、コンピューター近似。 Chapeau-Blondeau、F.およびMonir、A.(2002)。ランバートW関数の数値評価と指数1/2の一般化ガウスノイズの生成への応用。IEEE Transactions on Signal Processing 50、2160-2165。http://www.istia.univ-angers.fr/~chapeau/papers/lambertw.pdf ミネロ、ポール。高速ランバートWを近似。http://www.machinedlearnings.com/2011/07/fast-approximate-lambert-w.html - 更新 過去数日間さらに調査を行った後、私が望んでいた「クレンショースタイル」扱いはまだ見つかりませんでしたが、ここに文書化する価値のある新しいリファレンス。 3ページ目に、「高速近似」というタイトルのセクションがあり、ノイズ生成のコンテキストでの近似について詳しく説明しています。興味深いことに、[指数1/2のガウスノイズ](論文)の確率密度は、信号クリッピングの検出に関するこの質問に対するKellenjbの回答のヒストグラムと著しく似ています。[3][3][3]ssrt(x)ssrt(x)\mathrm{ssrt}(x)[5][5][5]W(x)W(x)W(x) さらに、コメント rwongによって提供されたリンクは、実際に実装するための素晴らしいリソースであり、記述された実装を含むfastapproxと呼ばれる著者のBSDライセンスプロジェクトにリンクします。[6][6][6]W(x)W(x)W(x)

2
Parks-McClellanアルゴリズムを使用してナイキスト補間フィルターを設計するにはどうすればよいですか?
Parks-McClellanアルゴリズムを使用して、特定の周波数領域の制約に従う補間フィルターを簡単に設計できます。ただし、時間領域の制約を強制する方法はすぐにはわかりません。特に、ナイキストフィルターの生成に興味があります。したがって、係数でオーバーサンプリングしNている場合、フィルタにゼロkN以外の整数のゼロ交差が必要ですk(これにより、補間器への入力サンプルが出力シーケンスに表示されるようになります)。 Harris 1がハーフバンドフィルターを設計する手法、つまりの特別なケースについて話しているのを見ましたN=2。これに対する一般的な解決策はありますか?(ウィンドウメソッドを使用してフィルターを簡単に設計できることは知っていますが、同じコントロールは得られません。) [1] 通信システムのマルチレート信号処理、 pp。208-209


2
キーポイント記述子を使用する理由
私はSURFについて勉強したばかりで、その実装に行きますが、それでも記述子を使用する理由がわかりませんでした。 キーポイントとその目的を理解していますが、キーポイントを抽出するとき、なぜ記述子を使用する必要があるのでしょうか?認識における彼らの重要性と役割は何ですか?

2
クロススペクトル密度-CSDとは何ですか?
私は以前に質問をしましたが、答えが得られませんでした。だから今私はそれを簡素化しています:クロススペクトル密度(CSD)とパワースペクトル感度(PSD)とは何ですか?彼らの用途は何ですか?MATLABでそれらを取得するにはどうすればよいですか? Sk個のK(ω)=LIMT→∞1Sk l(ω )= limT→ ∞1TE{ Y∗k(ω )Yl(ω )}Skl(ω)=limT→∞1TE{Yk∗(ω)Yl(ω)}S_{kl}(\omega)=\lim_{T\to\infty}\frac{1}{T}E\{Y_k^*(\omega)Y_l(\omega)\} Sk k(ω )= limT→ ∞1TE{ Y∗k(ω )Yk(ω )}Skk(ω)=limT→∞1TE{Yk∗(ω)Yk(ω)}S_{kk}(\omega)=\lim_{T\to\infty}\frac{1}{T}E\{Y_k^*(\omega)Y_k(\omega)\} Sk l(ω )Skl(ω)S_{kl}(\omega)は一般信号と間のクロススペクトル密度(CSD)関数、は信号のパワースペクトル密度(PSD)です。、は周波数での信号の有限フーリエ変換、 は、および の複素共役は期待演算子です。Y L(T )S K K(ω )Y 、K(T )のY K(ω )Y 、K(T )ω Y * K(ω )YのK(ω )E { ⋅ }yk(t )yk(t)y_k(t)yl(t )yl(t)y_l(t)Sk k(ω )Skk(ω)S_{kk}(\omega)yk(t )yk(t)y_k(t)Yk(ω )Yk(ω)Y_k(\omega)yk(t )yk(t)y_k(t)ωω\omegaY∗k(ω )Yk∗(ω)Y_k^*(\omega)Yk(ω )Yk(ω)Y_k(\omega)E{ …
16 psd 

4
ディラックの櫛のフーリエ変換がディラックの櫛であるのはなぜですか?
これは、私には意味がありませんハイゼンベルグ不等式その状態ΔtΔωΔtΔω\Delta t\Delta \omega〜1。 したがって、時間内に完全にローカライズされたものがある場合は、周波数で完全に分散されたものが得られます。したがって、基本的な関係はF{δ(t)}=1F{δ(t)}=1\mathfrak{F}\{\delta(t)\} = 1ここで、FF\mathfrak{F}はフーリエ変換演算子です。 しかし、フーリエ変換を適用したディラックの櫛については、別のディラックの櫛を受け取ります。直感的には、別の行も取得する必要があります。 なぜこの直感は失敗するのですか?

2
ボードゲームで六角形のタイルを認識する方法は?
以下の画像のように、写真の六角形のタイルの境界を認識したいと思います。 正方形のグリッドでの標準的なアプローチは、最初にコーナー(例:キャニー)を検出し、次にハフ変換などを使用して最も長い線を抽出することです。 これは、外側の線の長さが短く、他の線と区別するのが難しいため、16進タイリングでは最適なソリューションではありません。 この問題を解決するアルゴリズムはありますか?opencvで解決策があると特に便利ですが、一般的なアイデアにも興味があります。 更新: pythonとopencvを使用すると、この結果を受け取ることができました: ここに私のコードがあります: import cv2 import numpy as np imgOrig = "test1"; img = cv2.imread(imgOrig+".jpg"); lap = cv2.Laplacian(img, cv2.IPL_DEPTH_32F, ksize = 3) imgray = cv2.cvtColor(lap,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) size = img.shape m = np.zeros(size, dtype=np.uint8) for i, cnt in enumerate(contours): if cv2.contourArea(cnt) …


3
線形位相のFIRフィルター、4種類
線形位相、つまり一定の群遅延を持つ4種類のFIRフィルターがあることを知っています:(M =インパルス応答の長さ) 対称的なインパルス応答、M =奇数 インプ それぞれ 対称、M =偶数 インプ それぞれ 非対称、M =奇数 インプ それぞれ 非対称、M =偶数 それぞれに特徴があります。これらのタイプのうち、線形位相設計のFIRフィルターで最も一般的に使用されるのはなぜですか?:)

9
FFTがスペクトルを変更するのではなく、逆FFTよりも時間領域でウィンドウを使用する理由
DSPは、信号の一部のFFTを使用して行われ、FFTから生じるサンプルを修正し(信号とノイズのスペクトルを表すため)、不要な信号を削除し、逆FFTを実行して時間を取得すると考えましたフィルターされた信号のドメイン表現(ノイズは除去されました)。ただし、これは行われず、代わりにウィンドウ関数を使用して時間領域ですべての作業を行います。どうして? 窓関数の周波数応答を周波数領域の信号のスペクトルと畳み込むよりも、時間領域で窓関数を掛ける場合、どうなりますか?つまり、信号にフィルターの周波数応答を乗算することによって、周波数領域ですべての作業を行った場合、それは正しいフィルター処理のようになりますか?しかし、ここでは、ウィンドウを使用する代わりに、時間領域ですべての処理を行います。 ->私の混乱がどこから来たのかを見てみましょう。ローパスフィルターなどのアナログフィルターの場合、周波数応答のようなこのパルスがあります。信号をフィルター処理するとき、フィルターの周波数応答のようなパルスで信号のスペクトルを効果的に乗算します。これにより、カットオフより上の信号のすべての周波数が0に減少します。これが、ローパスフィルターの本質的な動作です。デジタルフィルターでも同じことをしてみませんか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.