信号処理

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

2
なぜHannまたはBartlettウィンドウを使用するのですか?
ローパスFIRフィルターを設計していて、バートレット、ハン、ハミングの3つのウィンドウのいずれかを使用したいとします。オッペンハイムとシェーファーの離散時間信号処理、第2版、p。471:} 3つすべてが同じ遷移帯域幅を提供します:ここで、はフィルターの次数であり、十分に大きいと見なされます。Δ ω =8個のπNΔω=8πN\Delta\omega=\frac{8\pi}{N}NNN ただし、オーバーシュート(としましょう)はウィンドウごとに異なり、次の不等式が成り立ちます。δδ\delta δHa m m i n g&lt;δHa n n&lt;δB のR のT L E T TδHaメートルメートル私んg&lt;δHaんん&lt;δBartlett\delta_{Hamming}<\delta_{Hann}<\delta_{Bartlett} したがって、ハミングウィンドウを使用すると、最小のオーバーシュートと、幅遷移バンドが得られます。他の2つのウィンドウのいずれかを使用する場合、遷移帯域の幅は同じですが、オーバーシュートが増加します。ΔのωΔω\Delta\omega これは、ハミングウィンドウがハミングウィンドウよりも優れているため、ハンウィンドウまたはバートレットウィンドウを使用するケースはないと考えます。これは、1つのアスペクト()を改善し、別のアスペクト()。δδ\deltaΔωΔω\Delta\omega 問題は、ハミングウィンドウを常に使用できるのに、なぜ誰かがハンウィンドウまたはバートレットウィンドウを選択するのかということです。

3
SDRレシーバーがI / Qサンプルを送信するのはなぜですか?
ソフトウェア定義の無線アプリケーション用のハードウェアレシーバーを理解するには、基本的に入力信号を受け取り、それを同調周波数と混合してキャリア周波数を削除し、ペイロード信号の帯域幅に対して十分に高いサンプリングレートで結果の電圧をサンプリングします。 。これらのサンプルは、I / Q値のペアの形式で復調ソフトウェアに送信されます。後で別のサンプルをサイクル(チューニング周波数に関して)取得してQ値を取得し、サンプルレートを実質的に2倍にすることを想定しています。1/41/41/4 なぜI / Q表現を使用するのですか? たとえば、振幅を変えるだけで周波数または位相変調を行うことができるため、信号を合成するときにI / Qが(ハードウェアで)優れた表現であることがわかりますが、この理由はSDRレシーバーの場合には当てはまらないようです。 では、サンプリングレートの2倍のIではなく、出力にI / Qを使用することで得られるものはありますか?それとも慣習の問題ですか?

1
信号を方形波に分解するにはどうすればよいですか?
私は、振幅と位相が異なるさまざまな方形波を重ね合わせた信号を処理しています。通常、フーリエ変換を利用して信号を正弦波に分解しますが、この特定のケースでは方形波への分解がはるかに効果的です。フーリエ変換は非常に複雑なスペクトルを生成しますが、方形波分解はいくつかの明確なラインを与えるはずです。 私はそのような分解が可能であることを知っています。実際、分解の基礎として任意の周期関数を使用でき、これは主題に関する多くのテキストで言及されています。しかし、私は、非正弦波基底に分解するための公式や明示的な例を見つけることはできませんでした。 で構成される信号を分解する私のアプローチ NNNサンプルは、DFTのような式を使用すること ここで、は実数値です基本周波数の倍の周波数を持つ方形波。しかし、構成する方形波の位相情報を取得できず、手順を逆にすることができなかったため、これは確かに完全ではありません。バツkバツkx_kあなたk=Σん = 0N− 1バツんRk(n )あなたk=Σん=0N−1バツんRk(ん) u_k = \sum_{n=0}^{N-1} x_n \, \mathcal{R}_k(n)RkRk\mathcal{R}_kkkk 信号を、明確に定義された振幅と位相を持つ方形波に分解するにはどうすればよいですか?

