問題タブ [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.

0 投票する
1 に答える
2308 参照

matlab - MatLab 信号の変調

一部の信号にキャリア信号を乗算して、MatLab で信号を変調しようとしています。キャリア信号はcos(2*pi*fc*t)これまでのところ私のコードです

input、Ac および fc は、関数を使用するときに入力する必要があるパラメーターです。このコードを任意の入力信号 (私は で使用cos(t)していt = 0:0.001:10ます) で実行すると、出力は常に同じ信号になります。ただし、fc の前に .* の代わりに ./ を使用すると、出力が変調されます。./fc の代わりに .*fc を使用すると機能しないのはなぜですか?

0 投票する
1 に答える
4076 参照

matlab - BER グラフ MATLAB キャリブレーション

16QAM システム (送信機、チャネル、および受信機) と、結果の BER および PER 曲線を実行しています。ただし、受信機のノイズに問題があります。システムを 2 つのループ内で実行しています。すべての Eb/No 値とすべてのパケットに対して、200 個のシンボルと 1000 個のパケットを送信しましたが、これはまだ発生しています。このコードの結果が正しいかどうかを確認したい:

ありがとう!

0 投票する
1 に答える
797 参照

c# - サウンドカード経由でファイル転送のビットレートを上げる方法は?

サウンド カードのみを使用してファイルを転送する必要があります。

これまでの私のアルゴリズムは、振幅シフト キーイング (ASK) に基づいています。

送信機:
プログラムは、変調されたデータを WAV ファイルに書き込みます。
ビットが 1 のときは単に「ノイズ」(波を作る) と書き、それ以外の場合は「無音」(振幅 0) と書きます。
無音とノイズのサンプル数は事前に定義されており、どちらの場合も同じです。

レシーバー:
プログラムは録音を開始し、あらかじめ定義されたノイズしきい値を超えるサンプルを待ちます。
ノイズを検出すると、「終了信号」が検出されるまで、録音されたサンプルを WAV ファイルに復調します。

プロトコル:

  1. 最初のバイトは 255 で、データの一部ではありません (新しいファイルで受信者に通知します)。
  2. 次に、データ (ファイルの内容) を書き込みます。
  3. セッションの終了を示す事前定義された 4 バイトを書き込みます。
  4. 各ビットは 3 回転送されるため、エラーが発生した場合、残りの 2 つ (ECC) によって正しいビットを推測できます。

NAudio C# ライブラリを使用して、WAV ファイル (録音、再生、書き込み、読み取り) を処理しています。

理解を深めるために、以下にコードの一部を追加しましたが、問題を解決できると思います。アルゴリズムの欠陥とそれを改善するにはどうすればよいかを知りたいだけです。

送信機:

このファイルを取得した後、一度再生されます。

レシーバー:

すべてを書いたわけではありませんが、基本的に受信機は8 * SamplesPerBitノイズ サンプルを探します。(サンプルをノイズしきい値と比較して、サンプルにノイズがあるかどうかを判断します)。その後、終了信号が検出されるまで、他のすべてのデータを保存します。最後に、コンテンツをファイルに保存します。

問題は、これが適切に機能するためには、SamplesPerBit を少なくとも 100 にする必要があることです。1 秒あたり 44100 サンプルあるため、1 秒あたり約 441 ビットを書き込みます。
私のデータは 3 倍になったので、全体としては 20 バイト/秒未満です。

少なくとも 1KB/秒でデータを送信できる必要があります。

ビットレートを上げる方法についての提案は非常に役立ちます。

Naudio の The FastFourierTransform クラスを使用して、FSK (振幅は同じまま、周波数が変化する) でそれを行うことを考えましたが、その方法の方が高速になるとは思いません (エラーが発生しにくい可能性があります)。

0 投票する
1 に答える
502 参照

web-audio-api - ScriptProcessorNode への一意のステレオ入力

2 つ以上のオーディオ ストリームへの継続的なアクセスを必要とする Web オーディオ API にオーディオ エフェクトを実装したいと考えています。

2 つの入力チャネルと 2 つの出力チャネルを持つスクリプト プロセッサを定義できます。

次に、いくつかの正弦波をこのプロセッサに接続します。

それらをオーディオ プロセッサの特定の入力チャンネルに接続する方法はありますか?

最終的に、onaudioprocess 関数を作成して各入力チャネルを個別に聞くと、各入力チャネルにはプロセッサに接続されたすべてのサウンドが含まれます。onaudioprocess 関数内で各正弦波に個別にアクセスする方法がありません。これは正しいです?または、スクリプト プロセッサの単一の入力チャネルにサウンドを接続する方法はありますか?

0 投票する
0 に答える
1046 参照

matlab - Matlab でのステレオ FM 変調

私の質問は単純かもしれませんが、私はここでかなり長い間立ち往生しています。Matlab でステレオ FM 複合ベースバンド信号をシミュレートしようとしています。イタリアのグループの論文「パッシブ レーダーの FM 無線信号の分析とエミュレーション」を基礎として使用しています。私は実際にラジオフォニック信号部分まで適切な信号を作成することができます. 私の問題は、残りの部分2*pi*k_fと統合にあります。cumsum()統合ブロックとして使用するためにmatlabの機能を使用しています。すべて問題ないように見えますk_f = 75000が、論文に記載されているように使用すると、複雑なエンベロープ信号はすべてフラットになり、図 2 の 2 番目のグラフのような三角形はありません。

fmmodMatlabの機能を使用せずにこれを行うことは、私にとって非常に重要です。これが私のコードです:

0 投票する
1 に答える
927 参照

matlab - 8psk 変調コードでエラーが発生します

8PSK 変調システムをコーディングしようとしています。これはコードです。

しかし、私はこの行に問題があります:

これはエラーです: ここに画像の説明を入力 どうすれば問題を解決できますか?

0 投票する
2 に答える
361 参照

java - Java での振幅変調のために 8 ビットを 1 バイトに変換する

そこで、振幅復調を行うプログラムを Java で作成しています。正弦波の値を値ごとに読み込んで、「1」か「0」かを判断しています。今のところ、それらを文字として保存していますが、提案は受け付けています。ビットごとのサンプル数はわかっているので、ビットを決定することは問題ではありません。

8 ビットのすべてのセットを 1 バイトに変換する方法がわからないので、UTF-8 を使用して最終的なバイト配列をデコードできます。それを行う効果的な方法はありますか?

0 投票する
1 に答える
983 参照

matlab - BPSKを使用した画像の送信

入力画像は、変調して送信し、最終的に BPSK を使用して検出する必要があります。

次のコードは、入力画像を変調し、復調された出力を表示するためのものです。コードを実行すると、結果の出力に空白の画像が表示されます。何を見逃したのか、どこで間違ったのかを理解するのに助けが必要です。