ブログBLOG タイトル:GNSS(SDR)に関する情報掲載及び情報交換 2021年11月24日 5:08 PM コメント 久保 より: 2021年11月25日 5:35 PM 海洋大の久保です。こちらのブログは本プログラムだけでなく、GNSSや特にSDRに関する情報を今後更新していきます。もし関連する質問があるときは、ぜひご利用ください。研究室の学生が情報をアップすることもあると思います。 返信 川原 より: 2021年11月25日 6:13 PM GNSS-SDRLIBで行われているコリレーションについてコリレーション後の相関値の数値データをcsvファイルで取得したく,グラフを描く部分のコードをいじっています.(内容としてはsdrplot.c内のplotxy関数でcsvファイルにxデータとyデータを書き込んでいます.) その際に取得したデータに時刻が欲しいのと,また取得したcsvファイルのGPS番号とRINEXファイルで出てきたGPS番号が異なって取得してしまっているため,どこかまずい点があるのか,また他に最善案が存在する,例えばコリレーションのデータは他の関数から取れることなどあればアドバイスが欲しいです. 返信 kubonobuaki より: 2021年11月29日 9:18 AM 久保です。直接の回答ではないのですが相関値のCSVファイル化であれば後処理でよければオープンソースベース(Kai Borre等の教科書)でCで作ったものがあります。少しプログラムの確認必要ですがどこかにアップしますのでしばらくお待ちください。以降は憶測ですが、GPS時刻は測位に利用しますし必ず定義されているはずです。その時刻と相関処理部の1000msごと(1Hzの場合)の時刻を関連づけすれば大丈夫です。GPS番号も間違いなく相関処理部のある番号と関連づけされていると思います。 返信 小林 より: 2021年11月29日 10:01 AM 海洋大の小林です。 Outputの”LOG”にチェックを入れて相関値csvを出力するのはだめでしょうか? 返信 Taro Suzuki より: 2021年11月29日 11:46 AM 返信遅くなり申し訳ありません.小林さんの回答と同等ですが,LOGにチェックして実行すると,それぞれの衛星毎に相関値などの出力がCSVファイルで出力されます.それでは不足でしょうか? 返信 川原 より: 2021年11月29日 3:01 PM 返信ありがとうございます. LOGで衛星ごとの相関値も取れるのですね.ありがとうございます. いままでLOGにチェックマークを入れてこなかったので早速やってみます. その際に不足だと感じたらまた連絡をしたいと思います. 返信 川原 より: 2021年12月23日 5:45 PM 以前は回答ありがとうございます GNSS-SDRLIBについて3点ほど質問があります コリレーターの個数を指定する際に”samples”という単位で決定していますが、この”samples”は”chips”とは違うのでしょうか?単位系として同じの場合1chipが何samplesに相当するかも教えていただけるとありがたいです。 また、LOGを取った場合に”logsync_EF1.csv”といったcsvファイルも取れるのですが、そのセルの値は何を示しているのでしょうか? 最後にLOGの相関値を利用しているのですが、I(0)がプラス値でピークを取っている場合のみを抽出して考察をしています。それ以外のデータ(例えばI(4)がピーク値であるものだったり、そもそも相関値がマイナスだったりするもの)はトラッキングの調整のみで使用してそれ以降の処理の段階では使用しないという認識で大丈夫でしょうか? 返信 Taro Suzuki より: 2022年1月3日 9:46 PM 返信遅くなり申し訳ありません.3つの質問に順番に回答します. (1) サンプリング間隔で指定しているため,サンプリング周波数によって変わります.例えばサンプリング周波数が20MHzだとしたら,L1CA信号の1chipの中におよそ20点サンプルが含まれることになります.この場合,0.5chipの相関器は10サンプルになります. (2) 詳しくはsdrsync.cを見ていただければと思いますが,疑似距離計算時の各チャンネルの信号受信タイミングのズレなどを出力しています. (3) 相関値がマイナスになるのは航法メッセージによりビットが反転しているためです(相関値のgnuplotの表示では絶対値をとって表示しています).基本的に正常にトラッキングできていれば常にE-P-L相関器のP(I(0))が最大(最小)値になりますが,信号レベルが低かったり,信号捕捉直後,マルチパスがあるときなどはピーク値がずれることはあります.その場合は疑似距離にバイアスが発生しているはずです. 返信 川原 より: 2022年1月19日 3:53 PM 返信遅れました それぞれについて返答していただきありがとうございます。 航法メッセージによって相関値がマイナスになりうるということなので解析では絶対値を使用して解析を行いたいと思います。 ありがとうございました。 返信 久保 より: 2022年1月4日 9:37 AM 鈴木先生、回答ありがとうございます。皆様、本年もよろしくお願いいたします。 返信 kubonobuaki より: 2022年4月28日 9:37 AM みなさま 以下のサイトに第一著者がKai Borre先生のソフトウエアGNSSの MATLABをC言語に変更したプログラムをIFデータ付きでアップしました。 だいぶ前の測位航法学会セミナーで利用したものを、学生がまとめたものです。 8月に実施予定のセミナーの事前学習などにもご利用ください。 学生が主体となり、説明用PPTの作成と改修を随時進める予定です。 IFデータは、RTL、2771、USRP、TeleOrbitを準備します。 https://www.denshi.e.kaiyodai.ac.jp/kubo/sdr.html 返信 Minh Hoang より: 2022年5月1日 1:20 AM Hello, Could you please check the link for IF data L1 (RTL-SDR) and IF data L5 (TeleOrbit)? The links seem broken. Thank you very much. Best regards, Gia Minh Hoang 返信 kubonobuaki より: 2022年5月2日 9:17 AM Hello, Thank you for a question. We uploaded data and corrected this site. Regards, Kubo 返信 コメントする コメントをキャンセルメールアドレスが公開されることはありません。 * が付いている欄は必須項目ですコメント * 名前 * メール * サイト 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。
海洋大の久保です。こちらのブログは本プログラムだけでなく、GNSSや特にSDRに関する情報を今後更新していきます。もし関連する質問があるときは、ぜひご利用ください。研究室の学生が情報をアップすることもあると思います。
GNSS-SDRLIBで行われているコリレーションについてコリレーション後の相関値の数値データをcsvファイルで取得したく,グラフを描く部分のコードをいじっています.(内容としてはsdrplot.c内のplotxy関数でcsvファイルにxデータとyデータを書き込んでいます.)
その際に取得したデータに時刻が欲しいのと,また取得したcsvファイルのGPS番号とRINEXファイルで出てきたGPS番号が異なって取得してしまっているため,どこかまずい点があるのか,また他に最善案が存在する,例えばコリレーションのデータは他の関数から取れることなどあればアドバイスが欲しいです.
久保です。直接の回答ではないのですが相関値のCSVファイル化であれば後処理でよければオープンソースベース(Kai Borre等の教科書)でCで作ったものがあります。少しプログラムの確認必要ですがどこかにアップしますのでしばらくお待ちください。以降は憶測ですが、GPS時刻は測位に利用しますし必ず定義されているはずです。その時刻と相関処理部の1000msごと(1Hzの場合)の時刻を関連づけすれば大丈夫です。GPS番号も間違いなく相関処理部のある番号と関連づけされていると思います。
海洋大の小林です。
Outputの”LOG”にチェックを入れて相関値csvを出力するのはだめでしょうか?
返信遅くなり申し訳ありません.小林さんの回答と同等ですが,LOGにチェックして実行すると,それぞれの衛星毎に相関値などの出力がCSVファイルで出力されます.それでは不足でしょうか?
返信ありがとうございます.
LOGで衛星ごとの相関値も取れるのですね.ありがとうございます.
いままでLOGにチェックマークを入れてこなかったので早速やってみます.
その際に不足だと感じたらまた連絡をしたいと思います.
以前は回答ありがとうございます
GNSS-SDRLIBについて3点ほど質問があります
コリレーターの個数を指定する際に”samples”という単位で決定していますが、この”samples”は”chips”とは違うのでしょうか?単位系として同じの場合1chipが何samplesに相当するかも教えていただけるとありがたいです。
また、LOGを取った場合に”logsync_EF1.csv”といったcsvファイルも取れるのですが、そのセルの値は何を示しているのでしょうか?
最後にLOGの相関値を利用しているのですが、I(0)がプラス値でピークを取っている場合のみを抽出して考察をしています。それ以外のデータ(例えばI(4)がピーク値であるものだったり、そもそも相関値がマイナスだったりするもの)はトラッキングの調整のみで使用してそれ以降の処理の段階では使用しないという認識で大丈夫でしょうか?
返信遅くなり申し訳ありません.3つの質問に順番に回答します.
(1) サンプリング間隔で指定しているため,サンプリング周波数によって変わります.例えばサンプリング周波数が20MHzだとしたら,L1CA信号の1chipの中におよそ20点サンプルが含まれることになります.この場合,0.5chipの相関器は10サンプルになります.
(2) 詳しくはsdrsync.cを見ていただければと思いますが,疑似距離計算時の各チャンネルの信号受信タイミングのズレなどを出力しています.
(3) 相関値がマイナスになるのは航法メッセージによりビットが反転しているためです(相関値のgnuplotの表示では絶対値をとって表示しています).基本的に正常にトラッキングできていれば常にE-P-L相関器のP(I(0))が最大(最小)値になりますが,信号レベルが低かったり,信号捕捉直後,マルチパスがあるときなどはピーク値がずれることはあります.その場合は疑似距離にバイアスが発生しているはずです.
返信遅れました
それぞれについて返答していただきありがとうございます。
航法メッセージによって相関値がマイナスになりうるということなので解析では絶対値を使用して解析を行いたいと思います。
ありがとうございました。
鈴木先生、回答ありがとうございます。皆様、本年もよろしくお願いいたします。
みなさま
以下のサイトに第一著者がKai Borre先生のソフトウエアGNSSの
MATLABをC言語に変更したプログラムをIFデータ付きでアップしました。
だいぶ前の測位航法学会セミナーで利用したものを、学生がまとめたものです。
8月に実施予定のセミナーの事前学習などにもご利用ください。
学生が主体となり、説明用PPTの作成と改修を随時進める予定です。
IFデータは、RTL、2771、USRP、TeleOrbitを準備します。
https://www.denshi.e.kaiyodai.ac.jp/kubo/sdr.html
Hello,
Could you please check the link for IF data L1 (RTL-SDR) and IF data L5 (TeleOrbit)?
The links seem broken.
Thank you very much.
Best regards,
Gia Minh Hoang
Hello,
Thank you for a question.
We uploaded data and corrected this site.
Regards,
Kubo