OSQZSS

オープンソース準天頂衛星(QZSS)受信機

USRP N210でRF Record & Playback

2014-11-30 15:41:47 | GPS Signal Simulator
USRPを開発しているEttus Researchは2010年にNational Instrumentsに買収され,
NIからもNI-USRPとして同じデバイスが販売されています.

NI-USRPのコミュニティーを探してみると,ぴったりのトピックが見つかりました.

NI Community: RF Record and Playback with NI USRP

GPS信号の記録と再生についても取り上げられており,セットアップについても
いくつかヒントがありました.

1. GPS信号のband-pass filterは必要.
2. 16dBのアクティブアンテナに加えて,30dBのアンプも追加.
3. GPSDOなど,より安定した外部クロックを入力.
4. Txのレベルは0dBのゲイン設定で-15dBm.
5. GPS信号のレベルにするには,十分なattenuationが必要.

別の実験で使用したフィルタ付きのLNAが手元にあったので,
1と2はこれで解決.



外部入力に使えそうなクロックはないので,3はあきらめます.
USRP N210は,2.5ppmのTCXOを搭載しているので,短時間での
安定性は,そこまで問題にならないように思えます.

このセットアップで,前回同様にGPS信号をファイルに記録します.
データレートは,GPS L1信号の帯域に合わせて,2.5MHzにしました.

$ ./rx_samples_to_file --file gps.bin --type short --nsamp 250000000 --rate 2500000 --freq 1575420000 --gain 30

LNAを追加したため,14ビットのADCのレンジを有効に使っています.

 (クリックで拡大)

BPFのおかげで,ノイズフロアも安定しています.

 (クリックで拡大)

 (クリックで拡大)


さて,次はファイルに記録されたデータをGPS L1信号の周波数で送信します.

仕様上,地上でのGPS信号の受信レベルは,-130dBmとされています.
オープンスカイであれば,+20dB程度の信号が観測されるので,
Txのレベルが-110dBmになるようにattenuatorを挿入します.



これをubloxのGPS受信機に接続し,送信開始.

$ ./tx_samples_from_file --file gps.bin --type short --rate 2500000 --freq 1575420000 --gain 0
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.000-14-ga90a6af0

Creating the usrp device with: ...
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
Using Device: Single USRP:
Device: USRP2 / N-Series Device
Mboard 0: N210r4
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: WBXv3 RX+GDB
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: WBXv3 TX+GDB

Setting TX Rate: 2.500000 Msps...
Actual TX Rate: 2.500000 Msps...

Setting TX Freq: 1575.420000 MHz...
-- Tune Request: 1575.420000 MHz
-- The RF LO does not support the requested frequency:
-- Requested LO Frequency: 1575.420000 MHz
-- RF LO Result: 1575.421245 MHz
-- Attempted to use the DSP to reach the requested frequency:
-- Desired DSP Frequency: -0.001245 MHz
-- DSP Result: -0.001245 MHz
-- Successfully tuned to 1575.420000 MHz
--
Actual TX Freq: 1575.420000 MHz...

Setting TX Gain: 0.000000 dB...
Actual TX Gain: 0.000000 dB...

Checking TX: LO: locked ...

Done!


u-centerで受信を確認してみると,見事に測位しています!

 (クリックで拡大)

これでGNSS信号シミュレータに一歩近づきました.
次は,ベースバンド信号を数値的に生成して送信できるようにしよう.

【追記】メモ

NI Community: GPS Simulation with NI USRP and LabVIEW

NI White Paper: GPS Receiver Testing
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

USRP N210でGPS信号の受信

2014-11-29 13:18:56 | GPS Signal Simulator
USRP N210の動作が確認できたので,いつものようにGPS信号を受信してみます.
受信した信号をファイルに記録するために,UHD examplesのひとつである
rx_samples_to_fileを使います.

$ ./rx_samples_to_file --file gps.bin --type short --nsamp 5000000 --rate 5000000 --freq 1575420000 --gain 40
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.000-14-ga90a6af0

Creating the usrp device with: ...
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
Using Device: Single USRP:
Device: USRP2 / N-Series Device
Mboard 0: N210r4
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: WBXv3 RX+GDB
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: WBXv3 TX+GDB

Setting RX Rate: 5.000000 Msps...
Actual RX Rate: 5.000000 Msps...

