問題タブ [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 に答える
274 参照

matlab - Matlab: 高次 QAM 信号を操作する際のエラー - 行列の次元が一致する必要があります

この問題は些細なことのように思えますが、解決しようとすると頭を悩ませています。64 QAM コンスタレーションに定数モジュラス手法を使用して分数間隔イコライザーを適用しようとしています。プログラムは QPSK または 4 QAM で動作しますが、64QAM に適用するとエラーがスローされます。

通信ツールボックスを持っていないので、前の質問の回答を使用して 64QAM シンボルを生成しました 16 QAM 信号を生成します

誰かがコードを機能させるのを手伝ってくれませんか? ありがとうございました。

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

matlab - Matlab でカラフルなヒストグラム型コンスタレーション ダイアグラムをプロットする方法

下の図のようなコンスタレーション ダイアグラムをプロットしたいと思います。 カラフルな星座.

私のアプローチはこのようなものです

上に添付した図のようなグラフを得るために必要な変更を行うのを手伝ってくれませんか。ありがとうございました。

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

matlab - MATLAB での AM 変調: サンプリング周波数?

Fc=10 KHz の搬送波を Fm = 200 Hz (時間領域で 0 から 1) の正弦波メッセージで変調しようとしています。

サンプリング レート Fs = 1 KHz。

これは私のコードです:

ここまでは問題ありません。さて、キャリア信号について:

メッセージ - キャリア

キャリアとメッセージを時間領域で乗算する必要があります。しかし、キャリアは正しくありません。問題は、Fs << Fc という事実から生じます。

そのため、キャリアの FT を間違えます。

これを修正する方法を教えてください。

注: これは、状況を理解するために使用した単なる例です。私が解決しようとしている実際の問題には、wav オーディオ ファイル (Fs=44.1 KHz) と Carrier Freq (Fc=100 KHz) が含まれています。つまり、Fs << Fc であり、私にはどうすることもできません。

ありがとう、

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

android - Android PPM デコーダ オーディオ ライブラリ

AndroidにオーディオPPM(パルス位置変調)を実装する必要があります

参照: http://en.wikipedia.org/wiki/Pulse-position_modulation

スマートフォンのオーディオマイク入力を使ってPPMを受信したい。

ラジコン、ドローンなどの無線は、一般に PPM 出力を備えています。トランスミッター (および PC フライト シミュレーター) には、一般に PPM 入力があります。

あなたがこの仕事で私を助けてくれるかどうか知りたいです。

あなたがここで読むことができるように、私はまだppmエンコーダークラスを書いています:アンドロイドPPMエンコーダーオーディオライブラリ

これらは、いくつかの開始ドキュメントとツールです。

1) smartpropplus は、PPM オーディオを受信して​​デコードする Windows ソフトウェアですhttp://sourceforge.net/p/smartpropoplus/code/HEAD/tree/SPP4/

2) これは PPM の構造です: http://www.aerodesign.de/peter/2000/PCM/PCM_PPM_eng.html#Anker144123

3) これは信号がどのように構成されているかを説明する簡単な画像です: http://www.aerodesign.de/peter/2000/PCM/frame_ppm.gif

4) オシロスコープによる ppm 信号測定: http://www.andrewhazelden.com/blog/2011/08/analyzing-rc-radio-ppm-signals/

編集: あなたのサポートを待っている間、私はサンプルアプリを書き始めました:

これはクラスPPMdecoder.javaで、信号のデコードとキャリブレーションフェーズが欠落しています....しかし、マイクからの信号を正しく取得することができます

:コード内の「//To Be Done」コメントは、この質問を解決するために不足しているコードを示しています。

クラス PPMdecoder.java

これはインターフェイス IAsyncFetchListener.java であり、デコーダーがチャンネル値で​​ UI を定期的に更新できるようにするために、UI スレッドでリスナーを作成するために必要でした。

これは、サンプル アクティビティ クラス Test.java です。

これは AndroidManifest.xml です

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

r - FSK 復調とデータ復元

I'm trying to implement a FSK demodulator in R. The audio is some text data, and as an exercise I converted the text to raw binary (0s and 1s) to be able to check the output of the demodulator. So far I've been able to come up with some demodulated data, but something is amiss: the length of the real data is 6720 characters, but the length of the demodulator output is 1345049, about 200 times longer. So basically there's a whole bunch of extra 0s and 1s (e.g. instead of 0101001 or something, it looks like 00000111110000011111000000011111).

This makes sense because the duration of the audio file is 30.5 seconds, and multiplied by the sampling rate (44100), the result is 1345050.

My question is: what's the proper way to recover data from the demodulated signal? Some process like demod[1,200,400,600,800...]; but then do I start with the first bit or the 200th, or in between? Or have I completely missed the target?

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

c++ - 8 ビット PCM 正弦波 wav ファイルを書き込むと倍音が生成されます

800Hz の正弦波 (1 チャンネル、8 ビット、16000Hz サンプリング、32000 サンプルなので 2 秒の長さ) の .wav ファイルを生成するプログラムを c++ で作成しましたが、Audacity で再生したりスペクトログラムを調べたりすると、倍音。

問題は、正弦波を PCM に変換するアルゴリズムにあると思います。127、127.5、128 などの「ゼロ」変位をどこに置くべきかわかりません。

生成されるファイルは次のとおりです: output.wav

必要に応じて、cpp ファイルを次に示します: wavwriter.cpp

ありがとう!

編集 2: char を uint8_t に変更しました

未定義の動作を避けるため。同じ問題がまだ適用されます。

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

matlab - Simulink でのマルチチャネル オーディオ出力

Simulink を使用して、オーディオ出力 (ヘッドフォン) の 3.5 mm ジャックから 2 つの正弦波を出力しています。正弦波の 1 つをチャネル 1 から送信し、もう 1 つの正弦波をチャネル 2 から送信したいと考えています。

2 つの「To Audio Device」ブロックに接続された 2 つの正弦波ブロックを使用してみましたが、それぞれに異なるチャネルが指定されており、「指定されたオーディオ デバイスは 1 回だけ開くことができます」というエラーが発生します。

接続されていない単一の「To Audio Device」ブロックに両方のサイン ブロックを配線しようとしました。

Mux、Vector Concatenate、Matrix Concatenate ブロックを使用して正弦波を結合してから、出力を To "Audio Device Block" に送り込もうとしましたが、望ましくない結果になりました。

両方の正弦波を個別に動作させましたが、両方を同時に動作させることはできませんでした。