タグ付けされた質問 「signal-detection」

6
信号解析の観点からの畳み込みと相互相関の違い
畳み込みと相互相関の違いを理解しようとしています。私は理解されたこの答えを読みました。下の写真も理解しています。 しかし、信号処理(私がほとんど知らない分野)に関しては、2つの信号(または、信号とフィルターでしょうか?)つまり、実際の分析では、畳み込みが優先され、相互相関が優先されます。 これらの2つの用語には多くの用途があるように思えるので、その用途は何ですか? *ここの相互相関は、g*f代わりに読む必要がありますf*g

4
Scipy-オーディオ処理
オーディオ信号処理に適したツールを探しています。例:音声と音楽の分析、自動言語識別など。 Scipyライブラリはオーディオ処理のための機能を提供しますか?オーディオ信号処理に適したツールはありますか? このためのツールを提案していただけますか?

5
音声のみの録音で歌が始まる場所を特定する
ユーザーが4行の歌を歌う小さなカラオケスタイルのアプリがあり、各行の間に1秒のギャップがあります。バッキングミュージックはないので、音声のみで、問題を解決しやすくすることを願っています。 私は、録音のどこでユーザーが1行目の歌唱を開始および終了し、2行目の歌唱を開始および終了するかを正確に検出する最も堅牢な方法を探しています。 私は、録音中にバックグラウンドノイズがほとんどない場合(それが発生する場合など)に機能する単純なアルゴリズムを組み合わせましたが、最小のノイズが存在する場合はバラバラになります。 誰かが私をもっと堅牢なものに向けることができますか?

2
エントロピーとSNRの関係
一般に、あらゆる形のエンロピーは不確実性またはランダム性として定義されます。ノイズが増加するノイズの多い環境では、目的の信号の情報内容が不確実であるため、エントロピーが増加すると考えています。エントロピーとSNRの関係は何ですか?信号対雑音比が増加すると、雑音電力は減少しますが、これは信号の情報量が増加することを意味しません!! 情報内容は同じままかもしれませんが、それはエントロピーが影響を受けないということですか?

2
奇数/偶数高調波を信号に追加しますか?
浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか? tanhまたはsinを使用する必要がありますか? 私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。

2
ノイズ内の信号の存在を判断するためにどの統計が使用されますか?
これは私が信じている検出器の問題です: 単純な問題のように思われることに困惑しています。基本的に、私は興味のあるバンドを持っています。この対象の帯域内に信号エネルギーが存在する場合、信号に対して操作Xを実行します。 私の問題は、信号が存在するかどうかを「決定する」方法について正確にわからないことです。その中で、FFTを実行した後、ピークを探すことができます。 しかし、今何ですか? 通常使用される統計は、このピークをスペクトルの周囲の平均と比較していますか?それとも他の統計ですか? 信号が存在するかどうかを簡単に判断し、そこから移動するには、どの統計的尺度を使用しますか? この値を設定するにはどうすればよいですか?単純なしきい値処理? フィードバックに基づいて編集: この単純なケースでは、ホワイトガウスノイズのトーンを想定しています。私がハンドルを握ろうとしているのは: ROC 曲線はどの程度正確に生成されますか。1が行くとしなければならないラベル最初にすべてのデータを、そしてその後、しきい値の多数のための真陽性と偽陽性率を得ますか? SNRの低下はROC曲線にどのように影響しますか?斜めに動かしますか? 適応しきい値なしで生成された特定のROC曲線に対して適応しきい値処理は何をしているのですか? 3a。私が見ることができるいくつかの一般的な適応しきい値技術は何ですか?

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
ノイズのある複数の信号のSNRを定義する方法は?
Iは、所与の加法性雑音によって汚染測定の信号の存在の数を推定する必要がのベクトルスナップショット次元Xとしてモデル化され、X = A S + ZここでsはあるK × 1つの表すベクトルkの異なる信号を。Aはn × kの非ランダム行列、zはn × 1のノイズベクトルです。(このモデルは配列処理の問題で一般的です。)nnnxx\bf xバツ=As+zx=As+z \bf x = \bf A \bf s + \bf z ss\bf sk ×1k×1k \times 1kkkああ\bf An × kn×kn \times kzz\bf zn × 1n×1n \times 1 SNRをどのように定義する必要がありますか(信号ごと、平均など)。

3
事前分布が不明な観測から最適なバイナリ決定ルールのしきい値を決定する
事前の情報が不明なガウスノイズによって摂動されたバイナリ信号の観測のみが与えられた場合、どのようにして最適な判定しきい値を推定できますか? (いいえ、これは宿題ではありません) 具体的には、次のモデルについて考えていますは2つの状態ランダム変数です。(H 0、H 1)YYY(H0、 H1)(H0、H1)(H_0,H_1) P(Y| H0)〜N(μ0、σ)P(Y|H0)〜N(μ0、σ)P(Y|H_0) \sim \mathcal N(\mu_0,\sigma) P(Y| H1)〜N(μ1、σ)、μ0&lt; μ1P(Y|H1)〜N(μ1、σ)、μ0&lt;μ1P(Y|H_1) \sim \mathcal N(\mu_1,\sigma),\quad \mu_0 < \mu_1 P(H0)= π0P(H0)=π0P(H_0) = \pi_0 P(H1)= 1 - π0P(H1)=1−π0P(H_1) = 1-\pi_0 未知のパラメータ:。μ0、μ1、σ、π0μ0、μ1、σ、π0\mu_0, \mu_1, \sigma, \pi_0 最大事後確率対数しきい値は、私が知っている場合、これらのパラメーターから計算できます。私は当初、しきい値に到達するために最初にパラメーターを推定する方法を考えてい。しかし、私はを直接推定する方がより堅牢かもしれないと思っています。YtYtY_tYtYtY_t 思考:正規化の観察(サンプル平均値を減算し、標準偏差で割る)2次元にパラメータ空間を減少させる:π0π0\pi_0とσμ1− μ0σμ1−μ0\frac \sigma{\mu_1-\mu_0}。

5
ノイズのスペクトル減算を改善するための推定器
クリーンな信号に依存しない、真のゼロ平均ガウスホワイトノイズ xxx 既知の分散が追加されます xxx ノイズの多い信号を生成する y.y.y. 離散フーリエ変換(DFT) YYY ノイズの多い信号の次のように計算されます。 Yk=1N∑n=0N−1e−i2πkn/Nyn.(1)(1)Yk=1N∑n=0N−1e−i2πkn/Nyn.Y_k = \frac{1}{N}\sum_{n=0}^{N-1}e^{-i2\pi kn/N}y_n.\tag{1} これは単なるコンテキストであり、周波数領域でノイズ分散を定義するため、正規化(またはその欠如)は重要ではありません。時間領域のガウスホワイトノイズは、周波数領域のガウスホワイトノイズです。質問:「ホワイトガウスノイズの離散フーリエ変換の統計とは何ですか?」を参照してください。したがって、次のように書くことができます。 Yk=Xk+Zk,Yk=Xk+Zk,Y_k = X_k + Z_k, どこ XXX そして ZZZ クリーンな信号とノイズのDFTであり、 ZkZkZ_k 分散の円対称複素ガウス分布に従うノイズビン σ2σ2\sigma^2。それぞれの実数部と虚数部ZkZkZ_k ガウス分散の分散を個別に追跡する 12σ212σ2\frac{1}{2}\sigma^2。ビンの信号対雑音比(SNR)を定義しますYkYkY_k なので: SNR=σ2|Xk|2.SNR=σ2|Xk|2.\mathrm{SNR} = \frac{\sigma^2}{|X_k|^2}. 次に、スペクトル減算によってノイズを低減する試みが行われます。これにより、各ビンの大きさが YkYkY_k元の位相を保持しながら、独立して減少します(大きさの減少でビン値がゼロにならない限り)。削減は見積もりを形成します|Xk|2ˆ|Xk|2^\widehat{|X_k|^2} 広場の |Xk|2|Xk|2|X_k|^2 クリーン信号のDFTの各ビンの絶対値: |Xk|2ˆ=|Yk|2−σ2,(2)(2)|Xk|2^=|Yk|2−σ2,\widehat{|X_k|^2} = |Y_k|^2 - \sigma^2,\tag{2} どこ σ2σ2\sigma^2各DFTビンにおける既知のノイズの分散です。簡単にするために、私たちは考慮していませんk=0,k=0,k = 0, または k=N/2k=N/2k = …