3
帯域制限された信号のサンプリング中に、サンプリングインスタンス間で「失われる」信号値
ナイキストシャノンサンプリング定理によれば、帯域幅をもつ任意の連続時間信号 BBB ナイキスト周波数よりも小さい fN=fs/2fN=fs/2f_N=f_s/2 (と fsfsf_s サンプリング周波数)、これはサンプリング周波数でサンプリングされます fsfsf_ssinc補間(つまり、Whittaker–Shannon補間公式)によって完全に再構築できます。 一定のサンプリング時間で、大きさが制限された連続時間信号である未知のサンプルをサンプリングすると仮定します。 T=1/fsT=1/fsT=1/f_s サンプルインスタンスで kTkTkT、(k∈Zk∈Zk\in\mathbb{Z})、サンプリングジッタまたは量子化なし。次の制約を追加しますB=αfNB=αfNB=\alpha f_N、 0≤α≤10≤α≤10\leq\alpha\leq 1。 私が理解したいのは以下です: サンプルの瞬間kkk、それぞれについて決定したい αα\alphaサンプル間の任意の連続時間信号の最悪の場合の部分的な「オーバーシュート」k−1k−1k-1 そして kkk、私が持っていたかもしれないこと。つまり、連続時間信号が、サンプルの瞬間の最高(絶対)サンプリング値よりどれだけ高かったかkkk そして k−1k−1k-1。サンプリングによって「失われた」連続信号または再構築(sinc補間は完璧なので!!)。 例: 設定α=1α=1\alpha=1 離散時間信号[1,0,1,0,1,1,0,1,0,1]と仮定します(中央付近のdouble 1に注意してください。この信号は α=1α=1\alpha=1?)。サンプル(黒のインパルス)からのsincの再構成(青い線)は次のようになります(各サンプルに属するsincを灰色でプロットしました): サンプル間の「オーバーシュート」k=0k=0k=0 そして k=1k=1k=1、 ≈0.7≈0.7\approx 0.7 または 70%70%70\%。したがって、元の帯域制限された連続時間、または「完全に帯域制限された再構築された」信号で、値1.7のピークを逃しました。私が3つ以上の連続した1を置いた場合、オーバーシュートは少なくなります(ギブス現象は結局はるかに小さくなります)。したがって、このような2つの連続したサンプルは「最悪のケース」です。 信号を両方向に拡張すると、オーバーシュートが大きくなります。 これは、≈1.1≈1.1\approx 1.1 ほぼ2.1の値に。 シーケンスの長さ 2m2m2m、この「オーバーシュート」 o(m)o(m)o(m) 無期限に成長し、 o(m)∝ln(m)o(m)∝ln⁡(m)o(m)\propto\ln{(m)}に行く ∞∞\infty いつ m→∞m→∞m\to\infty。これは、sincの各サンプルが建設的な「干渉」を生み出し、1/πn1/πn1/\pi n (単位sincのすべてのエンベロープの貢献) n→∞n→∞n\to\infty 収束しません。 …

