BPSK信号の復調用にサンプリングする場所を決定する方法は?


8

単純なBPSK復調器があります。非常に単純に、信号が入り、1つはIに、もう1つはQに分割されます。

  1. Iブランチはキャリアの正弦波と混合され、Qブランチはキャリアの余弦波と混合されます。
  2. 次に、各出力は、マッチドフィルター(この場合は、ルートレイズドコサインで、送信されたビットを最初にパルス整形したもの)とたたみ込まれます。
  3. ここで、両方の出力を組み合わせて、両方の大きさ(I ^ 2 + Q ^ 2)を取ると、エンベロープが得られます。
  4. ここから、ピークを探し、それらのインデックスを選択します。
  5. 次に、(4)で取得したものと同じインデックスを使用し、それらの同じインデックスでIとQをサンプリングします。これで、複雑なソフトビット値があり、位相または周波数のオフセットを修正でき、そこから難しい決定を下すことができます。(私は後処理の贅沢があります)。

この手法は、SNRが中程度の場合にうまく機能しました。問題は、SNR(およびマルチパス)が低いため、箇条書き(4)の実行方法がわからないことです。問題は、1ビットに対応するエンベロープの1つのピークではなく、複数のピークがあり、「ピークピッキング」が機能しないため、選択できる数が多いためです。この問題はどのように軽減されますか?「ビット」がどこにあるのかわからなければ前進できないので、これはボトルネックのようです。何かご意見は?

どんな助けもありがたいです、数学は良いですが、答えは前もってもっとpesudo-code / concept指向であるようにお願いします。ありがとう!

編集:Dilipからのフィードバックのおかげで、信号があり信号がない場合にエンベロープ内の「エネルギー」を明確に見ることができることも追加する必要があります。(つまり、私の信号が到着する前に)、これは私が同期/復調できるはずであり、それだけでSNRの問題ではないことを信じるようにします...


@DilipSarwateはい、この場合、私は自分のTbpを正確に知っています。(そう、はい、受信機は私のビット間の正確な間隔を知っています)-しかし、その最初のビットインデックスを取得する方法は?...信号と信号がない-そしてこれは私のSNRがそれほど悪くないので私が同期/復調できないはずであると信じるようにします...(タグ情報のおかげで私はいくつか追加していきます)。
Spacey、

@DilipSarwateうーん...私はそのテクニックについてあなたに同意します-私が明確ではないのは、あなたが話しているテクニックを実行できるように、1ビットのウィンドウにどこにどのように合わせるかです。私の問題がわかりますか?私があなたを正しく理解していることを確認するためだけに:エンベロープに10サンプル/ビットがあるとしましょう。では、エンベロープ全体を取り出して、10個のサンプルチャンクに分割し、それらすべてを平均して、ピークがどこにあるべきかを見つけますか?
Spacey、

同期は非常に複雑なトピックになる可能性があります。テストしているSNRの値に数値を付けられますか?「高」、「中」、「低」とは何ですか。
Jason R

@DilipSarwateわかりました。同じことを言っています。今、私はこのすべての平均化を通じて、ノイズから平均化されているため、最適なサンプルインデックスを達成できることに賭けていることを理解しています。しかし、マルチパスが存在する場合、このような平均化が機能することを期待できますか?時間の経過とともに最適なピークが「スリップ」しませんか?このため、このテクニックを頻繁に再実行する必要があると思います...
Spacey

@JasonR現時点で正確なSNR値を取得することはできませんが、すぐに取得することはできます。(それでも、ビットロックできないので、どういうわけかエンベロープに基づいた測定が必要ですか?...)今のところ、定性的には、高SNRのケースでは、ビット間隔ごとに1つのピークをはっきりと見ることができます私のエンベロープでは一義的にですが、他のより低いSNRのケース(およびおそらくマルチパス)では、1ビットの期間中にエンベロープに多くのピークがあることがわかります。(とは言っても、信号がエンベロープを見始めたときは、はっきりと区別できます)。
Spacey、

回答:


7

これと同様のことをMATLABで行いました。私の原因では、Early / Late Gateクロック回復方法を使用して、送信と受信のシンボルタイミング間のオフセットの推定値を取得しました。この方法では、シンボルごとに3つのサンプルを使用します。1つは最適なサンプル時間で、1つは1サンプル遅延、もう1つは1サンプル進んでいます。信号の負の部分がないため、これはオン/オフキーイング信号に適していますが、以下の方法は、バイポーラ信号に適しています。

