信号処理

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

2
離散フーリエ変換のゼロ周波数の中心化
私は、離散フーリエ変換を使用してぼかし/シャープ化を実装する画像処理アプリケーションに取り組んでいます。アプリケーションは多かれ少なかれ動作していますが、メカニズムについてはまだ混乱しています。 特に、ゼロ周波数を中心にするプロセスがどのように行われているかです。 私が見た例では、入力画像(グレースケール強度)に、入力画像と等しいサイズの行列を乗算することによって前処理を行っています。その値はで、xは行、yは列です。したがって、1と− 1が交互になるパターン(−1)x+y(−1)x+y(-1)^{x+y}xxxyyy111−1−1-1 ノートによると、これは、軸とy軸をめくって行列の象限を入れ替えることと同じです。xxxyyy これが行われる理由を理解し、コード/フーリエ関数が機能していることを理解したいのですが、入力マトリックスを1 / -1で乗算すると、ゼロ周波数成分が0を中心とする理由がわかりません。 ありがとう

2
入力画像にガボールフィルターを適用する
特定のスケールでGaborフィルターを適用しようとしました(ラムダとシグマの私の値によると、それは(7x7)であり、4つの方向(0、、および)を入力グレースケールイメージに変換します。π4π4\frac{\pi}{4}π2π2\frac{\pi}{2}3個のπ43π4\frac{3\pi}{4} 私のコードでは、3つのステップが実行されます。 ガボールフィルターの作成 RGB画像を読み取り、それをグレースケールに変換し、最終的に2倍に変換します。 作成したガボールを入力画像に適用します(ここでは、私のコードが真であるかどうかはわかりません。そのため、あなたの意見が必要です) 1)--------------ガボールフィルターを作成します(サイズ= 7x7および4方向) %define the five parameters theta=....; %either 0 or pi/4 or pi/2 or 3pi/4 lambda=3.5; gamma=0.3; sigma=2.8; psi=0; sigma_x = sigma; sigma_y = sigma/gamma; nstds = 5; xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta))); xmax = ceil(max(1,xmax)); ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta))); ymax = ceil(max(1,ymax)); xmin = -xmax; ymin = …

2
与えられた位置測定、速度と加速度を推定する方法
これは単純だと思いましたが、私の素朴なアプローチは非常にうるさい結果をもたらしました。私はこのサンプルの時間と位置をt_angle.txtという名前のファイルに入れています。 0.768 -166.099892 0.837 -165.994148 0.898 -165.670052 0.958 -165.138245 1.025 -164.381218 1.084 -163.405838 1.144 -162.232704 1.213 -160.824051 1.268 -159.224854 1.337 -157.383270 1.398 -155.357666 1.458 -153.082809 1.524 -150.589943 1.584 -147.923012 1.644 -144.996872 1.713 -141.904221 1.768 -138.544807 1.837 -135.025749 1.896 -131.233063 1.957 -127.222366 2.024 -123.062325 2.084 -118.618355 2.144 -114.031906 2.212 -109.155006 2.271 …

2
周波数領域での信号のノイズフロアの決定
信号を周波数領域で確認することにより、信号のノイズフロアを特定する方法はありますか?すべてのビン、または中央値、または以下の質問で説明されているようなより複雑な計算を平均化することの問題ですか? 周波数ピークを決定するための最良の基準は何ですか? ノイズフロアを決定して、信号に特定の周波数が含まれているかどうかを判断するためのしきい値を設定します。

3
ADC性能シミュレーション:FFTからSINADを計算する方法?
この問題に取り組んでいる間、私は私の最初の定義が S私NA D = 10 ログ10(pfΣ私(p私) − p0− pf) dBSINAD=10log10⁡(pf∑i(pi)−p0−pf)dBSINAD = 10 \log_{10} \left( \frac{p_f} {\sum_i{(p_i)} - p_0 - p_f} \right)dB 正しい。この方程式では、は周波数でのFFTビンの電力、は信号周波数を含む周波数ビンの電力、はDCコンポーネントです。DC成分と信号周波数削除する前に、の合計はすべての周波数成分を累積します。 x p f f p 0 i p 0 p fpバツpxp_xバツxxpfpfp_ffffp0p0p_0私iip0p0p_0pfpfp_f より具体的には、Wikipediaの説明から解釈した部分がんΣ私(p私)∑i(pi)\sum_i(p_i) (a)元の変調オーディオ信号の電力、つまり変調された無線周波数キャリアからの電力、(b)残余のオーディオ電力、つまり元の変調オーディオ信号が削除された後に残っているノイズと歪みの電力の比率。この定義により、SINADレベルが1未満になる可能性があります。 方程式と比較すると、「元の変調オーディオ信号」は周波数にあり、FFTの項で説明されています。用語Iは、DC成分を除去すると言い、次の論文から得ました:p f p 0fffpfpfp_fp0p0p_0 で、 "理解SINAD、ENOB、SNR、THD、THD + N、およびSFDR"ドキュメント、それは言います 信号対雑音および歪み(SINAD、またはS /(N + D))は、rms信号の振幅と、高調波を含む他のすべてのスペクトル成分の二乗和(rss)の平均値との比です。 DCを除く これらの定義を見ると、SINADの別の可能な定義を考えることができます。 SINAD=10log10⎛⎝⎜pf∑i(p2i)−−−−−−√−p0−pf⎞⎠⎟dBSINAD=10log10⁡(pf∑i(pi2)−p0−pf)dBSINAD …
11 fft  noise 

