タグ付けされた質問 「convolution」

たたみ込みは、2つの関数fとgに対する数学演算であり、3つ目の関数を生成します。これは、通常、元の関数の1つの修正バージョンと見なされます。




1
重複追加と重複保存
フィルタリングにオーバーラップ追加とオーバーラップ保存のどちらを使用するかを決定するために、どのような違いやその他の基準を使用できますか オーバーラップ加算とオーバーラップ保存の両方は、FIRフィルターカーネルによるデータストリームのFFTベースの高速畳み込みを行うためのアルゴリズムとして説明されています。遅延、計算効率、またはキャッシュの局所性(など)の違いはありますか?それとも同じですか?

1
サンプルの一部だけ信号を循環シフトする方法は?
シフト定理は述べています: 乗算することによって線形位相E 2 π Iバツnバツnx_n 、いくつかの整数のためのMに対応する循環シフト出力のXのK:Xのkはにより置換されてXのK-M、添字モジュロ解釈されるN(すなわち、周期的に)。e2個のπ私Nn me2π私Nnme^{\frac{2\pi i}{N}n m}バツkバツkX_kバツkバツkX_kバツk − mバツk−mX_{k-m} OK、それはうまくいきます: plot a N = 9 k = [0, 1, 2, 3, 4, 5, 6, 7, 8] plot ifft(fft(a)*exp(-1j*2*pi*3*k/N)) 予想通り、3サンプル分シフトしました。 サンプルの端数でシフトするためにこれを行うこともできると思っていましたが、試してみると、私の信号は想像上のものになり、元の信号とはまったく異なります。 plot real(ifft(fft(a)*exp(-1j*2*pi*3.5*k/N))) plot imag(ifft(fft(a)*exp(-1j*2*pi*3.5*k/N))), 'b--' 私はこれをまったく期待していませんでした。これは、3.5サンプルだけシフトされた実際のインパルスとの畳み込みに相当しませんか?それで、衝動はまだ本当でなければならず、結果はまだ本当でなければなりませんか?そして、それは多かれ少なかれ元のものと同じ形状を持っているはずですが、sincは補間されていますか?

1
画像の相関と畳み込みの違いは?
画像のフィルターによって行われる相関と畳み込みの違いは何ですか? 信号処理の定義の意味では、畳み込みはLTIシステムの出力を表すことを知っています。つまり、LTIシステムが入力システムとの畳み込みにより出力を生成する場合、出力信号は畳み込みの結果として記述することができます入力信号とLTIシステムのインパルス応答。相関に関しては、信号間の類似性を記述します。しかし、畳み込みと相関は画像にどのように影響し、効果の点でどのように違いますか? ありがとう

5
FFTを使用してFIRフィルターを設計する際の問題は何ですか?
畳み込みのフィルターカーネルを使用して「第一原理」から設計されたFIRフィルターと、FFTを使用して2つの方法のいずれかで設計されたフィルター(以下を参照)の関係を理解し​​ようとしています。 私の知る限り、FIRフィルターのインパルス応答は、フィルターの畳み込みカーネルと同じです。(間違っている場合は修正してください。) また、私の理解では、FIRフィルターのインパルス応答の成分周波数(すなわち、フーリエ変換)は、フィルターの周波数応答と同じものです。したがって、逆フーリエ変換によりインパルス応答が返されます(繰り返しますが、間違っている場合は修正してください)。 これにより、2つの結論に導かれます(位相応答を無視するか、線形位相応答を仮定します)。 目的の周波数応答を「描画」し、IFFTを使用してインパルス応答を取得し、それを畳み込みカーネルとして使用することにより、任意の周波数応答のFIRフィルターを設計できるはずです。 あるいは、入力信号のFFTを取得し、周波数領域で希望する任意の周波数応答を乗算し、結果のIFFTを取得して出力信号を生成することにより、フィルターを作成できる必要があります。 直感的には、1と2は同等のように感じますが、それを証明できるかどうかはわかりません。 人々(およびDSPの文献)は、ChebyshevやRemezなどの複雑な(私にとっては)アルゴリズムを使用して、事前定義された応答を使用してFIRカーネルを設計するためにかなりの時間を費やしているようです。 可能なすべてのFIRカーネルにFFT / IFFT変換が存在する場合、なぜこれらの長さにするのですか? 必要な正確な周波数応答を単純に描画し、IFFTを実行すると、FIRカーネルがあります(上記の方法1)。

3
畳み込みが必要な理由、または畳み込みの背後にある哲学は何ですか?
私はデジタル画像復元の分野で働いています。畳み込みに関するすべてのことを読みました。LTIシステムでは、インパルス応答を知っていれば、入力とインパルス応答の間の畳み込みを使用するだけで出力を見つけることができます。 誰もがその背後にある主要な数学的哲学は何であるか教えてもらえますか?あなたの経験はそれについての単なるインターネットサーフィン以上のものを私に教えてくれます。