Setting RX Freq: 1575.420000 MHz...
-- Tune Request: 1575.420000 MHz
-- The RF LO does not support the requested frequency:
-- Requested LO Frequency: 1575.420000 MHz
-- RF LO Result: 1575.421245 MHz
-- Attempted to use the DSP to reach the requested frequency:
-- Desired DSP Frequency: 0.001245 MHz
-- DSP Result: 0.001245 MHz
-- Successfully tuned to 1575.420000 MHz
--
Actual RX Freq: 1575.420000 MHz...

Setting RX Gain: 40.000000 dB...
Actual RX Gain: 38.000000 dB...

Waiting for "lo_locked": ++++++++++ locked.

Done!


N210のRXゲインは,最大で38dBのようです.
データレートは5MHzにダウンコンバートしています.

bladeRFなどでは,サンプリング周波数とベースバンドフィルタの帯域を
ユーザが指定することができますが,N210のアーキテクチャは異なります.

Ettus Research: USRP Bandwidth

RX2のラインでは,カットオフ周波数40MHzのLPFを通ったアナログ信号が,
ADCによって100MHzのサンプリング周波数でデジタル化されます.
それをDDC(digital down converter)によって,デシメーションしています.

記録されたデジタル信号のPSDはこんな感じ.
ベースバンドフィルタの帯域を指定できるbladeRFとは,大きく異なります

 (クリックで拡大)

DCオフセットは少なめ.

 (クリックで拡大)

GPS信号も問題なく見つかりますが,ノイズフロアがかなり不安定です.
GPS信号用のBPFをRFラインに挿入した方が良いのかな?

 (クリックで拡大)

 (クリックで拡大)

とりあえず受信の確認はできたので,次はTXに挑戦しよう.
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

USRP N210でFMラジオ

2014-11-28 19:09:04 | GPS Signal Simulator
GNSSの研究ツールとして実績のあるUSRP N210WBXが,新しく仲間入りしました.



Ettus Researchのwikiを参考にして,Ubuntu 14.04 LTSにUHDやGNU Radioをインストール.

UHD Software Installation (Linux)
GNU Radio + UHD Software

N210はGigabit Ethernetで接続するため,ホスト側のIPアドレスをstaticにします.

$ sudo gedit /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.10.1
netmask 255.255.255.0
$ sudo ifup eth0


ところが,なぜかこれではeth0のIPアドレスが指定できず,N210に繋がりません.
pingも通らず,uhd_usrp_probeでも何も見つかりません.

$ ping 192.168.10.2
$ uhd_usrp_probe
LookupError: KeyError: No devices found for ----->
Empty Device Address


いろいろ試したのですが上手く行かず,あきらめかけていたところ,ふと思いつき
上部パネルのネットワーク接続のアイコンからeth0を設定してみました.

 (クリックで拡大)

どうやら,これが正解だったらしく,無事にN210に接続.

$ uhd_usrp_probe
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes


bufferをresizeしろと警告がでるので,sysctl.confを編集します.

$ sudo gedit /etc/sysctl.conf
net.core.rmem_max = 50000000
net.core.wmem_max = 1048576


これで準備終了.動作確認のためにgnuradio-companionでFMラジオを作ります.

 (クリックで拡大)

しっかりと聴こえます!

 (クリックで拡大)

【追記】備忘録

N210のLED

LED A: Transmitting
LED B: MIMO cable link
LED C: Receiving
LED D: Firmware loaded
LED E: Reference lock
LED F: CPLD loaded


GNU Radioのエラーコード

"u" = USRP
"a" = audio (sound card)
"O" = overrun (PC not keeping up with received data from usrp or audio card)
"U" = underrun (PC not providing data quickly enough)
"aUaU" = audio underrun (not enough samples ready to send to sound USRP sink)
"S" = indicates a sequence number error in Ethernet packets marking an overrun from USRP to PC like "O"
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

FreeCADを試す

2014-11-23 13:26:39 | 小型衛星
スマートアンテナの基板を発注したので,筐体も設計してみることにしました.
無料の3D CADを探したところ,FreeCADが良さそうです.

FreeCAD: An Open Source parametric 3D CAD modeler

操作性もSolidWorksに近いようですし,切削加工のためにSTEPファイルも出力できます.

とはいえ,初めてのCADの使い方は,右も左も判りません.
入門用のチュートリアルとしては,このシリーズが一番判りやすかったです.

YouTube: FreeCAD Tutorial Part 1 Primitives

早速,見よう見まねで,ベース部を設計してみました.

 (クリックで拡大)