4
OFDMとのシンボル同期はどのように行われますか?
私は、パイロットトーン、サイクリックプレフィックス、またはその他の技術を使用して、OFDMでシンボル同期がどのように行われるかを理解しようとしています。 私はいくつかの説明を提供する次の回答を読みましたが、それでも完全に理解していません。 OFDM信号を復調する方法 後続のチャネル推定アルゴリズムに必要なタップ数を推定する方法は? 特定の質問: 1)パイロットトーンはどのようにして見つけられますか?サブキャリアの通常のデータと何が違うのですか?シンボルの開始と終了を決定するためにどのように使用できますか? 2)上記の答えを正しく理解していれば、循環プレフィックスを使用してシンボルの開始/終了を見つけることができます。これは、遅延と自動相関するためです。ただし、循環プレフィックスは、ISIを「吸収」するために存在します。では、プレフィックスがISIで変更されている場合、この自動相関はどのようにして成功するのでしょうか。


3
周波数領域でエッジ検出を実行できますか?
フーリエ領域でエッジ検出アルゴリズムを実装するために、画像のFFTの高周波成分が一般にエッジに対応するという事実を利用できますか?ハイパスフィルターに画像のFFTを掛けてみました。結果の画像はエッジに対応していましたが、畳み込み行列を使用して確立されたエッジ検出ではありませんでした。では、フーリエドメインでエッジ検出を行う方法はありますか、それともまったく不可能ですか?

2
高品質のリバーブアルゴリズム
私はこのサイトを少し検索しましたが、驚くべきことに、関連する情報はあまり見つかりませんでした。DSPに関する私の知識は非常に限られています。 私の目標は非常に単純です。C++でアルゴリズムのリバーブをプログラムしたいのですが、これは本当にいいですね。より正確には、最良のオプションは、エンドユーザーが品質とCPU使用量の間のトレードオフを選択できるようにすることです。 これまでにわかったことから、リバーブを作成するには、ドライ信号をアーリーリフレクションアルゴリズムに送り、次にレイトリフレクションアルゴに送る必要があります。これは正しいです ? 今、私はフィードバック遅延ネットワーク(時変フィードバック遅延ネットワークを使用した人工反響要件の削減)を使用して、遅延反射部分に関する広範な記事を見つけました。私が読んだことから、FDNは高品質であり、後期反射をシミュレートする(CPUの観点から)あまりに拡張的ではありません。さらに、遅延線の数を変更することで、品質とCPUのチャージのトレードオフを制御できると思います。 ただし、初期反射アルゴリズムをどのようにプログラムするかはまったくわかりません(覚えていますか?DSPドメインでは本当に無知です)。 一種のマルチディレイを使用することは私には論理的に聞こえます。これはプログラミングが簡単で、計算コストが安いという利点があります。しかし、それは本当であるには単純すぎるように思えます。 さらに、本能は、1つまたは複数のフィルターを信号パスのどこかに含める必要があることを教えてくれます。 誰かがこのトピックを少し明確にしてくれませんか? 2つのメモ: 私はコンボリューション・リバーブをまったく望んでいません。リバーブのリアリズムについては特に気にしませんが、代わりに、CPUに飢えたリバーブではなく、良いサウンドで微調整可能なサウンドを求めています。 また、コーディングの部分は私を心配するものではありません、そうでなければスタックオーバーフローについて尋ねます。それは本当にDSPの部分であり、まさにその部分です:)
11 algorithms 

3
(実際の)正弦波のトーンとパルスの帯域幅はどれくらいですか?
次の帯域幅を計算する方法を教えてください。 一定の(実際の)正弦波のトーン (実際の)正弦波パルス。 質問はそれと同じくらい簡単ですが、一定のトーンの帯域幅を正確に何から始めるべきか、そしてそこから、パルスの帯域幅がどうあるべきかという概念に苦労しています。 周波数領域では、周波数一定の実音は、とある2つのデルタ関数として存在しますが、その帯域幅を計算するにはどうすればよいでしょうか。f − fffffff−f−f-f さらに、パルスに関しては、これは時間的には長方形の関数なので、周波数領域ではsincであるため、その帯域幅は単純にではなく、はパルスの持続時間ですか? T1T1T\frac{1}{T}TTT

