ソフトウェア無線は、金属加工 (実際には健康に良い) をプログラミングの頭痛の種に置き換える方法です。 SDR は素晴らしい将来を予測しており、主な利点は無線プロトコルの実装における制限がなくなることであると考えられています。その一例が、SDR方式だからこそ可能となるOFDM(Orthogonal Frequency Division Multiplexing)変調方式です。しかし、SDR には、純粋にエンジニアリング的な機会がもう 1 つあります。それは、最小限の労力で任意の点で信号を制御および視覚化できる機能です。
興味深い通信規格の 2 つは、地上波テレビの DVB-TXNUMX です。
何のために?もちろん、立ち上がらずにテレビをつけることもできますが、そこには見るものはまったくなく、これはもはや私の意見ではなく、医学的な事実です。
真剣に、DVB-T2 は次のような非常に幅広い機能を備えて設計されています。
- 屋内用途
- QPSKから256QAMへの変調
- 1,7MHz~8MHzの帯域幅
SDR原理を使用してデジタルテレビを受信した経験があります。 DVB-T 標準は、有名な GNURadio プロジェクトに含まれています。 DVB-T2 規格用の gr-dvbs2rx ブロックがあります (すべて同じ GNURadio 用) が、事前の信号同期が必要であり、これは刺激的です (特に Ron Economos に感謝します)。
私たちが持っているもの。
ETSI EN 302 755 規格には、送信については詳しく説明されていますが、受信については詳しく説明されていません。
信号は 9,14285714285714285714 MHz のサンプリング周波数で、32768 MHz の帯域で 8 個のキャリアを備えた COFDM によって変調されています。
局部発振器の直流 (DC) オフセットと「漏れ」を取り除くために、このような信号を 2 倍のサンプリング周波数 (何も失わないように) で受信し、中間周波数ではより広い帯域幅 (スーパーヘテロダイン受信) で受信することをお勧めします。 (LO) を受信機入力に接続します。これらの条件を満たすデバイスは、単なる好奇心を満たすには高価すぎます。
10Msps 10bit の SdrPlay または同様の特性を持つ AirSpy の方がはるかに安価です。ここでサンプリング周波数が XNUMX 倍になることは問題ではなく、受信はダイレクト コンバージョン (ゼロ IF) でのみ行うことができます。したがって、(経済的理由により)私たちはハードウェアの変換を最小限に抑えた「純粋な」SDR 支持者の側に切り替えています。
次の 2 つの問題を解決する必要がありました。
- 同期。正確な位相精度の RF 偏差とサンプリング周波数偏差を調べます。
- DVB-T2 規格を逆方向に書き換えます。
2 番目のタスクにはさらに多くのコードが必要ですが、忍耐力があれば解決でき、テスト信号を使用して簡単に検証できます。
テスト信号は、BBC サーバー ftp://ftp.kw.bbc.co.uk/t2refs/ で詳細な手順とともに入手できます。
最初の問題の解決策は、SDR デバイスの特性とその制御機能に大きく依存します。よく言われるように、推奨される周波数制御関数を使用しても成功しませんでしたが、それらを読み取ることで多くの経験を積むことができました。ドキュメント、プログラミング、TV シリーズの視聴、哲学的な問題の解決…つまり、プロジェクトを放棄することはできませんでした。
「純粋なSDR」への信頼はますます強まるばかりです。
信号をそのまま取得し、ほぼアナログに補間して、実際の信号に似た個別の信号を取り出します。
同期ブロック図:

ここにあるものはすべて教科書通りです。次はもう少し複雑です。偏差を計算する必要があります。さまざまな方法の長所と短所を比較した文献や研究記事がたくさんあります。古典的なものから、これは「Michael Speth、Stefan Fechtel、Gunnar Fock、Heinrich Meyr、OFDM ベースのブロードバンド伝送のための最適な受信機設計 – パート I および II」です。しかし、数えることができ、数えたいと考えているエンジニアに私は一人も会ったことがないため、工学的なアプローチが使用されました。同じ同期方法を使用して、テスト信号に離調が導入されました。さまざまなメトリクスを既知の偏差 (彼自身が導入したもの) と比較することにより、パフォーマンスと実装の容易さの観点から最適なメトリクスが選択されました。受信周波数偏差はガードインターバルとその繰り返し部分を比較することで算出されます。パイロット信号の位相偏差から受信周波数の位相とサンプリング周波数を推定し、OFDM信号の簡易な線形等化器にも利用されています。
イコライザー特性:

DVB-T2 フレームがいつ始まるかを知っていれば、これらすべてがうまく機能します。これを行うために、プリアンブル シンボル P1 が信号で送信されます。 P1 シンボルを検出およびデコードする方法は、技術仕様 ETSI TS 102 831 に説明されています (受信に関する有用な推奨事項も多数あります)。
P1 信号の自己相関 (フレームの先頭の最高点):

最初の写真(動画公開まであと半年しかない…):

ここで、IQ インバランス、DC オフセット、LO リークとは何かを学びます。通常、ダイレクト コンバージョンに特有のこれらの歪みの補償は、SDR デバイス ドライバーで実装されます。したがって、味方の QAM64 星座から星をノックアウトするのは補償関数の働きであることを理解するのに長い時間がかかりました。すべてをオフにして自転車に書き込む必要がありました。
すると写真が動きました。

DVB-T64 規格の特定のコンスタレーション回転を使用した QAM2 変調:

つまり、これはミンチ肉を肉挽き機に通した結果です。この規格では、次の 4 種類の混合が規定されています。
- ビットインターリーブ
- セルインターリーブ(コーディングブロック内のセルの混合)
- 時間インターリーブ (エンコーディング ブロックのグループにもあります)
- 周波数インターリーブ (OFDM シンボル内の周波数混合)
その結果、入力には次の信号が得られます。

これはすべて、エンコードされた信号のノイズ耐性を確保するための闘いです。
合計
信号自体とその形状だけでなく、サービス情報も確認できるようになりました。
放送中のマルチプレックスは 2 つあります。それぞれに 2 つの物理チャネル (PLP) があります。
最初のマルチプレックスで 1 つの奇妙な点が見つかりました。最初の PLP には「マルチプル」というラベルが付いていますが、これはマルチプレックス内に複数あるため論理的ですが、2 番目の PLP には「シングル」というラベルが付いていますが、これは疑問です。
さらに興味深いのは、2 番目のマルチプレックスの 2 番目の奇妙さです。すべてのプログラムは最初の PLP にありますが、2 番目の PLP には未知の性質の信号が低速で存在します。少なくとも、約 50 のビデオ形式と同量のオーディオを理解する VLC プレーヤーは、それを認識しません。
.
このプロジェクトは、SdrPlay (そして現在は AirSpy) を使用して DVB-T2 をデコードできる可能性を判断することを目的として作成されたため、これはアルファ版ですらない。
追伸苦労して記事を書いているうちに、なんとかPlutoSDRをプロジェクトに組み込むことができました。
USB6 出力の IQ 信号には 2.0Msps しかないが、少なくとも 9,2Msps が必要だとすぐに言う人がいますが、これは別のトピックです。
出所: habr.com
