これはどのような変調ですか?


8

私は、ウィンドウカバーのリモコンでどのような変調とエンコーディングが使用されているかを調べようとしています。これをRaspberry Piに実装して、ホームオートメーションを少し追加することを目指しています。

同僚がUSRPで信号をサンプリングするのを助け、データファイルをくれました。私はそれらをInspectrumで調べました。

サンプルは、信号の周波数に非常に近い中心に記録されていると思います。これは良い考えではないかもしれないと後で読んだので、これが写真で見ることができる永続的なノイズの原因となっていると思います。将来的にサンプリングを数kHz以下に中心化する必要がありますか?

「ウィンドウを開く」信号を1回押す

信号の概要

シンボルレート、または私が推測したのはシンボルレートでしたが、このレベルでは一貫しているようです(約42ボー)。

これは周波数エネルギーを示しています。X軸は時間、Y軸は周波数(ベースバンド)です。色は、興味深い力だけを示すように調整されています。

「ブロック」の1つの詳細

信号の詳細 信号の詳細(周波数、位相、IQ)

ここでは、最後の図に示すように、周波数、IQ(赤/青)、および位相を下に向かって下に移動します。ここに度数表が何を表しているのかよくわかりません。

疎から密への遷移を拡大

ここでは「シンボルレート」は一定していないようです。

移行の詳細 遷移の詳細(周波数、フェーズ、IQ)

このリモートが使用する変調、エンコーディング、ビットレート、またはプロトコルの種類はわかりません。今のところ、gnuradioですべての復調ブロックを盲目的に試すことが唯一の選択肢です。

ビットを取り出すために、gnuradioでこの信号を復調する方法に関するガイダンスを回答に含めることができれば、さらに役立ちます。そこから持っていけると思います。

コントローラーはベルックスのウィンドウカバー用ですが、ウェブで情報が見つかりませんでした。最終的には、Arduino / rPi用に購入するチップを見つける必要があります。

ここに画像の説明を入力してください

チップに文字が刻まれていることはわかりますが、読み取ることができません。摩耗しているようですが、拡大鏡はありません...:/

アップロードされた生データ:https : //www.dropbox.com/s/rh2k7ho68dvoxhd/data_mando3.dat?dl=0。サンプルレートは3MHzです。データ形式は、GNU Radio Companion default、つまりIQであり、各コンポーネントは32ビットのfloatとして表現されます。

更新

さらに調査した結果、これはio-homecontrolプロトコルのようです。それはリバースエンジニアリングされておらず、暗号化されているようで、情報はありません。これは双方向のプロトコルなので、会話全体からサンプルを取得する必要があります(現在のサンプルは、利用可能なリモートでのみ取得されます)。

このチップは理論的にはこのプロトコルで動作することができます:http : //www.analog.com/media/en/technical-documentation/data-sheets/ADF7022_2page.pdf

コンソーシアムは仕様を提供しません。私はまだGNURadioとのいくつかの会話を盗聴し、それらから作業できるかどうかを確認することにまだ興味があります。このことを考えると、io-homecontrolとVelux製品に対してのみ推奨できます。

ありがとうございました!


1
各曲線が何を示しているか、詳しく説明できますか?最初の図はSTFTのようになります。最後の図の緑、青、赤の曲線は何ですか?
MaximilianMatthé2017年

2
再サンプリングできれば、サンプリングレートの整数倍が信号の近くに到達しないようにするとよいでしょう。さらに、実際のサンプリングを行っている場合は、デジタル信号をデジタルIF周波数に到達させる必要があります。理想的な選択は、サンプリングしたスペクトルをfs/4、したがって、関係を使用 Nfsfc=fs/4 そして Nfsfc>2fb どこ fc あなたのキャリア周波数であり、 fb信号の帯域幅です。f_c >> 2 * f_b $のような結果を使用することをお勧めします。これを行うと、回転を観察してデジタルでキャリアを取り外すことができます。
Dan Boschen 2017年

1
リモコンを開けましたか?これらの企業の多くは市販のシリコンを使用しており、チップには部品番号があり、データシートに簡単につながることがよくあります。
Stephen Rauch 2017年

@MaximilianMatthé質問を更新しました。ありがとう!
jjmontes 2017年

1
@jjmontes「更新」セクションで私の応答の上部に追加したリンクを確認したいと思います。ここで繰り返します:cansecwest.com/slides/2015/…。プレゼンターは、io-homecontrol信号を復調する方法を段階的に示します。
Dan Boschen 2017年

回答:


5

さて、私はデータキャプチャでいくつかの信号科学捜査を行い、変調はFSKの形式であると考えています。

