タグ付けされた質問 「fsk」

3
ソフトウェアでAFSK信号を復調する方法
オーディオチャネル(スピーカー/マイク)を介して、あるデバイスから別のデバイスにバイナリデータを送信しようとしています。パケットラジオのように、と2つの周波数および AFSK(Audio Frequency Shift Keying)を使用し。私はRubyで少し遊んでみましたが、私の最初の実装は古典的なインコヒーレントな復調器を単純に模倣したもので、今のところうまくいきます。1200 ボー1200 ボー1200 \text{ Baud}fm a r k= 1200 Hzfmark=1200 Hzf_{mark} = 1200 \text{ Hz}fs p a c e= 2200 Hzfspace=2200 Hzf_{space} = 2200 \text{ Hz} 問題は、パフォーマンスを懸念している現在のソリューションが遅すぎるモバイルプラットフォームにこれを移植しようとしていることです。ソフトウェアでAFSKを復調する方法は多数あります。 スライド式DFT(FFT) スライド式ゲルツェルフィルター フェーズロックループ ゼロクロッシング どのように行くのでしょうか?選択できるオプションが多すぎます。さらに多くのオプションが利用可能であると確信しています。おそらく、上記で名前を挙げたものよりも優れたソリューションが存在するのでしょうか?誰かが私のためにコード例を持っていますか?心配です パフォーマンス(iOSまたはAndroidデバイスなどのモバイルプラットフォームで実行する必要があります) 安定性(ある程度のノイズを処理できるはずです) 提案やヒントは大歓迎です!
14 dft  demodulation  fsk 

3
2台のコンピューター間で音声でデータを送信します(非常に近い距離)
私は、2台のコンピューター間でサウンドを介してデータを送信する例を作成しています。いくつかの要件: 距離が非常に近い。つまり、2台のコンピューターは基本的に互いに隣接している ノイズが非常に少ない(先生がノイズソースとしてロックソングをオンにするとは思わない) エラーは許容されます。たとえば、「無線通信」を送信した場合、他のコンピューターが「RadiQ通信」を受信した場合も同様に問題ありません。 可能であれば:ヘッダー、フラグ、チェックサムなどはありません。サウンドを介してデータを送信する基本を示す非常に基本的な例が必要なためです。派手になる必要はありません。 このリンクに従って、オーディオ周波数シフトキーイングを使用してみました。 ラボ5 APRS(自動パッケージレポートシステム) そしていくつかの結果を得ました: 私のGithubページ しかし、それだけでは十分ではありません。クロックリカバリ、同期の方法がわかりません...(リンクにはタイミングリカバリメカニズムとしてフェーズロックループがありますが、明らかに十分ではありませんでした)。 だから私はもっと簡単なアプローチを見つけるべきだと思う。ここにリンクを見つけました: データを音声に変換して戻します。ソースコードによる変調/復調 しかし、OPは回答で提案されたメソッドを実装していなかったため、非常に複雑になる可能性があります。また、私は答えで提案されているデコード方法を明確に理解していません: デコーダはもう少し複雑ですが、概要は次のとおりです。 必要に応じて、サンプリングされた信号を11Khz付近でバンドパスフィルターします。これにより、ノイズの多い環境でパフォーマンスが向上します。FIRフィルターは非常にシンプルで、フィルターを生成するオンラインデザインアプレットがいくつかあります。 信号をしきい値処理します。最大振幅の1/2を超える値はすべて1で、以下の値はすべて0です。これは、信号全体をサンプリングしたことを前提としています。これがリアルタイムの場合は、固定のしきい値を選択するか、一定の時間にわたって最大信号レベルを追跡する何らかの自動ゲイン制御を行います。 ドットまたはダッシュの開始をスキャンします。サンプルをドットと見なすために、ドット期間に少なくとも一定数の1を表示することをお勧めします。次に、スキャンを続けて、これがダッシュかどうかを確認します。完全な信号を期待しないでください。1の真ん中にいくつかの0が表示され、0の真ん中にいくつかの1が表示されます。ノイズがほとんどない場合、「オン」期間と「オフ」期間を区別するのはかなり簡単です。 次に、上記のプロセスを逆にします。ダッシュが1ビットをバッファにプッシュする場合、ドットが0をプッシュする場合。 ドットとして分類する前に1がいくつあるのかわかりません。そのため、今のところわからないことがたくさんあります。プロセスを理解できるように、音声でデータを送信する簡単な方法を提案してください。どうもありがとうございました :) 更新: (ある程度)動作しているように見えるMatlabコードをいくつか作成しました。まず、振幅シフトキーイング(サンプリング周波数48000 Hz、F_on = 5000 Hz、ビットレート= 10ビット/秒)を使用して信号を変調し、次にヘッダーと終了シーケンスを追加します(もちろん変調もします)。ヘッダーと終了シーケンスはアドホックベースで選択されました(そう、ハックでした)。 header = [0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 …
12 audio  modulation  sound  fsk 

1
FSK復調、ビットタイミング回復
私は現在、音響FSK変調と復調を実装しています。私は信号処理の専門家ではないので、ビットタイミングの回復について助けていただければ幸いです。現在、各トーンに対して2つの整合フィルターを使用して復調器を実装しています(非コヒーレント検出の場合、位相の差はです)。基本的に、各フィルターの出力は、振幅の異なるピークです。2つの質問があります。90∘90∘90^{\circ} ビットタイミング回復を実行するにはどうすればよいですか? パケット同期プリアンブル(チャープ、バーカーコード、ゴールデンコードなど)には何をお勧めしますか? 私はガードナーアルゴリズムをグーグルアウトしましたが、それが適用可能かどうか、またその方法はわかりません。現在、サウンドカードを使用してビットレート800 bpsの2つの周波数で作業していると考えてください。

2
FSK信号のスペクトル
ここでは、C でシンプルなV.23のようなFSKモデムを実装しました。 選択された変調の特殊性は、0と1が2つの異なる周波数(それぞれ2100 Hzと1300 Hz)のトーンとして送信され、各シンボルの持続時間が1/1200秒、つまり1と2の全周期の間にあるというものです。シンボルトーン周波数の。 受信機で使用したバンドパスフィルターは約875Hz〜2350Hzです。この範囲は経験的に決定されました。 問題は、トーン周波数とシンボル持続時間からそのような信号のこの周波数範囲をどのように計算するかです。 編集:振幅変調との類似性が示唆されています。変調信号は、F キャリア -メッセージ帯域幅からF キャリア +メッセージ帯域幅 Hzの帯域に分類されます。 このロジックをケースに直接適用しようとすると、FSK信号の帯域幅が以下の和集合になると期待できます。 F1 - ビットレートのF1 +はレートビット F0 - ビットレートにF0 + ビットレート または、数字を挿入すると、以下の和集合になります。 1300-1200 = 100から1300 + 1200 = 2500 2100-1200 = 900から2100 + 1200 = 3300 それとも、単にから100への3300ヘルツ。 ただし、FSK信号のスペクトルを見ると、1300-1200 = 100から2100 + 1200 = 3300 Hz ではなく、2100-1200 = 900から1300 …

2
Sound FSK / PSK / DSSSを介したPC間のデータ通信
楽しさと仕事のために、PCのスピーカーを使用して音声またはデータをエンコードして送信できるJavaベースのアプリケーションを実装する必要があります。受信側には、デコーダーソフトウェア付きのマイクがあります。 私は実装にFSK(synまたはasyncまたは提案)を使用することを考えていました: テキスト(データ)--- modulate ---> 10khz-20khzオーディオ搬送波--->無線伝送--->マイク->復調--->テキストまたはデータを表示します。 私の主な考慮事項は次のとおりです。 帯域幅が200bps以下の場合 特定のレベルまでのノイズに強い できれば16khz-20khzの搬送波で44.1khzのサンプリング(この領域ではノイズが少なく、高齢者やマイクにはあまり聞こえません。スピーカーは安価で、ラップトップですぐに利用できます) コーディングロジックが複雑すぎないこと。 最小限のコーディング作業でどの変調が最も効果的に機能しますか?Javaを使用してFSK / BFSK / PSKまたはDSSSを実現するためのライブラリ/サンプルに関する推奨事項はありますか?

2
とは
Bandwidth-Time積の意味を教えてください。帯域幅(BBB)= 1 /シンボル時間(TTT)したがって、 BT=1BT=1BT = 1。 しかし、どのように変化するのでしょうか? その意味は何ですか? たとえば、GFSKがGMSKであると言うとき BT=0.5BT=0.5BT = 0.5、それはどういう意味ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.