5
直交特徴を持つ任意画像上の回転角度の自動検出
次のサンプル(マイクロチップ写真の一部)のように、画像の角度を検出する必要があるタスクがあります。画像には直交する特徴が含まれていますが、解像度やシャープネスが異なるため、サイズが異なる場合があります。一部の光学的な歪みと収差のため、画像はわずかに不完全になります。サブピクセル角度検出精度が必要です(つまり、誤差は0.1°未満である必要があり、0.01°程度が許容されます)。参考までに、この画像の最適な角度は約32.19°です。 現在、私は2つのアプローチを試しました。どちらも、2°ステップの極小値に対してブルートフォース検索を実行してから、勾配を0.0001°ステップサイズまで下げます。 メリット関数はsum(pow(img(x+1)-img(x-1), 2) + pow(img(y+1)-img(y-1))画像全体で計算されます。水平/垂直線が揃っている場合-水平/垂直方向の変化が少ない。精度は約0.2°でした。 メリット関数は、画像の一部のストライプ幅/高さにわたって(最大-最小)です。このストライプも画像全体にループされ、メリット関数が蓄積されます。このアプローチは、水平/垂直線が整列しているときの明るさの小さな変化にも焦点を当てますが、大きなベース(ストライプ幅-約100ピクセル幅になる可能性があります)全体で小さな変化を検出できます。これにより、最高0.01°までの精度が向上しますが、微調整するパラメータが多数あります(たとえば、ストライプの幅/高さは非常に敏感です)。これは、現実の世界では信頼できない場合があります。 エッジ検出フィルターはあまり役に立ちませんでした。 私の懸念は、ワーストアングルとベストアングルの間の両方のケースでメリット関数の非常に小さな変化(&lt;2x差)です。 角度検出のためのメリット関数の記述について、何か良い提案はありますか? 更新:フルサイズのサンプル画像はここにアップロードされます(51 MiB) 結局のところ、このようになります。

1
CIE標準オブザーバーの小さな赤いピーク
人間の目には、赤、緑、青の3種類の色錐体があります。それらのスペクトル感度は、短波長(S、420〜440 nm)、中波長(M、530〜540 nm)、長波長(L、560〜580 nm)でピークに達します。下の図を参照してください。 次に、CIE標準オブザーバーがあります。ウィキペディアによると、CIE三刺激値X、Y、Zを生成する3つの線形光検出器の分光感度曲線と考えることができます。 CIE標準オブザーバーのカラーマッチング関数の赤い線も440 nmでピークになる理由がわかりません。より具体的に言うと、CIE標準オブザーバーのカラーマッチング関数のx線が約440nmでピークになる原因は何ですか? 誰かが私にそれを説明できますか?

2
オーディオ入力/スペクトルを正しく分析する方法
私はJavaと信号処理にかなり慣れていますが、オーディオ処理を扱うプロジェクトが割り当てられました。私に与えられたトピックは、曲(任意の曲)を分析するコンポーネントを持ち、現在再生されている周波数(リアルタイム)に応じてデータを出力するゲームです。つまり、曲が再生されると、現在の周波数が出力されます(1秒ごとに現在の周波数が出力されます)。 Stackoverflowで FFTを使用するように言われました。彼らは「ただFFTをする」と言いますが、それは私には何も意味しませんか?どのようにFFTを行いますか?私はチュートリアルを読み、基本的にそれが何であるかを理解していますが、次のようにそれを実装する方法についての手がかりはありません。 そのような処理に最も適したオーディオファイルのデータタイプは何ですか? FFTの入力は正確には何ですか 結果を解釈する方法 誰かがオーディオ信号を処理する方法について簡単なウォークスルー/チュートリアルを提案できますか?さらに、Java用のFFTの適切な実装を誰かが知っている場合は、その提案をいただければ幸いです。
9 fft  audio  java 

3
ガボールフィルター機能について
ガボールフィルターを使用して入力画像から特徴を生成するスクリプトを実装する必要があります。私はウェーブレットの過去の経験がなく、フーリエ解析(フーリエ解析と変換の背後にある基本的な考え方を理解しています)を学んでいるだけなので、実装は1週間で完了する必要があるため、ガボールフィルターを理解するのに役立ちません。ガボールフィルター関数の基礎を理解する必要はありませんが、それが何であり、何をするのかをある程度理解したいと思います。パラメータは何ですか?彼らはどういう意味ですか?関数の出力は何ですか?たとえば、これは私がWikipediaからコピーした式です。 g(x,y;λ,θ,ψ,σ,γ)=exp(−x′2+γ2y′22σ2)exp(i(2πx′λ+ψ))g(x,y;λ,θ,ψ,σ,γ)=exp⁡(−x′2+γ2y′22σ2)exp⁡(i(2πx′λ+ψ))g(x,y;\lambda, \theta, \psi, \sigma,\gamma) = \exp\left(-\frac{x'^2+\gamma^2 y'^2}{2\sigma^2}\right)\exp\left(i\left(2\pi\frac{x'}{\lambda}+\psi\right)\right) 今私の明白な質問は:これはどういう意味ですか?変数はどういう意味ですか?ウィキペディアによると: x,yx,yx, y:これらの座標は、座標での画像のピクセル値を指定すると仮定します (x,y)(x,y)(x,y)(2.これは大丈夫、理解されています) λλ\lambda:正弦係数の波長を表します(正弦係数、ハァッ?3a。どうやってそれを選択するのですか?3b。それはどこから来たのですか?3c。それは任意の数ですか、それとも何ですか?自由に選択できますか?) θθ\theta:ガボール関数の平行な縞の法線の方向を表します(4.これはどういう意味ですか?) ψψ\psi:位相オフセットです(5.何のオフセットですか?この値はどのように決定されますか?自由に選択されますか?) σσ\sigma:ガウスエンベロープのシグマ/標準偏差です(6.詳細な説明が必要です...) γγ\gamma:空間アスペクト比であり、ガボール関数のサポートの楕円率を指定します(7.再度詳細と説明が必要です) 最も重要な: g(x,y;λ,θ,ψ,σ,γ)=Xg(x,y;λ,θ,ψ,σ,γ)=Xg(x,y;\lambda, \theta, \psi, \sigma,\gamma) = X 出力値は何ですか XXX?どういう意味ですか? 先に述べたように、理論を完全に説明する必要はありません。なぜなら、長く、未知の主題について1000ページの本を読むことは、今の私の選択肢ではないからです。この関数をブラックボックスで理解して、コードに実装し、最も重要なこととして、何が入力で何が出力であるかを理解する必要があります。 助けてくれてありがとう!! =) PS 私はこの投稿を読みました: /math/259877/value-of-xy-in-computing-gabor-filter-function しかし、それは私の質問に十分に答えません:)

3
直接線形変換を適用する前にデータセットを正規化する理由
直接線形変換(略してDLT)はホモグラフィ推定の方法であり、SVDを介して過剰決定線形システムを解き、制約下で解を見つけます。実際、\ | Ah-b \ |を最小化する最小二乗解を見つけます 。A h = bAh=bAh=bhhh∥ H ∥ = 1‖h‖=1\|h\|=1∥ A H - B ∥‖Ah−b‖\|Ah - b\| このアルゴリズムの基本的な考え方は理解していますが、DLTを適用する前にデータセットを正規化することをお勧めします。ここでは、正規化の方法について紹介します。データの正規化はDLTにとって重要であり、正規化しないとDLTの結果は安定しないと説明されています。 なんでかしら?DLTがSVDとあAAを使用して線形システムを解くことを含むからといって、Aが特異である可能性がありますか?

3
ローパスフィルターはプログラムでどのように機能しますか?
私のアプリケーションでは、100 Hz未満の測定用のシンプルなローパスフィルターに取り組んでいます。しかし、これまでのところ、私はその背後にある理論に苦労しています。うまく動いたのはかっこいいですが、どのように/なぜ動いているのか知っていれば本当に楽しめます 私は次のコードを見つけました: void getLPCoefficientsButterworth2Pole(const int samplerate, const double cutoff, double* const ax, double* const by) { double PI = M_PI; double sqrt2 = sqrt(2); double QcRaw = (2 * PI * cutoff) / samplerate; // Find cutoff frequency in [0..PI] double QcWarp = tan(QcRaw); // Warp cutoff frequency double …

2
平滑化用IIRフィルター(ローパスフィルター)
平滑化にIIRフィルターを使用しています y[n]=ax[n]+(1−a)y[n−1]y[n]=ax[n]+(1−a)y[n−1]y[n] = ax[n]+(1-a)y[n-1] 私の質問は、別のIIRフィルターを追加した場合、それはIIRフィルターの2次になりますか?そうでない場合、それを何と呼ぶことができますか? 私の2番目のフィルターは y2[n]=ay[n]+(1−a)y2[n−1]y2[n]=ay[n]+(1−a)y2[n−1]y_2[n] = ay[n] + (1-a)y_2[n-1]

2
位相相関-ノイズ/ぼやけた画像のパフォーマンスが悪い?
1D 位相相関アルゴリズムのテストに成功し、2つの合成画像間の垂直シフトを特定しました。 しかし、実際の画像に移動すると、変換をまったく検出できません(ピークが0にあり、これは間違った結果です)。 次の画像があります。 そして、結果の位相相関(マグニチュード、リアル、イマジナリー): 画像の最初のスキャンラインは完全に白ですが、シフトは明らかに大きくなります(20ピクセル)。 予想される結果は、20行目の白い線で、合成画像または光ノイズでのみ発生します。 私のアルゴリズムは非常に単純です-各画像列について: ソースおよびターゲット画像列の1D FTを計算します(a=FT(A)、b=FT(B)) クロスパワースペクトルの計算(cross_power = a *. conj(b) / |a *. conj(b)|)- *.点ごとの乗算をconj(x)示し、複素共役を示します 位相相関の計算(phase = IFT(cross_power)) のすべての列で最大等級を見つけますphase。 コンセンサスピークの場所を見つける(たとえば、検出されたピークの場所の中央値) 実世界の(ノイズの多い)画像を処理するためにベースライン位相相関アルゴリズムを改善する方法を教えてください。 FFTベースの位相相関ではなく、NCC(正規化相互相関)を使用する必要がありますか? 更新 私はゼロパディングを試し、循環シフト(画像の単純な線形シフトのみが望ましい)によって引き起こされるエラーを除外し、Wikipediaの元の画像でこれをテストしました。 単一のピークが存在するはずなので、明らかにそこにあります。 ただし、ノイズを減らして実際に結果を改善するためにわずかなスムージング(ガウスぼかし)を実行すると、位相相関が完全に損なわれます。 これが拡張バージョンです-元のピークは弱く(なぜ??)、ゼロシフトの周りに新しいピークが現れました(なぜ??):

1
本からスキャン-グラデーション除去
このサンプル画像: 左側が反っています。 私はゆがめたくはありませんが、シャドウグラデーション(本の背骨が原因)を削除するだけです。勾配は画像の上部から計算でき、その情報は再構成に使用できると思います。 まず、Photoshopでレイヤー変換を適用することを考えました。上部を明確なグラデーションで取り、垂直方向にスケーリングして、新しいレイヤーの画像全体をカバーしました。それから私は層の違いをしました: しかし、上部は問題なく再構築されていますが、色付きの部分はそうではありません。 Photoshop、Python / SciPy / OpenCV、Matlabでこれに取り組む方法を知っている人はいますか?

1
最小位相フィルターについてこれを証明する最も簡単で簡単な方法は何ですか?
使用する「一体型」または「通常の周波数」または「ヘルツ」の連続フーリエ変換のための規則を: バツ(f)≜ F{ x (t )}x (t )=F− 1{ X(f)}=∫−∞∞x(t)e−j2πftdt=∫−∞∞X(f)ej2πftdfX(f)≜F{x(t)}=∫−∞∞x(t)e−j2πftdtx(t)=F−1{X(f)}=∫−∞∞X(f)ej2πftdf \begin{align} X(f) \triangleq \mathscr{F}\{x(t)\} &= \int\limits_{-\infty}^{\infty} x(t) \, e^{-j 2 \pi f t} \, dt \\ \\ x(t) = \mathscr{F}^{-1}\{X(f)\} &= \int\limits_{-\infty}^{\infty} X(f) \, e^{j 2 \pi f t} \, df \\ \end{align} したがって、ヒルベルト変換が時間領域の信号または関数を同じ領域の別の信号または関数にマッピングすることがわかります。 バツ^(T )≜ H{ x (t )}=1πt⊛ …

1
直交復調システムのIQプレーンにおけるアナログ信号対雑音比と信号対雑音比の関係は何ですか?
LO周波数付近のアナログノイズと、IQ復調後のIQ平面にあるポイントの統計値との定量的な関係を計算します。質問を完全に理解するために、最初にIQ復調システムの詳細を説明します。 IQ復調システム IQミキサーは、高周波で信号を取得し、信号をより低い周波数にすることで、より簡単に処理できるようにします。図1に、IQミキサーの回路図を示します。局部発振器(LO)信号cos(Ωtcos⁡(Ωt\cos(\Omega t)を使用して、RF信号をより低い周波数にミキシングします。 図1:完全な信号処理チェーン。マイクロ波周波数信号(およびノイズ)は、RFポートを介してIQミキサーに入ります。この信号は、局部発振器(LO)と混合され、中間周波数信号およびに変換されます。次に、中間周波数信号をフィルタリングして、残りの高周波成分(テキストを参照)を削除し、デジタルサンプリングします。各周波数成分の振幅と位相の検出は、デジタルロジックの離散フーリエ変換を介して行われます。IIIQQQ コヒーレント信号-DCケース 入力RF信号があると仮定します。次に、および信号は これらの信号をローパスフィルターに通して項 を削除し、 ご覧のとおり、dcとMcos(Ωt+ϕ)Mcos⁡(Ωt+ϕ)M \cos(\Omega t + \phi)IIIQQQI(t)Q(t)=M2cos(ϕ)+M2cos(2Ωt+ϕ)=−M2sin(ϕ)−M2sin(2Ωt+ϕ).I(t)=M2cos⁡(ϕ)+M2cos⁡(2Ωt+ϕ)Q(t)=−M2sin⁡(ϕ)−M2sin⁡(2Ωt+ϕ).\begin{align} I(t) &= \frac{M}{2} \cos(\phi) + \frac{M}{2} \cos(2\Omega t + \phi) \\ Q(t) &= -\frac{M}{2} \sin(\phi) - \frac{M}{2} \sin(2\Omega t + \phi) \, . \end{align}2Ω2Ω2 \OmegaIF(t)QF(t)=M2cos(ϕ)=−M2sin(ϕ).IF(t)=M2cos⁡(ϕ)QF(t)=−M2sin⁡(ϕ).\begin{align} I_F(t) &= \frac{M}{2} \cos(\phi) \\ Q_F(t) &= -\frac{M}{2} \sin(\phi) \, . …

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