2
高速ピッチ認識
ミュージシャンが音楽を再生しているときにピッチ(信号周波数の測定)を検出し、チューニングがずれている場合は警告を出す必要がありますが、音楽がFFT(高速フーリエ変換)には少し速すぎる場合があります。 以下に、問題の技術的な説明を記載します。 ミュージシャンは90〜140 bpmで音楽を演奏します。つまり、毎分90〜140のノートグループがあり、各グループには最大8(より頻繁には最大4)のノートがあります(60/140/8 = 0.0536秒、60/90/4 = 0.167秒)。つまり、ノートは毎秒6〜19のレートで変化する可能性があります。 音楽は対数スケールを使用します(添付の画像を参照)。たとえば、440Hzから880Hzまでの範囲は12の音符に分割され、そのうちの7つだけがメロディーに使用されます。(基本的に、ピアノの白いキーのみを使用します。開始周波数をシフトする場合、黒いキーの一部を使用し、白いキーの一部は使用しません。)つまり、次の各ノートの周波数が乗算されます。 2 ^(1/12)= 1.05946。 物事をより複雑にするために、A(La)周波数は438から446 Hzまで変化します。弦楽器は理論的にはチューニングできますが、管楽器は気温と湿度に依存するため、周波数はサウンドチェック中にミュージシャンによって再ネゴシエーションされます。 ミュージシャンやボーカリストは周波数に誤りを犯すことがあり、それを「調律外」と呼んでいます。彼らは、そのような「調整外エラー」を通知するデバイスを望んでいます。彼らはチューナーを持っていますが、チューナーは何かを見せ始める前に約1秒間同じサウンドを再生する必要があります。これはチューニングには有効ですが、音楽の再生中は機能しません。 ほとんどの場合、チューナーはFFTを実行しており、式 df=1/Tdf=1/Tdf = 1/T 1Hzの解像度を取得するために1秒間待機します。 A = 440Hzの場合、2つの音符間の周波数の差は440 * 0.05946 = 26.16 Hzです。その周波数分解能を得るには、0.038秒の取得時間を使用する必要があります。つまり、tempo = 196bpmでFFTは2つを区別できます。ノートは、98 bpmでピッチが変化するその瞬間に取得を開始する場合、50%の調整外エラーを通知できます。取得期間中にピッチの変更を許可すると、49 bpmになり、遅すぎます。さらに、周波数についてより正確であることが非常に望ましいです。たとえば、25%または12%の調整誤差を検出します。 FFTよりも優れた周波数(ピッチの検出)を測定する方法、つまり、より短い取得時間でより良い分解能で測定する方法はありますか?(少なくとも2倍、理想的には8〜16倍。)代わりに、異なるオクターブの音を区別する必要はありません。たとえば、440と880の両方がAとして認識される場合があります。FFTの線形性は必要ありません。出力、対数スケールの方が良いでしょう。(おそらく、より多くのトレードオフが可能ですが、今のところ、他に何も思い浮かびません。) これは本当に良い絵です:

2
非常にうるさいオーディオからのノイズ低減
バードコールの録音でオーディオの一部を自動的にセグメント化するアルゴリズムを記述しようとしています。私の入力データは1分間のwaveファイルであり、出力では、さらに分析するために個別の呼び出しを取得したいと考えています。問題は、S / N比が環境条件とマイクの品質(モノラル、8 kHzサンプリング)の質が悪いためにかなりひどいことです。 ノイズ除去をさらに進める方法についてのアドバイスをいただければ幸いです。 これが私の入力の例です。ウェーブ形式で1分の音声録音:http : //goo.gl/16fG8P これは信号がどのように見えるかです: バンドパスフィルタリングでは、1500〜2500 Hzの範囲にあるものだけを維持していますが、状況は改善されますが、それでも期待からはほど遠いです。このスペクトルにはまだ多くのノイズが存在しています。 また、長期的な(32サンプル間隔を超える)平均エネルギーをプロットし、そこからいくつかのクリックを削除しました。結果は次のとおりです。 残りのすべてのノイズについて、開始検出アルゴリズムに非常に低いしきい値を設定して、最後の10秒間の鳥の鳴き声を選択する必要があります。問題は、そのような方法で微調整すると、次のレコーディングで誤検知が大量に発生する可能性があることです。 移動平均フィルターは、風雑音に少し役立ちます。他のアイデアは?「スペクトラルサブトラクション」を考えていましたが、鶏と卵の問題があるようです。ノイズのみの領域を見つけるには、オーディオをセグメント化し、オーディオをセグメント化して、ノイズを除去する必要があります。このアルゴリズムを含むライブラリや、疑似コードの実装を知っていますか?Methinks Audacityは、このような方法を使用してノイズを除去します。これは非常に効果的ですが、ノイズのみの領域をマークするのはユーザーに任されています。 私はPythonで書いており、それは無料のオープンソースプロジェクトです。 読んでくれてありがとう!

3
加速度計データを分類する方法は?
iPhoneの加速度計を使用して、車が加速したかブレーキをかけたかを検出しようとしています。 下の図では、収集したデータをプロットしています。(データを収集するために、電話は、車の中で、電話の上部を正面に向けて平らに置いていました)。 私が今持っている問題は、車が加速した場所とブレーキをかけた場所を視覚的にはっきりと確認できることです(以下を参照)。しかし、プログラムでそれを行う方法を理解することはできません。 基本的に私が欲しいのは、特定の時間帯に車がブレーキまたは加速した頻度を知ることです。(ウィンドウサイズは約10〜30秒)。 任意の助けをいただければ幸いです。 前もって感謝します!

1
シグナルが別のシグナルにどのように存在する可能性があるかを見分ける方法(分散は不明)
これはおそらく単純な質問だと思いますが、満足のいく答えをどこにも見つけることができませんでした... 有限長Nの時系列信号があるとします。これを呼びます。正弦波ガウスのように見えますが、ランダムな効果があります。ゼロの平均であり、トレンドはありません。y[ n ]y[ん]y[n] ここで、この信号を受信し、K個のその他の「候補」信号セットがあるとします。最も可能性の高い候補が何であるかを確認したいとします。これを行い、確率を付加する方法はありますか?たとえば、候補1は20%の確率で存在し、候補2は15%の確率で存在し、パーセントが100%に加算されます。 y[ n ]y[ん]y[n]バツ1[ n ] 、バツ2[ N ] 、。。。、バツK[ n ]バツ1[ん]、バツ2[ん]、。。。、バツK[ん]x_{1}[n], x_{2}[n], ...,x_{K}[n] いくつかのメモ: 振幅を問題にしたい。候補信号の振幅がy[ n ]y[ん]y[n]、存在する可能性は低く、他の候補はまったく同じですが、振幅が大きくなります。 信号内の各データポイントの分散( y[ n ]y[ん]y[n] または x [ n ]バツ[ん]x[n])不明です。私たちに与えられているのは、上記のものだけです。私は何かのようなことをするためにχ2χ2\chi^{2} 適合度テスト(これは私に提案されています)、信号の各データポイントの分散について何かを知っている必要があります。 私が見つけた最も近いものは一致フィルタリングですが、上記のような確率をどのように計算しますか?それとも、そのような確率を計算することは、質問に対する間違った答えのようなものですか? コヒーレンスは関連していますが、それは信号が時間とともにどのように変化するかについての詳細です(私の限られた理解から)。言及されているすべての信号は有限の長さNを持ち、信号はすでに時間的に一致しています(特定の時点での信号の類似性のみが重要です)。それらの間の時間遅延は無関係です。 ありがとう!! これについてあなたが持っているどんな考えでも大歓迎です!

5
ノイズのある正弦波を検出する方法にはどのようなものがありますか?
利用可能なテクニックの種類について、幅広い分類を探しています。文献調査を開始するために使用できるもの。 いくつかの詳細: リアルタイム実装に適している必要があります。 バイナリの決定です。信号を継続的に入力できるはずです。アルゴは、波形の正弦波の開始時間と停止時間を検出する必要があります。 他の信号はありません。つまり、正弦波が存在しない場合、ノイズのみになります。 入力は帯域制限されており、正弦波が存在する場合は、その帯域内にあることが保証されます。 トレードオフは、速度(正弦波の出現後、アルゴがその存在を検出できるようになるまでの時間)と誤検知(最小でなければならない)の間です。 自分自身がわからないため、許容できるパフォーマンス測定値について正確な数値を示すことはできません。私は私のアプリケーションに対するすべての提案を実装し、自分自身を見つけ出すつもりです。私はこの問題に取り組むための「標準的な」テクニックを探しています。 詳細: 入力はバンドパスフィルターの出力であるため、ノイズも通過帯域でのみ重要になります。 正弦波がいつ現れるかは確実ではありません。正弦波の持続時間は50〜100 msの範囲です。正弦波の振幅は変動します。

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