信号処理

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

1
超音波信号検出
2つのスピーカーから発せられた超音波信号を使用して、携帯電話を(スピーカーに対して)位置を特定する、かなりシンプルなTDOAシステムを作成しました。2つの信号は周波数で分離されます。 システムには次の制約があります。 信号は聞こえないようにする必要があります。そのため、17 kHzを超える周波数を使用します。一部の人はまだそれを聞くことができますが、ほとんどは聞くことができません。 サンプルレートは44.1 kHzです。 通常は音楽が再生されるため、低い周波数では多くの干渉が発生します。 スピーカーとマイクが高周波数でどのように機能するかを制御することはできないため、上限を約20 kHzに維持しました。 私が使用している特定の信号は、自己相関特性が優れているため、BPSK変調13ビットバーカーコードです。自己相関は次のようになります。 実際の受信信号に対して期待される信号を相互相関させると、通常、次のようになります。 青はスピーカー1の信号との相互相関、赤はスピーカー2の信号との相互相関です。エコーは重要であり、残念ながら、マイクの指向性ゲインにより、直接パス信号よりも強いことが多いようです。 直接パスである可能性が高いため、信号の最も早い出現を単純に検出してみました。このアプローチは、信号がいつ存在するかを決定するために使用するしきい値に非常に敏感であるため、まったく堅牢ではありません。 信号の「真の」到着時間、つまりダイレクトパス信号の到着時間を決定するための堅牢なアプローチが必要です。おそらく何らかのチャネル推定とデコンボリューションですか?もしそうなら、それはどのように機能しますか? データ/コード:誰かがデータを分析したりコードを検査したりすることを期待していないことを明確にしたいと思います。必要に応じて利用できるようにしました。主にアイデアに興味があります。 未処理の受信信号と変調された予想信号をダウンロードできるようにしました。これらはすべて44.1 kHzでサンプリングされます。受信信号を期待される信号と相関させると、上記の画像と似たようなものになりますが、期待される信号と相関させる前に受信信号をベースバンドに移動して間引きするためです。 受信信号 予期される信号#1 予期される信号#2 Matlabスクリプト Matlabスクリプトには、信号生成スクリプト(genLocationSig.m)と私の受信/処理スクリプト(calcTimingOffset.m)の両方が含まれています。

2
誰もが私にこのMDFT多相フィルターバンクを説明できますか?
ここで、MDFTポリフェーズフィルターバンクの非常に興味深いコードを見つけました。残念ながら、理論を説明する論文はないようです。誰かがコードの参照を知っていますか?私はこれらの3つのトピックに特に興味があります。 正確にチャネルのデータは何ですか?それらは現実のもの、想像上のもの、または複雑なものでしょうか? コードはバンド数の半分のみを計算します。これは、使用される実数値の信号によるものですか? 合成ステージの結果は、2つの合成フィルターバンクの結果のチャネルごとの差として構築されます。なぜそのように行われるのですか?この考えを説明する論文は見つかりません。

1
スペースプローブイメージからアーティファクトを削除
これは私たちの故郷の写真で、Juno宇宙船が最近木星に向かう途中でスリングショットを撮っています。それがスピードで得たもの、私たちは私たちのもので負けました、しかし、ありがたいことに私たちは太陽に落ちることはありません。 南アメリカ大陸が左側にあると思います。 ただし、画像全体に一種のアーチファクトがあり、画像全体にかすかな種類の青いバーが存在していることがわかります。何が原因なのか、私は知りたいです。 私が本当に知りたいのは、このアーティファクトを削除するために、私たちがおかしな人間が必要とするかもしれない画像処理技術は何ですか?