4
量子化誤差はどのようにノイズを生成しますか?
自分でサンプリングとDSPについて学んでいます。量子化誤差がノイズになる原因を理解するのに苦労しています。基本的な理解が欠けていると思いますが、それが何かはわかりません。では、量子化誤差はどのようにノイズを生成するのでしょうか?
11 noise  sampling 

4
20 dBの信号対雑音比とはどういう意味ですか?
離散信号のある論文を読んでいます x (n )= s (n )+ w (n )x(n)=s(n)+w(n)x(n) = s(n) + w(n) 考えられている。は既知の確定的系列であり、は平均ゼロのホワイトノイズです。著者はそれを書きますw (n )s (n )s(n)s(n)w (n )w(n)w(n) 信号は20 dBのSNRで生成されました これは何を意味するのでしょうか? 信号エネルギーとはどういう意味ですか?これを定義する方法はいくつかあるようですが、このホワイトペーパーではそうする試みはありません。 20 dB SNRとはどういう意味ですか?またはどちらかだと思いますが、これらの概念を十分に理解していません。 20 = 20 log E s / E w20 = 10 ログEs/ Ew20=10log⁡Es/Ew20=10\log{E_s/E_w}20 = 20 ログEs/ Ew20=20log⁡Es/Ew20=20\log{E_s/E_w}

1
ノイズの多いポイントのコレクションから曲線を復元する
背景:ビデオ内の多数の泡を追跡するシステムを作成しようとしています Circular Hough Transformを使用して、単一画像のケースでバブル検出を実装しています。オクルージョン、ブラー、その他の要因により、この検出は100%正確になることはありません。精度を犠牲にして、再現率が高くなるように検出手順を調整しています。 これが行われ、ビデオの一連のフレームに適用されると、4D空間内のポイントとして特徴付けることができるいくつかの検出があります-x位置、y位置、半径、およびフレームインデックス。 この4D点群から曲線を復元できる手順はありますか?

3
振幅のみの周波数応答から伝達関数を推定する方法は?
任意の周波数応答が与えられた場合、その与えられた周波数応答に(ある程度の推定品質基準に対して)「かなり良い」近似を与える伝達関数(極とゼロの配置)を推測、推定、または決定できる信号処理方法はどれですか?与えられた伝達関数と与えられた近似誤差許容値に必要な極と零点の数を推定するためにどのような手段が存在しますか?または、可能であれば、これらの制約が満たされないと判断するにはどうすればよいでしょうか? 特定の周波数応答が既知の伝達関数によって実際に生成された場合、これらの方法のいずれかがその元の伝達関数に収束しますか?与えられた周波数応答が(ガウスと想定される)測定誤差の影響を受ける場合はどうでしょうか? 連続したドメインの回答も興味深いかもしれませんが、サンプルされたスペクトルでZ平面で作業すると仮定します。 追加:周波数応答の大きさのみが指定されている場合、解法は異なりますか(たとえば、位相応答のある解が許可されます)? 追加:後者の問題は、単位円の周りの既知のマグニチュード応答が不明/測定されていない位相応答を考えると、私が最も興味を持っている問題であり、測定されたシステムを推定できますか?

2
リアルタイムの人間のピッチ検出
私は生のマイク入力を分析し、プレーヤーに彼の歌がどれだけ上手かを伝える歌のゲームを実装しようとしています。それはリアルタイムで行う必要があります。 私は同じ質問をする多くのスレッドに出くわしましたが、おそらくフィールドでの経験の不足と浅い数学の背景が原因で、私はまだそれで完全に終わっていません。DSPDimension Webサイトのピッチシフトの記事に基づくアルゴリズムを実装しました:http ://www.dspdimension.com/admin/pitch-shifting-using-the-ft/ 記事で説明しているように、真の周波数と振幅を抽出しますが、これで基本周波数を見つけることはできません。私は最大の大きさでビンを取得しようとしましたが、それはより高いピッチの信号に対して正しい結果を与えるだけであり、どのオーバーサンプリング係数を使用しても問題はありません。このアプローチは完全に間違っていますか、それとも私は正しい軌道に乗っていますが、何か不足していますか? 前もって感謝します、 編集:私はピッチクラスにのみ興味があることを言及するのを忘れていたので、ファンダメンタルズが欠けていても大丈夫ですが、サンプルには強い倍音があります。 EDIT2:みんなのおかげで、魅力的なアルゴリズムのバージョンが完成しました。低ピッチ推定の問題は、入力テストによるものでした。私が音符を歌ったとき、それは正しく一致しました。また、最高のピークだけでなく、すべての高調波を検討しています。

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