信号処理

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

3
Savitzky–GolayフィルターとIIRまたはFIR線形フィルター
従来のIIR / FIRフィルター(高周波数の振動を除去するためのローパス)、たとえば移動平均、 またはSavitzky-Golayフィルター エンベロープ信号などの信号を平滑化するのに便利です。 Savitzky-Golayフィルターが古典的なローパスよりも興味深いアプリケーションはどれですか? 標準フィルターとの違いは何ですか?標準フィルターと比較して何が追加されますか? 入力データに適応しますか? 一時的な保存に適していますか? 「移動平均または別のFIRローパスの代わりにSGフィルターを使用しましょう!これとこれとこれで...」と決めたエンジニアリングの状況にあったことがありますか?次に、この質問はあなたのためです!

3
MATLAB:
MATLABでは、fftおよび/ ifft関数の出力は、分析の対象となる前に追加の処理を必要とすることがよくあります。 私は何が正しいのかについて多くの異なる意見を聞いています: スケーリング Mathworksによるとfft、ifft関数は次の方程式に基づいています: X[k]x[n]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤N=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤NX[k]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤Nx[n]=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤N\begin{align} X[k] &= \frac{1}{1} \cdot \sum_{n=1}^{N} x[n] \cdot e^{\frac{-j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}}, \quad\textrm{where}\quad 1\leq k\leq N\\ x[n] &= \frac{1}{N} \cdot \sum_{k=1}^{N} X[k] \cdot e^{\frac{+j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}},\quad \textrm{where}\quad 1 \leq n\leq N \end{align} 信号長によるスケーリング 私の同僚は通常、データを1だけスケーリングします1N1N\small \frac{1}{N}すぐに処理した後fft。 (fftスケーリング前の生データは考慮していません。)%% …
11 matlab  fft  ifft 

3
特定の周波数範囲のFFT。
信号を周波数領域に変換したいのですが。望ましい周波数範囲は0.1 Hzで1 Hzあり、周波数分解能は0.01 Hzです。 のサンプリングレートでは30 Hz、FFTは最大15 Hzの周波数成分を提供します。サンプリングレートを上げると、周波数分解能が向上します。ただし、FFTはより広い周波数範囲を提供します。私の場合、私がしたいの0.1 Hzは1 Hz、FFTが15 Hz(追加の計算)をあきらめることです。 私の質問は、特定の周波数範囲と高分解能で信号の周波数領域を計算できる標準的な方法はありますか?
11 fft  frequency 

3
曲線間の一致を測定する方法は?
測定したRSSI値と比較したい、予想されるRSSI値の経時的な値(以下にプロット)があります。私が探していたのは、それを定量化してパラメーターを変更し、さまざまなアプローチを比較/対比できるようにする方法でした。 信号を比較する方法がわかりませんが、信号の大規模(全体的な形状)と小規模(個別の変動)を考慮に入れるため、これは私の心の中で難しい問題です。 たとえば、以下は1セットの信号のプロットです。 画像では、赤い測定信号がおおまかにモデルに従っていることを確認できますが、モデルの正弦波品質のいくつか(一部の場所)をシミュレートするOKジョブも実行しています。何かご意見は? <>ピシェネットのコメント(妥当と思われる)に応じて、2つの値のdiffをとり、abs(fft(diff))をプロットして、次のようにしました。 私はそれをどうするかわかりません。実際の周波数はないため、軸をスケーリングする方法がわかりません。その場合、どのメトリックを使用しますか?

1
周波数を
MATLABでは、フィルターを設計するためにカットオフ周波数を渡す必要があります。ただし、このカットオフ周波数はサンプルあたりのラジアンです。アナログカットオフ周波数を、MATLABに必要なラジアン/サンプルに変換するにはどうすればよいですか? HzHz\textrm{Hz}
11 matlab  sampling 

1
メディアンフィルターの周波数応答の近似
メジアンフィルターは非線形で損失の多いプロセスであるため、LTIシステムのFIRフィルター(たとえば、同じ長さのボックスフィルター)のような閉形式の周波数応答はありません。 しかし、メジアンフィルターの周波数応答に似たものをどれだけ近似できるでしょうか。 これは中央値フィルターの長さにどのように比例しますか? どのような条件下で、またはどのクラスの信号に対して、この近似は大まかに「近い」でしょうか? どのクラスの信号に対して、この近似は非常に不正確なのでしょうか? メディアンフィルターは、どのような種類の周波数領域歪みまたは付加ノイズを生成しますか?

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]

3
ガボールモーレットウェーブレット変換と定数Q変換の違いは何ですか?
一見、定数Qフーリエ変換と複素ガボールモーレットウェーブレット変換は同じように見えます。どちらも、定数Qフィルター、ウィンドウ処理された正弦波などに基づいた時間周波数表現です。しかし、私が見落としている違いはありますか? 音楽処理用の定数Q変換ツールボックスは次のように述べています。 CQTは、周波数ビンが幾何学的に間隔を置いて配置され、すべてのビンのQファクター(帯域幅に対する中心周波数の比率)が等しい時間周波数表現を指します。 時間スケール分析は言う: つまりを中心帯域通過フィルタの一連の信号を通過さと同じであるウェーブレットモレットを用いて信号のCWT計算、であるf=5/2πaf=5/2πaf = \frac{5/2\pi}{a}定数とQ5/2π5/2π5/2\pi。

5
画像ダウンサンプリング用のローパスフィルターパラメーター
私は倍に画像をダウンスケールする必要水平及び垂直(、 <)。sバツsバツs_xsysys_ysバツsバツs_xsysys_y111 ダウンサンプリングする前に、有限のローパスフィルターを使用したいと思います。n × mん×メートルn\times m と関数として取得するには、どのようにローパスフィルターパラメーター(およびガウス)を決定すればですか?n 、mん、メートルn, mσσ\sigmasバツsバツs_xsysys_y 具体的には、の場合に興味深いです。sバツ= sy= 1 / 2–√sバツ=sy=1/2s_x=s_y=1/\sqrt{2}

2
ガラスなどの半透明材料のセグメンテーション
ガラス状のオブジェクトのセグメンテーションに関する問題に完全に行き詰まっています。オブジェクトをできるだけ正確に取得する必要があります。私のアプローチは異なっていました。最初は、背景を削除して、一部の鋭い輪郭だけが残るようにしました。しかし、それは鋭いエッジ/グラデーションを持つオブジェクトに対してのみ機能します。それ以外の場合は、オブジェクト自体も削除されます。2つの異なる画像を投稿しました。 グレースケールの膨張やそれに対する分割などの形態学的操作によって背景を削除しようとしました。しかし、それはあまり役に立ちませんでした。その後、変更された背景をガラスの灰色と黒色の値から分離するために、k = 3のk-meansを試しました。それはいくつかのケースでは成功しなかったが、全体的/平均的には成功しなかった。また、全体的にぼかしたフィルターを使用してキャニーエッジ検出を実行しようとしましたが、これにより、輪郭が開いた形やノイズが多くなるなど、結果が低下します。 自動しきい値の結果を持つキャニー: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 同じことが2番目の画像にも当てはまります。 ご覧のとおり、内側と外側に多くのノイズがあり、ガラス境界からのエッジが2重になっています。縁にも隙間があります。 したがって、これら2つの画像だけでなく、半透明のマテリアルのこの問題に対処するための一般的なアプローチを得るために、あなたのアドバイスが必要です。 1)オブジェクトを損傷することなく背景を削除するための他のアイデア? 2)オブジェクトを背景から分離するための他のセグメンテーション方法は? 可能であれば、Matlab、IPT、または統計ツールボックスのヒントを使用します。他のヒントも大歓迎です! よろしくお願いします。心から

2
周波数領域データを使用して予測を行う方法は?
線形回帰とカルマンフィルターの両方を使用して、データの時間領域シーケンスから推定および予測できます(データの背後にあるモデルに関するいくつかの仮定があります)。 周波数領域データを使用して予測を行う場合、どのような方法が適用できると思いますか?(たとえば、推定のために時間領域に戻るだけでなく、前のデータの適切なFFTからの出力を使用して、将来のステップを予測します。) 周波数領域での予測の品質または最適性がある場合、データまたはデータの背後にあるモデルについて、どのような仮定が必要になる可能性がありますか?(ただし、データソースがFFTアパーチャ幅で厳密に周期的であるかどうかは、事前にわかっていないものとします。)

4
指数ADSRエンベロープの方程式のヘルプ
アプリケーションコードを使用して、発振器の出力の振幅を整形するための線形ADSRエンベロープを実装しました。アタック、ディケイ、リリースの持続時間とサステインレベルのパラメーターはエンベロープで設定でき、すべてが期待通りに機能します。 ただし、エンベロープのランプ形状を、ほとんどのシンセサイザーがより自然な応答に使用するものに似たものに調整したいと思います。アタックの逆指数関数とディケイとリリースの指数関数です。これらのタイプのランプ形状のエンベロープ出力値を計算するための数式を正しく取得するのに問題があります。線形ランプを計算するために、私は2ポイントフォームを使用して、アタック/ディケイ/サステイン/リリースの入力パラメーター値から派生した開始/終了 /値を接続しています。同じ開始/終了 /ポイント値を使用して、指数(標準および逆)ランプの正しい式を計算できないようです。バツxxx yyyyバツxxyyy 上記で説明した線形ランプのアプローチを示すDesmos Graphing Calculatorセッションを保存しました。 誰かが私を正しい方向に向けるのを助けることができれば、それは大いに感謝します。

1
3x3の実対称行列の固有ベクトルの分析式?
局所的な慣性モーメントに基づいて3D画像を処理するアルゴリズムを書いています。 3 x 3の実対称行列があり、そこから固有値を見つける必要があります。私はそこに行列の対角化のためのさまざまな一般的なアルゴリズムを見つけましたが、そのような行列の3つの固有ベクトルの分析式が存在するかどうかを知ることができませんでした。 数学に詳しい人はそれを知っていますか? 編集 ここでの記録は、私自身が質問で見つけたものです。Matthias Odisioが言ったように、3x3の行列ができたらすぐに単純な分析式に取り掛かることはできません。 ただし、特殊なケースである3x3エルミート行列の専用のペーパーが見つかりました。ここでは、さまざまな数値に特化したアプローチが比較されています。 http://arxiv.org/abs/physics/0610206 これは、論文のCおよびFortranコードです。 http://www.mpi-hd.mpg.de/personalhomes/globes/3x3/index.html
11 3d  matrix 

1
Matlabを使用した肝臓セグメンテーションの適応しきい値処理
適応しきい値法を使用して腹部CT画像から肝臓をセグメント化する必要があります。しかし、前景全体を背景だけから分離しています。前景の肝臓部分だけを分離する必要があります。http://www.ijcaonline.org/casct/number1/SPE34T.pdf にあるpdfファイルを確認してください。図6に示すような出力が必要です。 ここにコーディングを添付します。親切に私を助けてください。 %testadaptivethresh.m clear;close all; im1=imread('nfliver2.jpg'); bwim1=adaptivethreshold(im1,11,0.03,0); figure,imshow(im1); figure,imshow(bwim1); imwrite(bwim1,'at2.jpg'); function bw=adaptivethreshold(IM,ws,C,tm) %ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the %foreground from the background with nonuniform illumination. % bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local % threshold mean-C or median-C to the image IM. % ws is …

2
信号があるかどうか(信号がノイズのように見える場合)はどのようにしてわかりますか?
これがまたいびき検出器です。 何かがあったときに信号を検出するのが得意です。壁をはがしているいびきから、録音では聞こえない呼吸まで追跡できます。問題は、信号がいつ検出可能なレベルを下回っており、アプリが「物事を聞いている」だけなのかわからないことです。そして、残念なことに、いびき/呼吸はしばしば不規則であり、単純な自己相関または同様のインターバルタイミングスキームがあまり役に立たないようです。(実際には、場合によっては、呼吸よりもノイズがより規則的である可能性があります。) それで、信号がないときに理解するために私が見逃しているトリックはありますか?「シグナル」はもともと非常にノイズのようなものであることを考えると、私はここで難しい場所に反対しているようです。 (そしてこれは私が抱えている別の問題に関連している可能性があります:不思議なことに、かなり大きな音量でも信号レベルを正確に(または概算で)測定できません。レベル情報の種類が失われます。再構成するためのいくつかのトリックを探しています。) 基本的なテクニック (依田用) オーディオ信号はサンプリングされ(通常、さまざまな理由で8000Hzで)、1024ブロックでFFTされます。(私の実験では、ハミングフィルターとオーバーラップブロックはほとんど影響がないようですが、後で再検討する場合があります)。 FFTは「バンド」(現在は5、ローエンドでより詳細に配置するためにサイズがわずかに歪んでいる)に分割され、各バンドの「スペクトル差」とレベルが合計されます。ピーク制限値の長期平均が「しきい値」として使用され、さらにバイアス調整を使用して、約20%の「しきい値超過」率を維持します。 各「しきい値を超える」値には1の重みが与えられます(しきい値未満には0の重みが与えられます)が、その重みはバンドの見かけの「変動性」(約2Hzで)によって調整され、バンドにより多くの重みを与えますより明白な信号を運びます。 バンドの重みが合計され、後続のブロックの合計された重みが約1秒にわたって合計されて、実行中の「スコア」が生成されます。これは、繰り返し平均しきい値(およびいくつかのヒューリスティック)と比較され、いびきの開始/オフセットを検出します。 更新 突然、アルゴリズムが(信号レベルの問題ごとに)一定レベルの信号を維持する場合、SNRを効果的に測定する方法は、信号がないときにノイズを測定することです。 便宜上、いびきは断続的であり、その間にたくさんの「死んだ空気」が存在します。そして、いびきのエンベロープをすでに検出しています。したがって、エンベロープの外側(いびきの終わりと次のいびきの始まりの間)の外側は、おそらくノイズです。これは(ある程度の正確さ/再現性で)測定できます。(もちろん、中途半端なアルゴリズムを思いつくのに3回の試行が必要でした-現実が理論と一致することは決してありません。) まだ完全な答えは出ていませんが、進歩しました。 (上記の手法でSNRのかなり良いプロキシが得られますが、実際の信号レベルを推定するのにまだ問題があります。私の「相対レベル」の表示は、かろうじて聞こえる息の場合はスケールから外れ、ウィンドウのガラガラの場合はまあまあです。絶対レベルのプロキシが必要です。)
11 noise  snr 

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