信号処理

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


1
Pythonの初心者向けのローパスフィルターとFFT
私は信号処理、特にFFTが初めてなので、ここで正しいことをしているかどうかはわかりませんが、結果に少し混乱しています。 離散的な実関数(測定データ)があり、その上にローパスフィルターを設定したい。選択するツールは、numpyパッケージを備えたPythonです。私はこの手順に従います: 私の関数のfftを計算する 高周波を遮断 逆fftを実行します 私が使用しているコードは次のとおりです。 import numpy as np sampling_length = 15.0*60.0 # measured every 15 minutes Fs = 1.0/sampling_length ls = range(len(data)) # data contains the function freq = np.fft.fftfreq(len(data), d = sampling_length) fft = np.fft.fft(data) x = freq[:len(data)/2] for i in range(len(x)): if x[i] > 0.005: # …

2
生のWAVからバイナリ磁気ストリップカードデータを抽出する
iPhoneの磁気ストリップカードリーダーからバイナリデータを抽出するという難しい課題に直面しています。これは、カードの磁化がどのように見えるかです: ソース カードをスワイプしたときにiPhoneが受け取る.WAVは次のとおりです(期待をかけすぎないでください、これはボーナスポイントカードです;))。ちなみに、異なる速度での3回のスワイプです。これは、使用しているスワイプの未加工のSInt16ダンプです。 ここで誰かがやったようです が、実際にキャプチャしたデータを処理するのは特に簡単ではありません。 読み取りは「ゼロ」の不定数で開始(および終了)します-波は2つのZEROSが収集された後にのみ繰り返されることに注意してください。これはNSに続いてSNを表します。 (3行のそれぞれが私が別のカードをスワイプすることを表していることに注意してください。この画像の一番下のカードは15歳ですので、このショットでは見えない場所で磁場が明らかに著しく低下しています) これにより、アルゴリズムはクロックティックを確認できます。 クロックティックごとに磁場が反転します。 また、バイナリ1の場合、ティックの中央で磁場が正確に反転します。 シーケンスは常に1101 + 0(パリティビット)開始センチネルで始まります。上記のグラフの3つの測定値すべてでこれを選択できます。これは、質問の冒頭でリンクしたcosmodroの記事でより明確に示されています。 磁気劣化の例を次に示します(下のカードの読み取りについてさらに詳しく説明します)。 この波形を対応するバイナリシーケンスに変換する賢明な方法を見つけようとしています。 詳細を説明するPDFを1つ見つけましたが、使用しているアルゴリズムがわかりません。 このPDFには興味深い画像が1つ含まれています。 この図のように赤と青の線を抽出できれば、どちらかを使用してデータを抽出できますが、構造の背後にあるロジックを理解することはできません。 これが私の質問です:バイナリシーケンスを抽出するにはどうすればよいですか? PS。スワイプ速度は一定にならないことに注意してください。そのため、クロックが決定されたら、1つのティックから次のティックに常に調整する必要があります。 PPS。自己相関はティックのペアをキャッチしますか?(ダニがNS SNを代替するように見える...) 編集(12年6月):これについて多くの助けが必要でしたが、最終的にはしっかりした読者(http://www.magstripedecoder.com/)を完成させました。助けてくれたみんなありがとう!IRCのefnetチャンネルで#musicdspをお勧めします。数学に慣れるのに挑戦するのに十分な熱心な人なら、本当に難しいです!

3
彼らは古い白黒映画をどのように色付けしましたか?
私は主に信号処理の部分に興味があるので、この質問はdsp.SEにあります。 インド映画のムガール・エ・アザムがあり、1960年に白黒でリリースされ、2004年にカラーで再現されました。 どのようにして各ピクセルを完璧に色付けしましたか? 彼らは各ピクセルの色の配置を識別するためにどのようなテクニックを使用しましたか? 映画のスクリーンショットのいずれかをご覧ください。 アインシュタインの白黒写真を色付けしたいのですが。彼が当時何を着ていたのか、そして彼の服、背景などの実際の色は何だったのかを知らずに、どのようにそれを行うことができますか?
22 matlab 

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は補間されていますか?

4
いびきと音声を区別する方法は?
背景: 私は(に言及したiPhoneアプリに取り組んでいる中で 、いくつかの 他 の記事)その1が眠っていると判断しながら呼吸/いびき「に耳を傾ける」「スリープラボ」の前の画面として(睡眠時無呼吸の兆候がある場合テスト)。アプリケーションは、主にいびき/息を検出するために「スペクトル差」を使用し、睡眠ラボの録音(実際には非常にノイズが多い)に対してテストすると、非常にうまく機能します(約0.85--0.90相関)。 問題: ほとんどの「ベッドルーム」ノイズ(ファンなど)をいくつかの手法でフィルタリングし、人間の耳では検出できないS / Nレベルで呼吸を確実に検出できることがよくあります。問題は音声ノイズです。バックグラウンドでテレビやラジオを走らせることは珍しくありません(または単に誰かが遠くで話していることもあります)。また、声のリズムは呼吸/いびきとほぼ一致します。実際、私はこのアプリを介して故作者/ストーリーテラーのビル・ホルムの録音を実行しましたが、それは本質的にリズム、レベルの変動性、および他のいくつかの測定のいびきと区別できませんでした。(少なくとも彼が起きている間は、睡眠時無呼吸がなかったようです。) ですから、これは少し長めのショット(そしておそらくフォーラムのルールの延長)ですが、私は音声を区別する方法についていくつかのアイデアを探しています。いびきをなんとかフィルタリングする必要はありません(それはいいと思います)が、音声で過度に汚染された「ノイズが多すぎる」サウンドとして拒否する方法が必要なだけです。 何か案は? 公開されたファイル: dropbox.comにいくつかのファイルを配置しました: Epica_Storm_the_Noisy_Sorrow_minus_10dB_wav.dat Holm_5db_noisy_wav.dat recordedFile20120408010300_first_ten_wav.dat 最初の曲はかなりランダムなロック(おそらく)音楽で、2番目の曲は故ビルホルムのスピーチの録音です。両方(いびきと区別するために「ノイズ」のサンプルとして使用します)は、信号を難読化するためにノイズと混合されています。(これにより、それらを識別する作業は非常に困難になります。)3番目のファイルは、真に最初の3分の1がほとんど呼吸し、真ん中の3分の1が呼吸/いびきの混合で、最後の3分の1はかなり安定したいびきです。(ボーナスで咳が出ます。) 多くのブラウザではwavファイルのダウンロードが非常に難しくなるため、3つのファイルはすべて「.wav」から「_wav.dat」に名前が変更されました。ダウンロード後、名前を「.wav」に戻すだけです。 更新:エントロピーは私にとって「トリックをやっている」と思っていましたが、それは主に使用しているテストケースの特性であり、あまりにもうまく設計されていないアルゴリズムでした。一般的な場合、エントロピーは私にとってほとんど役に立たない。 その後、1秒間に約8回サンプリングされた(メインFFTサイクルから統計情報を取得して)信号全体の振幅(パワー、スペクトルフラックス、その他のいくつかの測定を試しました)のFFT(いくつかの異なるウィンドウ関数を使用)を計算する手法を試しましたこれは1024/8000秒ごとです)。1024サンプルでは、​​これは約2分の時間範囲をカバーします。いびき/呼吸対音声/音楽のリズムが遅いためにこのパターンを見ることができることを望んでいました(また、「変動性」問題に対処するより良い方法かもしれません)あちこちにあるパターンの、私が本当にラッチできるものは何もありません。 (詳細:場合によっては、信号振幅のFFTは、約0.2Hzに強いピークと階段高調波を持つ非常に明確なパターンを生成します。しかし、ほとんどの場合、パターンはそれほど明確ではなく、音声と音楽はあまり明確に生成できません性能指数の相関値を計算する方法はあるかもしれませんが、約4次の多項式にカーブフィッティングする必要があり、電話で1秒に1回実行することは実用的ではないようです) また、スペクトルを分割した5つの個別の「バンド」に対して、同じ平均振幅のFFTを実行しようとしました。バンドは4000-2000、2000-1000、1000-500、および500-0です。最初の4つのバンドのパターンは全体的なパターンとほぼ同じでした(ただし、実際の「目立つ」バンドはなく、より高い周波数帯域ではほとんど無視できるほど小さい信号でしたが)。 バウンティ: 彼がこれまでで最も生産的な提案であったことを考えると、彼は新しいものを何も提供していませんが、ネイサンにバウンティを与えるつもりです。しかし、他の誰かが良いアイデアを思いついたら、他の誰かに喜んで表彰したいと思ういくつかのポイントがあります。

