信号処理

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

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ますか?

2
MATLABのノッチフィルターを使用した50Hzのフィルター処理
私はこれについて多くを読みましたが、すべてをうまくまとめることができなかったので、私はいくつかの助けを探しています。 信号から50 Hzをフィルター処理する必要があります。最適なオプションはノッチフィルターまたはLMSフィルターのようですが、ノイズのコピーがないため、ノッチフィルターが最良の選択のようです。 サンプリング周波数(16kHz)を知っているので、周波数を正規化する必要はなく、持続時間は30秒です。帯域幅はかなり狭くすることができ、49.5Hz〜50.5Hzで十分です。 私はの組み合わせを使用する必要があるように見えますfilterとiirnotch、私はどのように完全にはよく分かりません。 誰かがこれをすべてまとめることができれば、私はそれを大いに感謝します。ありがとう。
10 matlab  filters 

5
DSPの概念を視覚的に説明
この質問に似ています:視覚的に見事な数学の概念は説明が簡単ですが、FFTやフィルターなどの基本的なDSPの概念の視覚化にはどのようなものがありますか?

3
DFTのためのWikipedia方程式の実装
私は簡単なフーリエ変換の実装を書いていて、参考のためにウィキペディアのDFT方程式を見て、私が何か違うことをしていることに気づき、それについて考えた後、ウィキペディアのバージョンは間違っているに違いないと感じました。 (その方程式で)フーリエ変換すると誤ったスペクトルが返されることを通知します。n / Nん/Nn/N と 0 &lt; n &lt; N− 10&lt;ん&lt;N−10<n<N-1)、(複素平面を包み込みながら)偶数回周期的な信号は、DFT中に表示される通常のピーク(単位円を回っている間)が互いに打ち消し合うため、スペクトルがありません(偶数の場合)それらの数が表示されます)。 これを確認するために、次の画像を生成するコードをいくつか作成しました。 「方程式を使用する時間」は方程式を使用します バツf=Σn = 0N− 1バツん(cos(2 πftん)− 私は罪(2 πftん))バツf=Σん=0N−1バツん(cos⁡(2πftん)−私罪⁡(2πftん)) X_f = \sum_{n=0}^{N-1} x_n (\cos(2\pi f t_n) - i \sin(2\pi f t_n)) と ttt 時間のベクトル(つまり、時間 tんtんt_n これで バツんバツんx_nたとえば、サンプリングされました)。ft以下の関数で見つけることができます。 上でリンクされたウィキペディアの方程式は、参照用にここにコピーされます。 バツf=Σn = 0N− 1バツん(cos(2 πfんN)− 私は罪(2 πfんN))バツf=Σん=0N−1バツん(cos⁡(2πfんN)−私罪⁡(2πfんN)) X_f = \sum_{n=0}^{N-1} x_n …

1
FFT後のデータの単位は何ですか?
磁力計は、マイクロボルト(mV)単位の出力で、磁場の導関数、つまりdB / dtを測定します。サンプリングレートは128 Hzなので、2分間データを収集すると、ポイント(離散ケース)になります。これらの時系列でFFTを実行すると、変換後の振幅密度の単位はどうなりますか?2 × 60 × 128 = 153602×60×128=153602 \times 60 \times 128=15360

7
2つの信号はいつ直交しますか?
線形代数における直交性の古典的な定義では、2つのベクトルは、それらの内積がゼロの場合、直交します。 この定義は信号にも適用される可能性があると思いましたが、次の例について考えました。 正弦波の形の信号と、余弦波の形の別の信号を考えます。両方をサンプリングすると、2つのベクトルが得られます。サインとコサインは直交関数ですが、サンプリングされたベクトルの積はほとんどゼロにはならず、t = 0でのそれらの相互相関関数も消えません。 では、この場合、直交性はどのように定義されるのでしょうか。または私の例はオフですか?


2
コサインとサインのフーリエ変換の導出
では、この答えは、ジム・クレイは書いています: ...という事実を使用します...F{cos(x )} =δ(w − 1 )+δ(w + 1)2F{cos⁡(バツ)}=δ(w−1)+δ(w+1)2\mathcal F\{\cos(x)\} = \frac{\delta(w - 1) + \delta(w + 1)}{2} 上記の式は、。F{ cos(2 πf0t )} =12(δ(f−f0)+ δ(f+f0))F{cos⁡(2πf0t)}=12(δ(f−f0)+δ(f+f0))\mathcal F\{{\cos(2\pi f_0t)\}=\frac{1}{2}(\delta(f-f_0)+\delta(f+f_0))} フーリエ変換の標準定義を使用して、後の式を取得しようとしていますしかし、結局私が表現するのは、明らかに答えとはまったく異なる表現です。X(f)=∫+∞−∞x(t)e−j2πftdtX(f)=∫−∞+∞x(t)e−j2πftdtX(f)=\int_{-\infty}^{+\infty}x(t)e^{-j2\pi ft}dt これが私の作品です: x (t)⟹F{ x (t )}=cos(2πf0t)=∫+∞−∞cos(2πf0t)e−j2πftdt=∫+∞−∞12(e−j2πf0t+ej2πf0t)e−j2πftdt=12∫+∞−∞(e−j2πf0te−j2πft+ej2πf0te−j2πft)dt=12∫+∞−∞(e−j2πt(f0+f)+e−j2πt(f−f0))dt=12(∫+∞−∞(e−j2πt(f0+f))dt+∫+∞−∞(e−j2πt(f−f0)))dtx(t)=cos⁡(2πf0t)⟹F{x(t)}=∫−∞+∞cos⁡(2πf0t)e−j2πftdt=∫−∞+∞12(e−j2πf0t+ej2πf0t)e−j2πftdt=12∫−∞+∞(e−j2πf0te−j2πft+ej2πf0te−j2πft)dt=12∫−∞+∞(e−j2πt(f0+f)+e−j2πt(f−f0))dt=12(∫−∞+∞(e−j2πt(f0+f))dt+∫−∞+∞(e−j2πt(f−f0)))dt\begin{align} x(t)&=\cos(2\pi f_0t)\\ \Longrightarrow \mathcal F\left\{x(t)\right\}&=\int_{-\infty}^{+\infty}\cos(2\pi f_0t)e^{-j2\pi ft}dt\\ &=\int_{-\infty}^{+\infty}\frac 12 \left(e^{-j2\pi f_0t}+e^{j2\pi f_0t}\right)e^{-j2\pi ft}dt\\ &=\frac{1}{2}\int_{-\infty}^{+\infty}\left(e^{-j2\pi f_0t}e^{-j2\pi ft}+e^{j2\pi …

4
フーリエ変換とラプラス変換で負の指数が存在するのはなぜですか?
フーリエ変換とラプラス変換で負の指数が必要な理由を誰かに説明してもらえますか?私はWebを調べましたが、何も取得できませんでした。これらの変換に正の指数が配置されていると、何も起こりません。 http://1drv.ms/1tbV45Sを見ると、 場合は急速に減少する関数になるが、s &lt;0の場合はtの急速に増加する関数になることが理解できなかったと誰もが理解できます。s&gt;0s&gt;0s>0s&lt;0s&lt;0s<0


2
複数のマイクを使用して音の方向を検出する
まず、似たようなスレッドを見たことがありますが、私が達成しようとしているスレッドとは少し異なります。呼ぶ人に追従するロボットを構築しています。私のアイデアは、3つまたは4つのマイクを使用することです。つまり、ロボットが呼び出された方向を決定するために、次の配置で使用します。 Sが音源の場合、A、B、Cはマイクです。アイデアは、AB、AC、BCのペアから記録された信号の位相相関を計算し、それに基づいて、一種の三角測量を使用してソースを指すベクトルを作成します。音声でアクティブ化されるため、システムはリアルタイムで動作する必要さえありません-すべてのマイクからの信号が同時に記録され、音声は1つのマイクのみからサンプリングされ、音声シグネチャに適合する場合、位相相関は方向を計算するための秒の最後の端数。ロボットが別の部屋から呼び出された場合や、複数の反射がある場合、これはうまく機能しない可能性があることを認識しています。 これは単なるアイデアですが、このようなことを試みたことは一度もありません。実際に機能するハードウェアを構築する前に、いくつか質問があります。 これはこれを行う典型的な方法ですか?(すなわち、ノイズキャンセルのために電話で使用されますか?)他に可能なアプローチは何ですか? どういうわけか、3つのソース間の位相相関を同時に計算できますか?(計算をスピードアップするため) このシステムには、22kHzのサンプルレートと12ビットの深さで十分ですか?特にビット深度が気になります。 分離を改善するために、マイクを別々のチューブに配置する必要がありますか?

3
フーリエ変換アイデンティティ
私たちは以下を知っています、 F { x (− t )} = X (− f )F { x ∗(t )} = X ∗(− f )F{ x(t) } =X(f)(1)(1)F{バツ(t)}=バツ(f) \mathscr{F}\big\{x(t)\big\}=X(f) \tag{1} F{ x(−t) } =X(− f)(2)(2)F{バツ(−t)}=バツ(−f) \mathscr{F}\big\{x(-t)\big\}=X(-f) \tag{2} F{ x∗(t )} = X∗(− f)(3)(3)F{バツ∗(t)}=バツ∗(−f) \mathscr{F}\big\{x^*(t)\big\}=X^*(-f) \tag{3} さて、もし何らかの信号が x (− t )= x∗(t )(4)(4)バツ(−t)=バツ∗(t) x(-t)=x^*(t) \tag{4} …

1
3次スプライン補間は、補間多項式よりも優れているのはいつですか?
次のプロットは、教科書の例のわずかなバリエーションです。著者はこの例を使用して、等間隔に配置されたサンプルに対する補間多項式が、補間間隔の両端付近に大きな振動を持っていることを示しました。もちろん、3次スプライン補間は、区間全体にわたって適切な近似を提供します。長年にわたり、ここに示されている理由により、等間隔のサンプルに対する高次多項式補間は避けるべきだと考えていました。 ただし、私は最近、高次の補間多項式が3次スプライン補間より少ない近似誤差を与える帯域制限信号の多くの例を見つけました。通常、サンプルレートが十分に高い場合、補間多項式は補間間隔全体でより正確になります。これは、サンプルが信号のナイキスト周波数より少なくとも3倍大きいサンプルレートで等間隔に配置されている場合に当てはまるようです。さらに、(サンプルレート)/(ナイキスト周波数)が増加すると、3次スプライン補間よりも有利になります。 例として、ナイキスト周波数が2 Hz、サンプルレートが6.5 Hzの正弦波の3次スプライン補間と補間多項式を比較します。サンプルポイント間では、補間多項式は実際の信号とまったく同じに見えます。 以下では、2つの近似の誤差を比較します。最初の例と同様に、多項式補間はサンプル間隔の最初と最後の近くで最悪になります。ただし、補間多項式は、サンプル間隔全体にわたって3次スプラインよりも誤差が少なくなります。また、内挿多項式は、短い間隔で外挿するときにエラーが少なくなります。私はよく知られた事実を発見しましたか?もしそうなら、それについてどこで読むことができますか?

1
可能なノイズシェーピングに制限?
100 kHz、16ビットアプリケーションでノイズシェーピングを行い、すべての量子化ノイズを25 kHz〜50 kHzバンドにシフトし、DC-25 kHzバンドのノイズを最小限に抑えたいです。 Mathematicaを設定して31サンプルのエラーフィルターカーネルを作成します。これは強化学習によってうまく機能します:少し学習した後、低周波帯域での低減とほぼ同じ量で高周波ノイズが約〜16dB向上します(中央の線は、整形されていないディザノイズレベルです)。これは、「Gerzon-Craven」ノイズシェーピング定理と一致しています。 今私の問題に: Gerzon-Cravenの定理はそれを禁止していませんが、私は徹底的な学習の後でもノイズをさらに形作ることができません。たとえば、ローバンドで40 dBの低減、ハイバンドで40 dBの増強を実現できるはずです。 だから私が遭遇している別の基本的な制限はありますか? 私はシャノンのノイズ/サンプリング/情報の定理を調べてみましたが、しばらくしてから、なんとかして単一の制限を導き出すことができました。それは、シャノンの定理の直接の結果であるように見える、Gerzon-Cravenの定理です。 どんな助けでもありがたいです。 編集:詳細 まず、上記のノイズシェーピングを生成するフィルターカーネルです。最新のサンプルが右側にあることに注意してください。.01に丸められたBarChartの数値:{-0.16、0.51、-0.74、0.52、-0.04、-0.25、0.22、-0.11、-0.02、0.31、-0.56、0.45、-0.13、0.04、-0.14、 0.12、-0.06、0.19、-0.22、-0.15、0.4、0.01、-0.41、-0.1、0.84、-0.42、-0.81、0.91、0.75、-2.37、2.29}(厳密にはバー文字ではないが、同様の曲線を生成する) エラーフィードバックの実装に関する別の注意: エラーフィードバックの2つの異なる実装を試しました。最初に、丸められた出力サンプルを目的の値と比較し、この偏差をエラーとして使用しました。次に、丸められた出力サンプルを(入力+エラーフィードバック)と比較しました。どちらの方法でもまったく異なるカーネルが生成されますが、どちらもほぼ同じノイズシェーピング強度で横ばいになるようです。ここに投稿されたデータは、2番目の実装を使用しています。 これは、デジタル化された波のサンプルを計算するために使用されるコードです。stepは丸めのステップサイズです。waveはデジタル化されていない波形です(通常、信号が適用されていない場合はゼロのみ)。 TestWave[kernel_?VectorQ] := Module[{k = kernel, nf, dith, signals, twave, deltas}, nf = Length@k; dith = RandomVariate[TriangularDistribution[{-1, 1}*step], l]; signals = deltas = Table[0, {l}]; twave = wave; Do[ twave[[i]] -= k.PadLeft[deltas[[;; …
9 noise 

1
歯科用X線撮影からのノイズの除去
私はアクティブシェイプモデル を適用して、歯科用X線写真で歯を見つけるプロジェクトに取り組んでいます。この手法に詳しい方のために、現在、各ランドマークの法線ベクトルに沿ってサンプリングを試みています。このペーパーでは、サンプリングされたピクセルの導関数を使用することを推奨しています。 したがって、私の問題は、デリバティブオペレーターを適用するために歯科用X線をフィルター処理するための最良の方法です。私は現在、中央値フィルターの組み合わせを使用して、量子ノイズ(まだら)だと思うもののほとんどを削除しています。その後、バイラテラルフィルターが続きます。次に、Scharr演算子を適用して、サンプリングする実際の勾配を計算します。 結果を以下に示します。 最初の画像は元のデータを示しています。2番目と3番目の画像では、フィルター処理されたデータが、最初にFFT後のスペクトルの大きさとして、次にフィルター処理された画像データとして表示されます。4番目の画像は、3番目の画像にScharr演算子を適用した結果を示しています。 私の質問は: 私のアプローチとは異なる、歯科用X線写真のノイズを減らすためのよく知られたアプローチはありますか? エッジと「フラット」(非エッジ)領域の「煙のような」外観の原因は何ですか?フィルタリングされた画像にある種の残りのノイズですか、それとも勾配演算子に固有のものですか?それが実際にノイズである場合、どのフィルターを使用するのが最も適していますか?メディアンフィルターは、小さなノイズのあるブロブの除去に優れていましたが、カーネルが大きいと、エッジがぼやけすぎてしまいます。そのため、バイラテラルフィルターを使用して、大きなブロブをフィルターで除去し、エッジを損なわずに領域全体で色を均一化しますが、このスモーキーな構造をフィルターすることはできません。 この場合、勾配を作成するためにScharr演算子よりも優れたオプションはありますか? おまけ:これはアクティブシェイプモデルの適切な入力と見なされますか?どれほど堅牢かはまだわかりません。

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