STEPファイルに出力し,IDA-STEPで開いてみると,何本か不要なワイヤが表示されます.

 (クリックで拡大)

形状には問題ないのですが,加工に出した時にどうなるのか気になるので,
試しにprotolabsのオンライン見積りに投げてみました.

 (クリックで拡大)

どうやら問題ないようです.protolabsは3D CADのデータをアップロードするだけで
自動的に形状確認付きの見積りが生成されて,とても便利です.

次はアンテナカバーだ.

【追記】操作に慣れたので,サクサクと作業が進みます.
アンテナカバーも設計しました.空気が密閉されないよう,適度な隙間も付けます.

 (クリックで拡大)

残念ながら,FreeCADでは,まだパーツのアセンブリがサポートされていないようです.
穴の位置などが確認できれば十分なので,まずは全てのパーツをSTEPに変換してから,
再度読み込むことにしました.

THE HELL YA BELLER: Simple Assemblies in FreeCAD

パーツの色や透明化は,こちらを参考にしました.
オレンジ色のアンテナカバーは,ポリイミド樹脂をイメージしています.

FreeCADメモ:部品の表示設定(色、透明度など)

 (クリックで拡大)

サイズは50mm×50mm×11mmになります.CubeSatには,まだ大きすぎる?

【追記2】宇宙用のポリイミド樹脂はセプラがお勧め.

鈴幸商事:超耐熱ポリイミド成形体セプラ
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

GPS信号のRecord & Replay

2014-11-22 00:14:00 | GPS Signal Simulator
小型衛星やロケットなど,特殊な受信環境で動作するGPS受信機を
開発していると,どうしてもGPS信号シミュレータが欲しくなります.

しかし,本格的なシミュレータは数千万円で,とても手が出ません.
LabSat 3は確かに安くなりましたが,必要なオプションを付けると,
やはり百万円を超えてしまいます.

そこで,1年以上も放置していたbladeRFを復活させました.



bladeRFのファームウェアやFPGAのイメージも最新のものに更新.
フロントエンドのDCオフセットは解消していないようですが,
キャリブレーションのツールが提供されていました.

bladeRF: DC offset and IQ Imbalance Correction

GPS信号の受信は,前回と同様に以下の通り.
ただし,LNAのゲインを上げています.

bladeRF> set frequency 1575.42M
bladeRF> set samplerate 8M
bladeRF> set bandwidth 2.5M
bladeRF> set rxvga1 30
bladeRF> set rxvga2 30
bladeRF> cal lms
bladeRF> cal dc rx
bladeRF> rx config file=gps.bin format=bin n=8000000
bladeRF> rx start


サンプリングされた信号の分布は,綺麗にガウシアンですが,
キャリブレーションしてもDCオフセットが残っています.

 (クリックで拡大)

PSDも,相変わらず500kHzの倍数でスプリアスが出ています.
これ,何とかならないかな.



ソフトウェア受信機で,GPS信号が正常に記録されていることを
確認してから,今度はそれを送信してみます.

bladeRF> tx config file=gps.bin format=bin
bladeRF> tx start


bladeRFの出力は,同軸ケーブルでubloxの受信機接続しています.
残念ながら,今のところ,まったく受信が確認できていません.

まずは,GPSの中心周波数でCWが出力できるのか,単純な設定から
動作を確認して行かないとダメみたいです.

【追記】いまさらながら,bladeRFフォーラムでMicheleの投稿に気づく.

bladeRF: TX at 1.6GHz

1年以上も前の投稿だけど,問題は解決したのかな?
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

firefly GNSS receiver

2014-11-21 18:26:28 | 小型衛星
宇宙機搭載用GNSS受信機モジュール「firefly」の製品版評価キットを
お借りすることができました.



fireflyにはLNAも内蔵されており,パッシブアンテナでも受信が可能です.
そこで,簡易的に手元にあったパッシブのパッチアンテナとDCブロックを
繋いで,測位してみました.

 (クリックで拡大)

こんなセットアップでも,問題なく測位できました.GPSアンテナですが,
GLONASSも受信できています.アンテナを横に傾けても,十分な衛星が
観測でき,測位が落ちることはありませんでした.

予想外にあっさりと動いてくれたので,これならアンテナ一体型の
スマートアンテナを作れそうです.

しかし,小型のパッチアンテナは,グランドプレーンのサイズで,
中心周波数が大きく変動します.また,アンテナのサイズで帯域も
異なります.