別の方法は、シンボルごとに1つのサンプルを使用するMuller and Mueller Algorithmです。これは式。ここで、はエラー、およびは以前と現在のシンボルサンプルで、とは決定出力です(ケースでは-1または+1)。M&Mでは、まずキャリアを回収する必要があります。E 、N 、Y N - 1つの Y N ^ Y N Y N - 1en=(yn^yn1)(yny^n1)enyn1ynyn^y^n1

上記のアルゴリズムと非常によく似た3つ目のアルゴリズムは、ガードナーアルゴリズムです。このアルゴリズムでは、エラー信号は。ここで、は過去の1シンボルのサンプルで、はシンボルの半分です過去には。これには、シンボルごとに2つのサンプルが必要ですが、キャリアの影響を受けません。 y n T y n T / 2en=(ynynT)ynT/2ynTynT/2

M&M検出器が見ているのピークながら、ガードナー法を見ているピークゼロクロスのタイミング見積もりを取得します。

すべての場合において、エラー推定値を取得し、ループフィルターにフィードします。ループフィルターの出力は、次のタイミング推定のためにシンボルクロックを進めるまたは遅らせるために使用されます。ループフィルターは、ローパスフィルター、スムージングフィルター、または古い推定値に新しい推定値よりも小さい重みを付けると考えることができます。ループフィルターは、a)タイミングが収束する速さ、およびb)ノイズが推定に影響する量を制御します。

別のオプションは、信号からタイミング遅延を取り除くイコライザーを使用することです。これは、私が信じている非常に騒々しい信号にも役立ちます。

この回答を作成する際にこれらのリソースを使用しました:http : //www.comlab.hut.fi/opetus/333/2004_2005_slides/CarrierTimingRecovery.pdf http://mobiledevdesign.com/tutorials/radio_matched_filtering_timing/

:この記事では特に便利ですhttp://rfdesign.com/images/archive/0901Litwin32.pdf ここでは1986年からガードナーのオリジナルの論文へのリンクです:http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber= 1096561&tag = 1

一般に、この領域は「クロックとデータの回復」または「CDR」と呼ばれます。具体的には、「シンボル同期」を扱っています。これらの用語は、検索に役立つはずです。


どうもありがとう!これがニワトリと卵のシナリオになっていると思うので、フォローアップの質問があります。早期後期-最初に最適なサンプリング時間が見つからない場合に3つのサンプルを使用する方法がわかりません...最適な、早期のものが必要です、そして遅い-しかし、どのようにして最適なものを見つけるのですか?(同じページにいることを確認するために、ここではエンベロープを正しくサンプリングすることを参照していますか?)
Spacey

1
Mohammed、私の実装では、2つのことを行いました:1)トラッカーのロックを支援するために1と0のトレーニングシーケンスから開始し、2)最初の推測を行いました。最初の推測は完全にナイーブ(0番目のサンプル)にすることも、最初のトレーニングシーケンスと相関させて最初の推定を取得することもできます。
ガラミン2011年

また、上から続けて、サンプル/シンボルの数がおおまかにわかっているため、後続の各シンボルタイミング推定は、サンプル/シンボル+/-ループフィルターからのエラー信号になります。
ガラミン2011年

ありがとう-私はそれを試して、それがどうなるかをあなたに知らせます。後期に関しては、封筒について話しているのですが、正しいですか?早い時間遅れのサンプルは信号のエンベロープのものですか?(つまり、エンベロープ= I ^ 2 + Q ^ 2)。これらの例でこれらのy_nが正確に何を参照しているかについて混乱しています-それらはエンベロープを参照していますか、それとも単にIの使用を参照していますか?または複雑なサンプル(I + Q)?
スペイシー

よくわかりません。M&Mおよびガードナー法の場合は、バイポーラ信号を確認する必要があります。したがって、BPSKの場合、信号を2乗する必要はありません。Early / Lateゲート検出器の場合、信号を二乗しても問題は発生しないと思います。また、実際には、最初にフェーズを修正してから、BPSKのQコンポーネントを無視しませんか?
ガラミン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.