3
FFT位相スペクトルに困惑!
非常に単純なMATLAB実験: f = 200; fs = 1000; t = 0: 1/fs : 1; x = cos(2*pi*f*t); plot(angle(fftshift(fft(x)))); そしてここに出力があります: ここで、上記のコードスニペットに小さな変更を加えました。次のように、期間を1サンプルだけ短縮します。 f = 200; fs = 1000; t = 0: 1/fs : 1 - 1/fs; x = cos(2*pi*f*t); plot(angle(fftshift(fft(x)))); そして、位相スペクトルは完全に狂っています: 質問: 最初のプロットでは、この例では200の正の周波数に対応するビン700にゼロ位相が表示されることを望んでいました。それはそうではないようです。次に、プロット1のグラフの線形部分がわかりません。いわゆる数値ノイズが原因で存在する可能性のある位相成分を理解していますが、そのノイズはどのようにして位相が「線形」になるのでしょうか。 2番目のプロットで、1つのサンプルのみを削除すると、位相プロットにそのような劇的な影響が出るのはなぜですか? ここで根本的に間違っていることをしていますか?
9 fft  matlab  phase 

3
スペクトルホワイトニングとは何ですか?
DSPの「スペクトルホワイトニング」とはどういう意味ですか? 画像処理で使用した場合、スペクトルホワイトニングはどのような影響がありますか?(視覚的またはその他...) スペクトルのホワイトニングは、オーディオの処理や分析のどこに役立つでしょうか?スペクトル的に白色化されたオーディオ信号はどのように聞こえますか?

2
SURF機能の計算プロセスについて
それで、私はSURF(ベイ、エッス、トゥイテラー、ヴァングール:高速化された堅牢な機能(SURF))に関する論文を読んでいましたが、以下のこの段落を理解できません。 ボックスフィルターとインテグラルイメージを使用しているため、以前にフィルターしたレイヤーの出力に同じフィルターを繰り返し適用する必要はありませんが、代わりに元のイメージに直接同じ速度で任意のサイズのボックスフィルターを直接適用できます。並列でも(後者はここでは利用されませんが)。したがって、画像サイズを繰り返し縮小するのではなく、フィルターサイズを拡大することにより、スケールスペースが分析されます(図4)。 This is figure 4 in question. PS:論文にはインテグラルイメージの説明がありますが、論文の内容全体は上記の特定の段落に基づいています。誰かがこのペーパーを読んだ場合、ここで何が起こっているのか簡単に説明できますか。全体の数学的説明は、最初に十分に理解するために非常に複雑なので、いくつかの支援が必要です。ありがとう。 編集、問題のカップル: 1。 各オクターブは、一定数のスケールレベルに細分されます。インテグラルイメージの離散的な性質により、2つの後続のスケール間の最小スケール差は、派生方向(xまたはy)での部分2次導関数の正または負のローブの長さloに依存します。フィルターサイズの長さの3分の1。9x9フィルターの場合、この長さloは3です。2つの連続するレベルでは、サイズを不均一に保ち、中央のピクセルの存在を確保するために、このサイズを最低2ピクセル(各辺に1ピクセル)増やす必要があります。 。これにより、マスクサイズが6ピクセル増加します(図5を参照)。 Figure 5 私は与えられた文脈での線を理解できませんでした。 2つの連続するレベルでは、サイズを不均一に保ち、中央のピクセルの存在を保証するために、このサイズを最低2ピクセル(各辺に1ピクセル)増やす必要があります。 私は彼らが画像の長さで何かをしようとしていることを知っています、たとえそれらが奇数にしようとしているのなら、彼らがピクセル勾配の最大または最小を計算できるようにする中央のピクセルがあります。私はその文脈上の意味について少し不確かです。 2。 記述子を計算するために、Haarウェーブレットが使用されます。 ∑ d バツΣ dバツ\sum\ dx∑ | d x |Σ |dバツ|\sum\ |dx| 3。 近似フィルターを使用する必要性は何ですか? 4. フィルターのサイズの確認方法に問題はありません。彼らは経験的に何かを「した」。しかし、私はこの行のいくつかのしつこい問題を抱えています 前のセクションで紹介した9x9フィルターの出力は、最初のスケールレイヤーと見なされます。これをスケールs = 1.2と呼びます(σ= 1.2でガウス微分を近似します)。 彼らはどのようにしてσの値を知りましたか。さらに、下の画像に示されているスケーリングの計算はどのように行われますか?この画像について述べているのは、その値s=1.2についてはその起源について明確に述べずに、繰り返しの値が続くためです。 5.で 表現されるヘッセ行列Lは、ガウスフィルターと画像の2次勾配のたたみ込みです。 ただし、「近似」行列式には、2次ガウスフィルターを含む項のみが含まれていると言われています。 の値wは次のとおりです。 なぜ行列式が上記のように計算されるのか、おおよそのヘッセ行列とヘッセ行列の間の関係は何ですか?