FSK変調は+/- 20 KHz、データレートは38 KHzでした。


更新: これが "io-homecontrol"であるというOPの発見と、彼が見つけたADIのデータシートは、これが実際に20KHzと38.4 Kbpsのデータレートの偏差を持つFSKであることを確認しています。さらに、このリンクは変調フォーマットの詳細を提供します:

https://cansecwest.com/slides/2015/From_Baseband_to_bitstream_Andy_Davis.pdf

これは、実際にはフル応答シグナリング(BT = 1)を備えたGaussian-FSKである可能性があります。つまり、各ビットの応答は、次のビットが始まる前に完了します。これはガウスフィルターで簡単に実装できます(乗算器のないガウスFIRフィルターを参照)続いてNCO。この場合、各データビットは、フィルターの全長に対してインパルスとそれに続くゼロとして表され、フィルターの出力は、周波数制御ワードをNCO(デジタルVCO)に駆動します。(ここで行っていることではなく、より複雑な受信機を必要とする部分応答シグナリングの場合、ゼロはフィルターの長さよりも短いですが、それでも機能します)。周波数偏差は、フィルター出力とNCO入力の間の乗数ゲイン定数で設定できます。ガウスFSKと単純なFSKのどちらを選択するかは、送信波形でのスペクトル封じ込めを向上させるためです(これが、丸みを帯びた遷移の理由です)。


誰かがさらに洞察を持っている場合に備えて、プロットを含めます。

最初に、0.93秒前後で発生する最初のバースト付近のマクロビュー。このプロットを取得するために、元のサンプリングレートが3 MHzであると想定して、10サンプルで間引きした後、0.2688ラジアン/サンプルに対応する周波数オフセットを削除しました。これは12.834KHzオフセットに対応します。

このプロットは、アンラップされた位相と時間(縦軸はラジアン)および対応する振幅と時間を示しています。マグニチュードが低い場合はノイズを表示していると想定し、マグニチュードが高い場合にのみ対象の信号が発生しています。

ここに画像の説明を入力してください

バーストの最初の部分を拡大すると、パルスは約0.9265秒で始まり、バーストの始まりでは、位相は約3 msの間「フラット」です。変調されていないキャリアに対応しているのは、後で見られる詳細と比較することからだと思います。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

「フラットフェーズ」部分の3 ms後、データレートが37.5 KS / sの1 0 1 0 1 0のように見える非常に長いパターンがあります。変調は0〜180度の間ですが、後で、BPSKではなくFSKを疑わせる明確な位相ランプが表示されます。(MSKの場合、90度の回転の形跡が見られると予想していましたが、最小の回転は180度でした)。パターンの最初に注意してください(+180 = 1および-180 = 0と仮定)、1 1 0 1 0 1 0 1 ...が表示されます。これは、1 0 1 0パターンで約90 ms間続きます。 1.02秒のマークの近くに「1 1」を挿入し、1.414秒のマークまで0 1 0 1 0 1 ...として繰り返します。(1 0 1 0パターンで約0.4秒の継続時間)。全体の軌跡の「こぶ」に注意してください。

ここに画像の説明を入力してください

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

1.414秒に実際のデータが開始されます。(最初のものはおそらく同期/取得パターンでした)。最初にマクロビューを見ると、バーストが終了する前にこのビューで3回繰り返されるように見えるパターンがわかります。

ここに画像の説明を入力してください

最初の領域を拡大すると、FSKを示す一定の正および負の位相傾斜が見られます。データバーストの最後には、4ミリ秒の間1の長い期間が続き、その後再び約14ミリ秒の間101010パターンが続きます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

次のバーストは約1.51秒で始まり、最初のバーストが再び、変調されていないキャリアの同じ開始パターンを持ち、101010の長い変調パターンが続きます。(ただし、開始は1 1 1 1 0 1 0 1 0 1 0 1でしたが、データ変調前の1010パターンの持続時間は再び14 msであったという点で少し異なります)

ここに画像の説明を入力してください


Noobの副次的な質問:同期中、ウォーターフォールチャートには5〜7個の顕著な周波数帯域があります。しかし、私は(ローパス)フィルターを中央のフィルター(20kHz)の中央に配置する必要がありますが、それは正しいですか?これはスペクトルの一部(〜+ -35kHzから拡大します)をフィルターから除外するので驚きますが、それでも機能するようです:?
jjmontes 2017年

12.834 KHzオフセットを中心にして復調し、その信号の周波数がデータになります。遅延とそれ自体との乗算により、単純な周波数弁別器を作成できます。
Dan Boschen 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.