1
周波数領域で畳み込みカーネルを見つける方法は?
空間データの2つのベクトル(それぞれ約2000要素の長さ)があります。1つは他の畳み込みバージョンです。このような畳み込みを生成するカーネルを決定しようとしています。出力ベクトルと入力ベクトルのフーリエ変換の比の逆フーリエ変換を見つけることでこれができることを知っています。実際、これを行うと、私が期待していた形になります。ただし、実際には畳み込みがポイントの約5分の1(約300〜400)しか使用していない場合、私のカーネルベクトルは2つの入力ベクトルと同じ次元を持ちます。正しい形状を取得しているが、ポイントの数が間違っているという事実から、ifftおよびfft関数をまったく正しく使用していないと思うようになります。私が本当に正しいことをしていれば、これは自然に起こるはずです。現時点では、私は単にやっています。 FTInput = fft(in); FtOutput = fft(out); kernel = ifft(FtOutput./FTInput). これは正しいですか、出力ベクトルを正しく解釈するのは私次第ですか、それともタスクを単純化しすぎましたか?私はそれが後者だと確信しています、私はただどこにあるのか分かりません。

12
ガウスカーネルによってぼやけた1D信号のデコンボリューション
ガウス分布でランダム信号をたたみ込み、ノイズ(この場合はポアソンノイズ)を追加して、ノイズの多い信号を生成しました。次に、このノイズの多い信号をデコンボリューションして、同じガウスを使用して元の信号を抽出します。 問題は、1Dでデコンボリューションを行うコードが必要なことです。(私はすでに2Dでいくつか見つけましたが、私の主な目的は1Dです)。 そうすることができるいくつかのパッケージまたはプログラムを私に提案していただけませんか?(できればMATLABで) 助けてくれてありがとう。

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 = …

4
DFT-畳み込みを使用したスペクトルドメインのウィンドウ効果の削除
DFTのウィンドウ処理の件について考えていたとき、思いついた。DFTは、使用されるウィンドウのスペクトルで畳み込まれた信号のスペクトルを生成します。したがって、メインローブとサイドローブがあります。 信号とウィンドウスペクトルの大きさの両方を再度畳み込むことで、信号のスペクトルに対するウィンドウ効果を取り除くことができると考えました。次の画像からわかるように、実際に機能しました。 左は、ハニングウィンドウで生成された元のスペクトルです。右は、ハニングウィンドウのDFTによって畳み込まれたスペクトルです。上はスペクトル自体、下はMATLABのfindpeaks結果です。 私はこのテクニックに関して何も読んだことがありませんが、私はそこに何も発明していないと確信しています。したがって、この処理をスペクトルで実行することの利点があるのか​​、それとも私には見られない欠点があるのか​​と思います。 私が見るところから見ると、前の画像でわかるように、これはピーク検出に役立ちます。また、次の2つの画像でわかるように、スペクトルが少し歪んでいるように見えます。: 青いグラフはスペクトル、赤いグラフは畳み込み後のスペクトルです。 これについて何か考えはありますか? このFFT後の畳み込みから発生する可能性のある問題はありますか? 主題を扱う紙はありますか? 編集 次のグラフを生成するスクリプトがここにあります。

2
一連の入力信号と出力信号から線形システムのインパルス応答を推定する方法は?
これらの種類の問題を解決する方法を知りたいです。 以下の線形システムを考えます。システムへの入力が、、場合、システムの応答は、図のように、、です。x1[n]x1[n]x_1[n]x2[n]x2[n]x_2[n]x3[n]x3[n]x_3[n]y1[n]y1[n]y_1[n]y2[n]y2[n]y_2[n]y3[n]y3[n]y_3[n] システムが時不変かどうかを判断します。正解です。 インパルス応答とは何ですか? 編集: 与えられた入力がようなスケーリングされたインパルスを含まない一般的なケースを想定していますx2[n]x2[n]x_2[n]

5
線形および循環たたみ込みとは
信号とたたみ込みについての基本的な知識があります。私の知る限り、2つの信号の類似性を示しています。わかりやすい英語の説明をお願いします。 線形および循環たたみ込みとは なぜそれらが重要なのか それらが使用される実際の状況

2
「同じ」の畳み込み形状の2Dカーネルの畳み込み行列を生成する
特定の2DカーネルHH H 畳み込み行列を見つけたい。 たとえばImg、サイズがm×nm×n m \times n 画像の場合、(MATALBで)欲しい: T * Img = reshape(conv2(Img, H, 'same'), [], 1); ここで、T畳み込み行列であり、same入力されたサイズと一致した畳み込み形状(出力サイズ)を意味します。 理論的には、Hはテプリッツ行列に変換する必要があります。MATLAB関数を使用していますconvmtx2()。 T = convmtx2(H, m, n); ただし、MATLABはのたたみ込み形状に一致するたたみ込み行列を生成するため、Tサイズは(m+2)(n+2)×(mn)(m+2)(n+2)×(mn) (m+2) (n+2) \times (mn) convmtx2ですfull。 畳み込み形状パラメーターconv2()との使用に一致する畳み込み行列を生成する方法はありsameますか?

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