2
MATLABでのスペクトルエントロピー計算
MATLABで信号のスペクトルエントロピーを計算するにはどうすればよいですか?基本的な手順はわかっていますが、誰かが手伝ってくれるといいのですが、 MATLABでFFTコマンドを使用して信号のパワースペクトルを計算します。 パワースペクトルまたはその他の手法を使用して、パワースペクトル密度を計算します。 間の電力スペクトル密度を正規化する[ 0 、1 ][0、1][0, 1]が確率密度関数として扱うことができるように、p私p私p_i 。 エントロピーH (s )= − ∑ p i log 2 (p i )を計算するH(s) = − ∑ p私ログ2( p私)H(s)=−Σp私ログ2⁡(p私)H(s) = -\sum p_i\log_2\left(p_i\right)

1
SIFT記述子のストーリーの背後にあるストーリーは何ですか?
以下はLowe 2004の論文(http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf)からの抜粋です。 明らかなアプローチの1つは、キーポイント周辺のローカル画像強度を適切なスケールでサンプリングし、正規化された相関測定を使用してこれらを一致させることです。ただし、画像パッチの単純な相関は、アフィンまたは3D視点の変更や非剛体変形など、サンプルの位置ずれを引き起こす変更に非常に敏感です。Edelman、Intrator、およびPoggio(1997)により、より優れたアプローチが示されています。彼らの提案された表現は、特に一次視覚皮質の複雑なニューロンの生物学的視覚のモデルに基づいていました。これらの複雑なニューロンは、特定の方向と空間周波数での勾配に応答しますが、網膜上の勾配の位置は、正確に局所化されるのではなく、小さな受容野上をシフトすることができます。Edelman et al。これらの複雑なニューロンの機能は、さまざまな視点からの3Dオブジェクトのマッチングと認識を可能にすることであると仮定しました。 SIFT記述子を理解しようとしています。前の段階(キーポイント検出器)を理解しました。 なぜそのように実装されているのかわかりません。裏話を知りたい。
9 sift 

1
非対称ベルヌーイ行列はRIPを満たしますか?
センシング行列を、確率で、確率で定義します。DOES満足制限された等長性が?A A i j = 0 p A i j = 1 / √n × Nn×Nn\times NあAAあ私はj= 0Aij=0A_{ij} = 0ppp 1−pAあ私はj= 1 / n−−√Aij=1/nA_{ij} = 1/\sqrt{n}1 − p1−p1-pあAA 参考までに、対称のケースは次の論文で回答されています。 RG Baraniuk、MA Davenport、RA DeVore、およびMB Wakin、「ランダムマトリックスの制限されたアイソメトリープロパティの簡単な証明」、建設的近似、28(3)pp。253-263、2008年12月。(pdf)

