問題タブ [modulation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - MATLAB 関数を使用して、不均一な波形から波形の「興味のない」部分を削除するにはどうすればよいですか?
次の性質の(階段を上っている人の)信号があります。これは、階段を上る 6 分間で 38K + サンプルに値する信号です。いくつかの低周波ノイズがある部分は、人が次の階段に到達するためにターンアバウトを行う時間です (したがって、階段の上昇としてはカウントされません)。
図1
これが、階段の上昇データのみを受け入れるディープ ラーニング モデルでそれを取り除く必要がある理由です。基本的に、人が階段を上っている高周波領域のみが必要です。手動で削除することもできますが、そのような信号が 58 個あるため、かなりの時間がかかります。
この問題を解決するための私のアプローチは、低周波数領域では 0、高周波数領域では 1 である方形波でこの信号を変調し、信号を乗算することでした。しかし、問題は、高周波数領域と低周波数領域を独自に検出するような方形波信号をどのように作成するかです。
(MATLAB のエンベロープ rms 関数を使用して) 信号をエンベロープしようとしたところ、次の結果が得られました。
図 2
ご覧のとおり、エンベロープ rms 信号は関数に非常によく従っています。しかし、それから変調方形波関数を作成する方法に固執しています(基本的に、可変パルス幅変調波形を求めています)。
PS: ハイパス フィルターの使用を検討しましたが、高周波数の階段を上る領域に除去できない低周波数信号がいくつかあるため、これは機能しません。また、(エンベロープ rms 関数用に) 立ち上がり/立ち下がりエッジ検出の何らかの形式を使用することも考えましたが、それを実装する実用的な方法は見つかりませんでした。) アドバイスしてください。
事前に助けてくれてありがとう、シュレヤ
私のデータセットで行ったしきい値処理の提案について David に感謝します。これらの結果が得られました...ただし、ゼロ間の冗長なピークを取り除こうとすることに再び行き詰まっています (下の画像を参照) 次に何をすればよいですか?
図 3
次の手順を使用して、波形の「興味深い」部分を元の波形全体から正常に分離できるという問題を解決できたと思います(読者の将来の参照用:)
図 1 のような不均一な波形には、"envelope(rms)" MATLAB 関数を適用して、図 2 のようなオレンジ色の関数を取得できます。その後、MATLAB 独自の "idfilt" 関数を使用して、このエンベロープ波形をフィルター処理しました。これにより、波形の「興味深い」部分の間に発生していた不要なスパイク (ゼロの間) を取り除くことができました。次に、しきい値処理を使用して、この波形を「興味深い」部分で1に、「興味のない」部分で0に等しくなるように変換し、元の波形の「興味深い部分」のみに従うパルス幅変調方形波フォーム(図 1) 次に、方形波に元の関数を乗算し、「興味のない」ものを除外することができました。
図 4
助けてくれてありがとう!このスレはこれで解決!
audio - 信号がゼロを横切るときに振幅変調をデコードする方法は?
C++ プログラムで三菱 VisiTel 電話画像送信機からの画像信号をデコードしようとしています。〜1764Hzの正弦波キャリアで変調されたアナログオーディオ信号としてエンコードされます。
サウンド カードの入力からオーディオを 44.1kHz の符号付き 8 ビットとして読み取っています。これは、キャリアに対して約 25 サンプルの期間を提供します。明らかに、アナログ信号はサンプル境界にうまく収まらないため、これが +/-1 サンプル分シフトする可能性があると想定します。
信号をデコードする最初の試みは、信号のピークを取得し、それらをピクセル値として割り当てることでした。それはほとんど機能しましたが、「オフフェーズ」ピクセルがいくつかあるようで、最終的に画像が歪んでしまいました。
最終的に、ピクセル クロックをピークから分離し、それをサンプルに結び付けることで信号を取得しました。また、どういうわけかピクセル倍数で終わらないため、各スキャンラインを個別に時間を計る必要がありました。
しかし、この信号は完全には正しくありませんでした。暗い領域がどういうわけか反転して出てきました。
暗い部分が反転した画像
最終的に、明暗の遷移で位相の不連続があることに気付きました。これは、変調信号がゼロ点を超えて、キャリアを負に駆動し、ピーク/谷の関係を逆転させて、結果の信号に位相の不連続性を引き起こしていることを示していました。
AM 信号の不連続
このタイプの遷移を検出するようにステート マシンを変更しようとすることはできますが、少し面倒でエラーが発生しやすいようです。
変調器がゼロ点を横切る AM 信号を復調するには、適切な数学的な方法が必要であると考え続けています。しかし、私が見つけたすべての例は、単純なピークベースのエンベロープ検出器のようです。私が見つけた製品検出器の説明は、キャリアと位相が正確に正確であることを期待しているように見えますが、それでもゼロクロス信号のために何かを購入できるかどうかはわかりません.
変調器がゼロを横切る AM 信号を復調するための、当事者が承認した正しい方法は何ですか?