1
さまざまな画像リサンプリング方法の実際に関連する違いは何ですか?
MathematicaのImageResize関数は多くのリサンプリング方法をサポートしています。 この領域に精通していない、最も近い隣、双線形、双二次、双三次(名前から明らか)を超えて、私は失われています。 これらの方法の基本的な(数学的な)違いを説明するソースを教えてください。特に、実際の違いを指摘してください(たとえば、方法の選択が本当に重要で顕著な違いをもたらすサンプル画像を表示するなど)。 私は信号処理の背景を持っていないので、「穏やか」で簡潔な紹介を好むでしょう:-) ここで、ImageResizeこれらの「怠yな」リンクをクリックするためのメソッドのリストをコピーします。 「最も近い」最近傍のリサンプリング 「双一次」双一次補間 「双二次」双二次スプライン補間 「双三次」双三次スプライン補間 「ガウス」ガウス再サンプリング 「Lanczos」ランチョス多変量補間法 「コサイン」コサイン補間 「ハミング」コサインロールオフハミング補間 「ハン」コサインロールアップ補間 「ブラックマン」三項一般化コサインロールオフ 「バートレット」三角ウィンドウ補間 「コネス」二乗ウェルチ補間 「ウェルチ」ウェルチ二次補間 「Parzen」区分的3次補間 「カイザー」ゼロ次修正ベッセル補間