2
パラメータ悪魔—グラウンドトゥルースに対する検証が不可能な場合にそれらを設定する方法[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 質問: Groundtruthに対する検証が不可能な場合(おそらくGroundtruthを取得できないか、取得が非常に困難/面倒なため)、人々がアルゴリズムパラメーターを設定する方法についての議論を始めたいと思います。 私は多数の論文を読み、基礎となるアルゴリズムを実装しました---一連のパラメーターは「経験的に」設定されたと言われています---そして、これらがアルゴリズムの一般性に影響を与えるものであることがよくあります(たとえメソッドの基礎となる理論は、エレガントで魅力的で健全です)。 ご意見をお聞かせいただければ幸いです。そして、この質問には正しい答えも間違った答えもありません。他の皆がこれにどう対処するか知りたいだけです。 背景/質問の出典: 私は画像解析、コンピュータービジョン、機械学習の分野で働いているコンピューターサイエンティストで、新しいアルゴリズムを設計するたびに何度も何度もこのジレンマに直面しているため、この質問はしばらくの間私の心の奥底にありましたパラメータの調整にかなりの時間を費やしていることに気づきました。 また、ここでの質問は、計算アルゴリズムに深く関わっているすべての領域に一般的であり、関係するすべての領域の人々の考えを招待したいと思います。 私はあなたにいくつかの具体的な例を挙げたかったので、それはあなたが考えるのを助ける: ---特徴検出の場合を考えてみましょう(円形のブロブまたは特徴点としましょう)。いくつかのフィルター(パラメーターが必要)を異なるスケール(スケールパラメーター)で実行し、おそらく応答にしきい値を設定します(しきい値パラメーター)。通常、検証するグラウンドトゥルースを取得して、そのようなシナリオでパラメーターを自動的に調整することはできません。 ---多数の信号処理コンポーネントを含む計算フレームワークを取り上げます。常に調整するパラメーターがあり、通常は根拠はありません。データセットの小さなランダムなサブセットで主観的にそれらを調整すると、いつかは一般化されないケースに遭遇します。 アルゴリズムのいくつかの中間ステップのパラメーターを設定する場合、このパラメーターの悪魔はより厄介です。 そして、私はしばしばこれらのパラメーターの適切な値を見つける問題を、導関数を取り、それによって標準の最適化アルゴリズムを使用して適切な値を見つけることができる目的関数の最適化問題としてキャストすることは不可能だと気付きました。 また、多くのシナリオでは、これらのパラメーターをエンドユーザーに公開することはオプションではありません。非計算エンドユーザー(生物学者、医師など)向けのアプリケーション/ソフトウェアを開発することが多く、チューニングを依頼すると、それらは通常無知になります。非常に直感的でない限り(おおよそのオブジェクトサイズなど)。 あなたの考えを共有してください。

3
レーダーアプリケーションの大規模アレイ向けの実用的な広帯域デジタルビームフォーミング
デジタルビームフォーミングの背後にある数学は理解していますが、そのようなシステムが実際にどのように実装されているのかはわかりません。たとえば、Sバンドで動作する一般的なワイドバンドFMCWレーダーでは、(ベースバンド)パルス帯域幅は500MHzにもなることがあります。この信号をデジタル化するには、高速ADC、通常1GHzのサンプリング周波数が必要です。私の知る限り、これらのADCは安価ではありません。 ここで、20個のアンテナエレメントを備えたUniform Recular Array(URA)があるとしたら、RFフロントエンドを20回複製する必要があります。このRFフロントエンドには、通常、LNA、ミキサー、および高速ADCが含まれます。 さらに、上記のシステムで生成される膨大な量のデータは非常に大きく、大容量のメモリと処理能力を必要とします。 私の質問はこうです: 上記のシナリオは、実用的なビームフォーミングシステムがどのように実装されているかを反映していますか、それともあまりにも単純すぎますか?ここで基本的な何かが欠けていますか? そのようなシステムでハードウェアまたは処理の要件を減らすのに役立つハードウェア/信号処理のトリックはありますか? ありがとう

1
オーディオ信号の時間遅延の測定
誰かが私に怒鳴る前に、私はこの質問が何度も尋ねられたことを完全に理解します。既存の質問と回答をすべて読んだことは間違いありませんが、問題の一部についてはまだ混乱しています。 閉鎖的な環境で音楽を再生する音源(A)があります。Aの録音に使用しているマイクがあります。同じ特性と長さ(サンプル数)を共有する2つのwavファイルが残ります。 私の目標は、Aがマイクに到達するのにかかった時間を計算することです。 相互相関(numpy)を使用して計算を実行しようとしています: # Delay estimation corr = numpy.convolve(original_audio, recorded_audio, 'full') delay = int(len(corr)/2) - numpy.argmax(corr) distance = delay / sample_rate * 343 # sample_rate == 22050, m/s = speed of sound print("Distance full: %.2f cm" % (distance * 100)) 300,000 cmの範囲の値を一貫して取得します。スピーカーとマイクの間の距離は約2フィートです。 これはすべて私にとってはまったく新しいことなので、明らかな何かが欠けていると確信しています。 前もって感謝します。

3
ディラック関数のサンプリング
ディラック関数に関する理論的な質問をしたいと思います。ディラック関数のフーリエ変換は、すべての周波数に対して値1(DC)です。サンプリング定理を考える場合、サンプリングできるように、信号で最大周波数を見つける必要があります。しかし、フーリエ変換からわかるように、ディラック関数にはすべての周波数が含まれているため、適切な見つけることができません。私の質問は、理論的な観点から、ディラック関数をサンプリングできるかどうかです。 F S ≥ 2 F M A X F S fmは、Xが fmax \ f_{max} fs≥ 2 F mは、Xが fs≥ 2fmax \ f_s \ge \ 2f_{max}fsfs f_s 編集:役立つ回答をお寄せいただきありがとうございます。
9 sampling 

3
ライブオーディオ入力で笛、ポップ、その他の音を検出するにはどうすればよいですか?
私はSOに関する多くの質問を読みました、そして率直に言って、それらのそれぞれはそれについて取り組む特定の方法を説明していません。「FFTを実行する」や「ゼロクロッシング」などと言う人もいます。しかし、デジタルオーディオ入力が特定の周波数の振幅の配列で構成されていることを理解しているだけです。それを超えて。 今私はナイキストの定理、周波数、振幅、フーリエ級数などを知っています、そしてそれは私がいくつかの学期の大学のプログラムでそれをした2-3年前からです。しかし、当時はフーリエの実際の使用法についてはあまり教えられていませんでした。私は、主題を理解するのに十分なことを学ぶだけで、その主題についてさらに掘り下げることはありませんでした。しかし、今、私はそれらすべてのものを使わなければならないつもりです。 これが私が検出しようとしている音のスナップショットです: 明らかに、サウンドにはユニークなグラフがあります。グラフ内の独特のとがった線から特定の特有の特性を抽出する方法を理解したいだけです。どのような振幅、周波数など。そしてどのくらいの時間-それは些細なことですが私は推測します。 わかりやすい説明リストを使って簡単な手順を教えてください-理解できない用語をググググできます。 たぶんこれ?- 入力オーディオデータを取得する スペクトログラムをプロットする ノイズのない環境で検出したいサウンドのスペクトグラムグラフを取得する そのグラフを研究する-その音のユニークな特性を描く (4)で見つかったサウンドの特性を使用して、ライブオーディオフィードでこれらの特定の特性を検出できるある種の関数を作成します 一致が見つかった場合、まあ-仕事は完了です。 アルゴリズムを磨いて、偽陰性を取り除きます。 ああABBBバツバツXZZZ 保存したい音を静かな環境でジェスチャーとしてユーザーに録音してもらうことを考えていました。そして、ユーザーは静かな時間のパディングの間だけで音を出します。録音の最初と最後に3秒。 つまり、最初の3秒間、私のシステムは現在の入力が通常の静かなバックグラウンドサウンドであることを確認します。そして、グラフの突然の変化は音声入力の開始になります。そして、それが停止すると、録音はさらに3秒間続き、その後に静かな時間のパディングが続きます。これはユーザーが手動で行います。次に、パディング時間の間のどこかで、グラフの突然の変化が続いた部分のみの特性を自動的に保存します。 したがって、その部分の特性はそのサウンドのジェスチャーデータとして保存され、後でライブオーディオフィードでその特定のサウンドを検出するために使用されます。 問題は、これらすべてを平易な英語で考えていることです。コードで効率的に実装できるように、数学と物理学について考える必要があります。何を書いてコードのどこに書けばいいのかまったくわからないのですが、SOに関する非常に多くのライブラリと質問があっても、自由に使えます。 これが長かったらごめんなさい。

4
正弦波の代わりに三角波を使用したDFTのような変換
DFT(離散フーリエ変換)は、信号を正弦波の複数の周波数に分解することを知っています。同じことを行うが、三角波の変換はありますか? 私の目的では、1次元信号(電圧など)についてのみ話します。私は過去の株式市場データを研究していますが、特定の株の反転について調べたいだけです。つまり、この変換を使用して株価の「ローパス」を実行したいのです。 編集:はいの場合、どうすればよいですか?
9 fft  dft  transform 

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