信号処理

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

1
Remez exchangeとParks-McClellanフィルター設計の違いは何ですか?
質問は、最近パークス・マクレランに関する上がってきたコメントのいくつかがあることを指摘パークス・マクレラン上のWikipediaの記事は、述べて ... Parks-McClellanアルゴリズムは、RemezアルゴリズムまたはRemez交換アルゴリズムのバリエーションです。 パフォーマンスに違いはありますか?remezオクターブの関数はMatlab関数と同等firpmですか?

3
Kayの推定量を使用するには、実際の値の信号をどのように前処理する必要がありますか?
20kHzでサンプリングされた信号サンプルが100,000あります。データは回転機械からの振動データであり、機械の回転速度に関連する重要なスペクトル成分が含まれています。x [ n ]x[n]x[n] マシンの速度はサンプルの持続時間にわたって変化するため、FFTのピークを使用しても、探している結果は得られません。 したがって、短期推定を可能にするケイの推定器などの推定器を使用したいのですが、次の信号モデルを想定しています。 x [ n ] = A exp(jはω N + θ )+ Z[ n ]x[n]=Aexp⁡(jωn+θ)+z[n]x[n] = A \exp(j \omega n + \theta) + z[n] ここで、 = 0 ... 99,999、は振幅、は推定される周波数、は初期オフセット、は複素ノイズです。A ω θ Z [ N ]nnnAAAωω\omegaθθ\thetaz[ n ]z[n]z[n] ただし、私の信号は実数値であり、次のようになります。 x [ n ] = A cos(ω …

4
エッジが互いに接触しているときに、個別のオブジェクトを検出するにはどうすればよいですか?
この質問は、Signal Processing Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 カメラから取得した画像内のすべての輪郭を見つける必要があります。そこで、まずエッジ検出器を使用してエッジを見つけ、次に輪郭を見つけます。ものすごく単純。 しかし、私の輪郭は「マージ」されます。たとえば、下の画像では、明らかに4つの異なるオブジェクトがあります。ただし、エッジはいくつかのポイントでわずかに接触しているため、4つの別々の輪郭ではなく、1つの大きな輪郭を取得します。しきい値、侵食、モルフォロジー操作などを変更してみましたが、エッジが少し触れたままです。下の画像に似た画像で別々の輪郭を取得する方法について誰か提案はありますか?(以下の画像は明らかに単なる例であり、実際の画像ははるかに複雑ですが、基本的な問題は同じです)。

5
信号をオーバーサンプリングしたままにするのはなぜですか?
この質問をするためのより良い方法は考えられないので、例から始めましょう。最大周波数が50Hz(100Hzでサンプリング)の入力信号があるとします。対象の信号は0〜5Hzの範囲にあるため、カットオフ5Hzのローパスフィルターを追加し、結果の信号をさらに処理することができます。私の理解では、フィルター処理された信号を10分の1にダウンサンプリングできるため、処理の負荷を軽減できます。私は正しいですか?はいの場合、フィルタリングの後にダウンサンプリングが常に実行されないのはなぜですか?そして、私の仮定が間違っている場合、どこで間違っていますか?

3
距離変換の最速アルゴリズム
距離変換に利用可能な最速のアルゴリズムを探しています。 このサイトhttp://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htmによると、次のように説明しています。 距離変換は、2つのパス(例、RosenfeldとPfaltz 1968)で巧妙なアルゴリズムを使用して、はるかに効率的に計算できます。 あちこち検索して、「Rosenfeld、A and Pfaltz、J L. 1968. Digital Picturesの距離関数。パターン認識、1、33-61」を見つけました。 しかし、すでに1968年のアルゴリズムよりも優れた高速なアルゴリズムが必要だと思います。実際、1968年のソースを見つけることができなかったので、助けていただければ幸いです。

2
Pythonでスペクトログラムの解像度を改善しますか?
specgram()関数を使用matplotlibしてPythonで音声波形ファイルのスペクトログラムを生成していますが、出力は常に、通常の文字起こしソフトウェアPraatが生成できる品質よりも非常に劣っています。たとえば、次の呼び出し: specgram( fromstring(spf.readframes(-1), 'Int16'), Fs=framerate, cmap=cm.gray_r, ) これを生成します: Praatが次の設定で同じオーディオサンプルに取り組んでいる間: 表示範囲:0-8000Hz ウィンドウの長さ:0.005s ダイナミックレンジ:70dB 時間ステップ:1000 周波数ステップ:250 ウィンドウ形状:ガウス これを生成します: 私は何を間違えていますか?すべてのspecgram()パラメーターをいじってみましたが、解像度を改善できるものはありません。FFTの経験はほとんどありません。

4
分離可能な整数2Dフィルター係数を分解する高速/効率的な方法
整数係数の特定の2Dカーネルが整数係数を持つ2つの1Dカーネルに分離可能かどうかをすばやく判断できるようにしたいと思います。例えば 2 3 2 4 6 4 2 3 2 に分離可能です 2 3 2 そして 1 2 1 分離可能性の実際のテストは、整数演算を使用するとかなり簡単に思えますが、整数係数を使用した1Dフィルターへの分解はより困難な問題であることが判明しています。困難は、行または列間の比率が非整数(有理数)である可能性があるという事実にあるようです。たとえば、上記の例では、比率が2、1 / 2、3 / 2、および2/3です。 SVDのようなヘビーデューティアプローチを使用したくないのは、(a)ニーズに対して比較的計算コストが高く、(b)整数係数を決定するのに必ずしも役に立たないためです。 何か案は ? さらに詳しい情報 係数は正、負、またはゼロの場合があり、いずれかまたは両方の1Dベクトルの合計がゼロである病理学的な場合があります。例えば -1 2 -1 0 0 0 1 -2 1 に分離可能です 1 -2 1 そして -1 0 1
21 filters  separability  1d  2d 


3
ピッチ検出を改善するためのヒント
ユーザーがギターをチューニングできるシンプルなWebアプリを開発しています。私は信号処理の本当の初心者なので、私の質問が不適切であるかどうかを厳しく判断しないでください。 そのため、FFTアルゴリズムを使用して基本周波数を取得することができましたが、この時点でアプリケーションは何らかの形で機能しています。ただし、改善の余地があり、現在、FFTアルゴリズムに未処理のpcmを送信していますが、検出を改善する前/後のアルゴリズム/フィルターがあるかもしれないと考えていました。何か提案できますか? 私の主な問題は、特定の周波数を検出すると、その周波数が1〜2秒間表示された後、他のランダムな周波数にジャンプして、音が連続していても再び戻ってくるということです。 また、そのようなことを経験したことがある場合、他のタイプの最適化にも興味があります。

4
FIRフィルターに必要なタップ数は?
ローパスフィルターを実装するためのFIRフィルターのセットを設計したいと考えています。また、フィルターを通過する信号の遅延を削減しようとしているので、使用できるタップの最小数はどのくらいかと思います。 タップを増やすと、周波数のカットオフがよりシャープになり、阻止帯域除去などが改善されることがわかっています。しかし、興味があるのはより基本的です-は、低周波信号を減衰させるために少なくとも100タップが必要であることを意味していますか?または、より少ないタップで逃げることができますか?そうであれば、理論的な下限がありますか?fs100fs100\frac{f_s}{100}

3
ガボールフィルターとは何か、その主な用途は何か
ガボールフィルターの研究を行っていますが、Googleで検索したとき、非常に長く複雑な記事がありました。誰でも簡単な説明を見つけたり、ウェブサイトや記事を読んで読んだりするのを手伝ってくれますか?Matlabで使用するために、このフィルターを理解したいと思います。

3
窓はもともとどのように考案されましたか?
一般的な種類のウィンドウ(ハミング、ハニング、カイザー、テューキーなど)を認識しています。しかし、多くの本がそれらを説明していますが、それらがどれほど正確に由来したかをほとんど教えてくれません。 ハミングウィンドウの神聖なところは何ですか?ハニングはどうですか?それらはすべてメインローブの幅とサイドローブの減衰の比率で再生されることを理解していますが、それらはどのように正確に導出されましたか? 私の質問の動機は、メインローブの幅とサイドローブのエネルギーを再生する独自のウィンドウを設計できるかどうかを把握しようとしているためです。

2
MFCC抽出プロセスのDCTステップをどのように解釈しますか?
ほとんどのオーディオ処理タスクで、最も使用される変換の1つはMFCC(メル周波数ケプストラム係数)です。 私はほとんどMFCCの背後にある数学を知っています。フィルターバンクステップとメル周波数スケーリングの両方を理解しています。 取得できないのはDCT(離散コサイン変換)ステップです。このステップではどのような情報を取得できますか?このステップの優れた視覚的表現は何ですか?

2
実生活における独立した非相関データの例、およびそれらを測定/検出する方法
このデータのベクトル対この他のデータのベクトルは互いに独立している、または無相関などであると常に耳にしますが、これらの2つの概念に関する数学に出会うのは簡単ですが、実際の例にそれらを結び付けたいと思います人生、そしてこの関係を測定する方法を見つけます。 この観点から、私は次の組み合わせの2つの信号の例を探しています:(いくつかから始めます): 独立したAND(必然的に)無相関の2つの信号: 車のエンジンからのノイズ()と話しているときの声()。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] 毎日の湿度の記録()およびダウジョーンズインデックス()。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] Q1)これらの2つのベクトルを手にして、それらが独立していることをどのように測定/証明しますか?独立とは、pdfの積が結合pdfに等しいことを意味し、それは素晴らしいことですが、これらの2つのベクトルがあれば、どのように独立性を証明できますか? 独立していないがまだ相関していない2つの信号: Q2)ここでの例を考えることはできません...いくつかの例は何でしょうか?このような2つのベクトルの相互相関を取ることで相関性を測定できることはわかっていますが、それらが独立していないことをどのように証明しますか? 相関する2つの信号: メインホールのオペラ歌手の声を測定するベクトル。誰かが建物内のどこか、たとえばリハーサルルーム()からの声を録音します。v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] 車の心拍数()を継続的に測定し、後部のフロントガラスに当たる青色光の強度()も測定した場合、これらは非常に相関していると推測されます。 。:-)v 2 [ n ]v1[n]v1[n]v_1[n]v2[n]v2[n]v_2[n] Q3)q2に関連していますが、この経験的な観点から相互相関を測定する場合、それらのベクトルの内積を調べるだけで十分ですか(相互相関のピークの値であるため)?なぜ相互相関関数の他の値が重要なのでしょうか? 感謝します

2
対数間隔のパワースペクトルを計算するにはどうすればよいですか?
周波数が対数間隔になっているパワースペクトルを計算したいと思います。 でWelch法トレードオフの結果として得られるパワースペクトルの周波数分解能及び平均の数(結果、すなわち誤差)との間に存在します。このトレードオフを動的にしたい、つまり、低周波数でより良い解像度を得るために、低周波数ポイントの平均を少なくします。 これを行う標準的な方法はありますか? 1つの方法は、最初pwelchに非常に高い解像度(平均数が少ない)で行い、次に対数ビニングを使用して結果のスペクトルを再ビンニングすることです。
20 dft 

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