5
離散時間フーリエ変換と離散フーリエ変換の違い
私はDTFTとDFTに関する多くの記事を読みましたが、DTFTが無限大になり、DFTがN-1までしか見えないことを除いて、両者の違いを見分けることはできません。誰が違いを説明し、何をいつ使用するのですか?ウィキは言う DFTは、離散時間フーリエ変換(DTFT)とは異なり、入力および出力シーケンスが両方とも有限です。したがって、有限領域(または周期的)離散時間関数のフーリエ解析と言われています。 唯一の違いですか? 編集: この記事では、その違いをうまく説明しています。

1
PSDと周波数スペクトルの2乗振幅の違いは何ですか?
信号のパワースペクトルは、フーリエ変換の振幅の2乗を取ることで計算できます。オーディオの人間であるため、私にとって興味のある信号は時系列になります。 この表現はPSD(パワースペクトル密度)とどのように異なりますか。そして、重要なことに、上記のパワースペクトルの代わりにPSDを使用する実用的な状況はどれですか。

5
「Lena」、「Mandrill」、「Cameraman」などの画像の音声相当物は何ですか?
これらの画像を何と呼ぶか​​わかりませんが、画像処理の世界では、特定の操作の出力を表示するための標準的な例として頻繁に使用されています。Lenaを「標準テストイメージ」として説明しているページへのリンクを次に示します。特定のオーディオフィルターまたは操作の効果を示すために使用される類似の標準的なオーディオクリップはありますか?

2
視覚追跡および平面マーカーの段階的なカメラポーズ推定
私は拡張現実のカメラポーズ推定と視覚追跡アプリケーションのトピックにしばらく取り組んでおり、タスクに関する詳細な情報はたくさんありますが、依然として多くの混乱と誤解があると思います。 次の質問は、段階的な詳細な回答に値すると思います。 カメラの組み込み機能とは何ですか? カメラ外部機能とは何ですか? 平面マーカーからホモグラフィを計算するにはどうすればよいですか? ホモグラフィを使用している場合、カメラポーズを取得するにはどうすればよいですか?


4
シャープな遷移を維持しながら信号のノイズを除去するためのトリックの袋
この質問は、Signal Processing Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 これは信号に依存することがわかっていますが、新しいノイズの多い信号に直面すると、急激な遷移を維持しながら信号をノイズ除去しようとするトリックのバッグは何ですか(たとえば、あらゆる種類の単純な平均化、つまりガウスとの畳み込みがなくなります)。私はしばしばこの質問に直面し、自分が何をしようとしているかわからないように感じます(スプライン以外にも、適切な鋭い移行を真剣に打ち倒すことができます)。 PSサイドノートとして、ウェーブレットを使用した良い方法を知っているなら、それが何であるかを教えてください。彼らはこの分野で多くの可能性を秘めているように思えますが、90年代には論文の方法がうまくいくことを示唆する十分な引用がある論文がいくつかありますが、介在年。確かにそれ以降、いくつかの方法は一般的に「最初に試すこと」であることが判明しました。

3
FIRフィルター設計:ウィンドウとパークマクレランおよび最小二乗
ローパスフィルターのFIRフィルター設計にParks-McClellan(ここではPMcCと略します)または最小二乗アルゴリズムよりもウィンドウアプローチを使用する利点はありますか?今日の計算能力では、アルゴリズム自体の複雑さは要因ではないと仮定します。 この質問は、PMcCと最小二乗を比較するものではありませんが、具体的には、これらのアルゴリズムの代わりにウィンドウFIR設計手法を使用する理由がある場合、またはそれらのアルゴリズムによって廃止され、教訓的な目的に追いやられた設計をフィルター処理するウィンドウ手法がありましたか? 以下は、ハミングウィンドウを、同じ数のタップを使用して、最小二乗法を使用したお気に入りの設計アプローチと比較した比較の1つです。ハミングウィンドウのパスバンドに厳密に一致するように、最小二乗アプローチの通過帯域を拡大しました。この場合、最小二乗のパフォーマンスが大幅に向上することは明らかでした(ストップバンド除去が大幅に向上します)。すべてのウィンドウでこれを行っていないので、PMcCと最小二乗を実行できるかどうか、またはウィンドウイングアプローチが好ましいFIRローパスフィルタの他のアプリケーションがあるかどうかという質問につながりますか?

3
時間領域の遅延は、周波数領域にどのような影響を与えますか?
時間制限のある信号、たとえば秒だけ続く正弦波がある場合、その信号のFFTを取得すると、周波数応答が表示されます。例では、これは正弦波のメイン周波数でのスパイクになります。TTT さて、同じ時間信号を取得し、それをある時定数で遅延させてからFFTを取得すると、どのように変化しますか?FFTはその時間遅延を表すことができますか? 私は、時間遅延が表していることを認識、周波数領域の変化を、私は何実際にその決定に苦労してるの手段を。exp(−jωt)exp⁡(−jωt)\exp(-j\omega t) 実際には、周波数ドメインはさまざまな信号間の時間遅延を決定する適切な場所ですか?

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