taoglas: GPS Patch Integration Application Note

本来であれば,こちらの基板デザインに合わせて,メーカ側で
調整してもらうべきなのですが,とりあえずグランドプレーンを
大きく取って,帯域の広い25mm角のパッチアンテナを試してみよう.

Digikey: taoglas CGGBP.25.4.A.02

【追記】さくっとスマートアンテナを設計.Elecrowに投げる.



Elecrowは追加費用なして0.8mm厚が選べるので,マイクロストリップラインの
設計が捗る!

 (クリックで拡大)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ミサイル技術管理レジーム

2014-11-19 23:29:55 | ロケット
ITAR規制品リストから廃止されたGNSS受信機の高度・速度規制ですが,いろいろと調べていたら,
MTCR(Missile Technology Control Regime)という国際輸出管理レジームがあることを知りました.

この中では,カテゴリーIIの規制品として,11.A.3に速度600m/sを超えて測位情報を提供する
GNSS受信機がリストアップされています.

MTCR: EQUIPMENT, SOFTWARE AND TECHNOLOGY ANNEX

このレジームには,日本はもちろん,アメリカも参加しています.
それなのに,リストの規制品を自国の輸出規制品から外してしまう?

条約ではないので法的な拘束力はありませんが,紳士協定的にどうなのだろう.

ところで,すでに解消したCOCOMと,それに続く国際輸出管理レジームの解説は,
ここが判りやすいです.

武器と市民社会:安全保障輸出管理 国際輸出管理レジーム

【追記】調査を続けていたら,Code of Federal Regulationsという連邦規則集があることを知りました.

GPO: Electronic Code of Federal Regulations (e-CFR)

この規則集のPart 774には,輸出規制品に関する連邦規則がリストアップされています.

e-CFR: Commerce Control List

GNSS受信機に関連した規則を探してみると,まず7A005において,These items are subject to the ITARと
記載されています.

しかし,どうもこれだけではなく,7A105にはMTCRに準じた600m/sの速度規制が記載されていました.
規制の理由であるMTはMissile Technologyのようですが,ATが何を示しているのか不明です.

いまひとつルールが良く判りませんが,GNSS受信機に関連する輸出規制の根拠はITARだけではなく,
他にもあるということなのでしょうか?

いずれにせよ,USMLからGNSS受信機の高度・速度規制が廃止されたからといって,
すんなりとロケットや人工衛星に搭載可能な製品が入手できるようになるわけではなさそうです.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Elecrowを試す

2014-11-04 18:49:01 | 小型衛星
小型衛星用GNSS受信機モジュールの評価基板を設計.
今回のPCB製造は,Elecrowのサービスを試してみました.

基板のサイズは5cm×7cm.レジストの色は赤を選びました.
色のオプションが無料なのが良いですね.

10月23日に発注して,28日に出荷.11月2日に届きました.
2週間かかっていません.速いよ!

DHLを指定したのにEMSで送られてきたことには目をつぶろう.
送料込で,3,000円程度です.



仕上がりは悪くない.
シルクスクリーンの小さな文字やロゴも綺麗にでている.



viaがレジストで埋められているのも良い感じ.
試作だけのつもりでしたが,製品版もElecrowにしようかな.

ちなにみ,受信機の名前はfireflyにしました.
ちょっとかぶるけど,前からこの名前に決めていたので.

早速実装して動作確認.
シリアルUSB変換はFTDIのFT230XSです.



USBに接続すると,そのまま受信機に給電されてNMEAが出力されるのですが,
やはりシリアルマウスの誤認識が発生しました.

PC側がシリアルポートだと認識してからNMEAを出力しないとダメなようです.
製品版では,電源ラインにスライドスイッチを追加しよう.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

観測ロケットの新型ランチャー

2014-11-03 12:37:15 | ロケット
観測ロケットの新型ランチャーの写真を発見.
JAXA公式ではなく,鹿児島県肝付町役場のニュース.

肝付町役場:観測ロケットS-520-29号機・新型ランチャー公開

しかし,何とも言えない微妙なデザイン.
ランチャーに固定された状態でのGPS信号の受信は,かなり不安だ.

引退してしまった可搬型のランチャーの方が,圧倒的に格好良かったよ!

JAXA:2013年度第一次観測ロケット実験の実施について

アオシマから旧型ランチャー付きのS-310とS-520の模型が出ないかな.

アオシマ:スペースクラフトシリーズ
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする