GoldWaveとawk(gawk)でボイスレコーダーの記録・音声をExcelのグラフにする
測定器らしい測定器をもっていない私なので測定には創意工夫が必要です。
JJYの秒信号やGPSの1PPSからは次のような信号が出力されます。
JJYがコールサインを送出しているときの前半部分です。
これを記録して上のような(Excelの)グラフにするにはどうしたらいいかというのがこの記事のテーマです。
まずデータを記録しなければいけないのですがこれがけっこうたいへんです。
電圧を測定するのはADコンバータでできます。数百サンプル/毎秒くらいはすぐに実現できます。分解能をたいして要求しない場合はPICでもあと二桁はいけるはずです。問題はこれを媒体に保存する方です。今SDカードを記録使っておりこれは大量にデータを保存できるのですが、速度に制限があります。
この問題を解決する方法として
「平衡変調器で直流をボイスレコーダーに記録する - JJY・GPSの秒信号」
を書きました。今回はこれを前提に始めます。
ところでボイスレコーダーだって音声をSDカードに保存しているわけですから、ADCの測定データだってSDカードに保存できるはずです。そもそもボイスレコーダーだってADCの出力を保存しているだけですから。
だから“SDカードには大量のデータを高速で保存することはできない”ではなく“大量のデータを高速でSDカードに保存する技術が私にない”というのが正しいです。
=======
まず概要から示します。「平衡変調器で直流をボイスレコーダーに記録する - JJY・GPSの秒信号」 に書いた方法でデータをボイスレコーダーの保存するとこうなります。
この波形を全波整流したものの包絡線がもとのデータです。
そこでこれを全波整流します。
これで波形はわかるようになるのですが、このデータをそのままExcelに取り込むには問題があります。
上の“全波整流波形”の拡大図
とうぜん平衡変調したときのキャリアの成分(の2倍の周波数)が残っています。
そこでLPFでこの成分を除きます。
このデータをExcelで取り込むと最初に示したようようなグラフが作れます。
-------
以下詳細を記します。
けっこう手間です。GoldWaveで包絡線を抽出する機能があったりして (^^;;
1. ボイスレコーダーに記録したデータをGoldWaveで読み込みます。
2. データをテキストファイルで保存します。
3. 保存されたテキストファイルをawkで“全波整流”します。
BEGIN { i = 0 } { if( i != 0 ) { if( $1 < 0.0 ) { printf("%10.6f\n",-$1) } else { printf("%10.6f\n",$1) } } else { print $0 } i++ }
4. “全波整流”データをGoldWaveで読み込み“Spectrum Filter”で高域を取り除きます。
5. 時間分解能を高めるためにサンプルレートを高くしているときはGoldWaveの“Resample”でサンプルレートを下げます。Resampleではサンプルレートを1000まで下げられます。それ以上下げたいときは“Time Warp”を併用すればいいと思います。
6. データをテキストファイルで保存しawkでExcelに読み込みやすい形に整形します。
BEGIN { i=0; } { if( i != 0 ) { if( i % 2 == 1 ) { a=$1+1.0; } else { printf("%10.3f,%10.6f,%10.6f\n",i/2000.0,a,$1) } } else { print $0 } i++; }
7. 整形されたデータをExcelで読み込むと最初のJJY/GPSのグラフが作れます。
------
前の記事 「PLLでJJYに超高精度VCTCXO・VM39S5Gを同期させてみた」
次の記事 「(非公式)JJY(標準電波/電波時計)の呼び出し符号(コールサイン)送出方法」
最初の記事 「JJY受信機で作る高精度発振器と時刻標準 - はじめに」
「高精度発振器をGPS受信モジュールとPLLで作る - はじめに」
--------
関連
「JJY受信機/電波時計の製作記事を集めてみた」
(ググッて集めたJJY受信機電波時計の製作記事集)
「JJY受信機で作る高精度発振器と時刻標準 - はじめに」
時刻
「時刻標準について」
「GPS受信モジュールあれこれ」
標準電波JJYの仕様
「JJYの報時信号の送出方法」
「JJYの秒信号の送出方法についてNICTに聞いてみた」
「標準電波JJY - 変調波振幅の「最大100%、最小10%」の意味」
「(非公式)JJY(標準電波/電波時計)の呼び出し符号(コールサイン)送出方法」
旧記事
「JJYの受信法」
「JJYを受信したい(要旨)」
参考
「NICT 情報通信研究機構 - 電磁波計測研究所 - 時空標準研究室
- 日本標準時グループ 」
JJYの運用
「標準電波・長波JJYが停波するとき」
参考
「NICT 情報通信研究機構 - 日本標準時グループ 標準電波運用状況」
長波JJYの性質(電界強度等)
「JJYの電界強度と受信機の必要利得(増幅率)」
「標準電波JJYの電界強度の時間変化 - 電波時計をいつ合わせたらいいか」
「標準電波JJYの電界強度の時間変化を測ってみた(1)」
「JJY搬送波の周波数をGPS/1PPSで測ってみた」
「JJYの40kHzの電波をボイスレコーダーに録音してみた」
「JJY受信機を作る - すでに40kHzのキャリア(連続波)を検出できてるっぽい」
「JJY受信機を作る - JJYの電波がつかめた!」
参考
「NICT 情報通信研究機構 - 日本標準時グループ - 標準電波に関するQ&A」
「NICT - 日本標準時グループ - 長波標準電波の電界強度予測値」
「NICT - 日本標準時グループ - 長波標準周波数(JJY)小金井本部 受信データ 」
「NICT - 日本標準時グループ - ライブラリー他 - Field Strength Pro Ver1.0」
アンテナ・プリアンプ
「JJY受信機を作る - バーアンテナとその特性」
「JJY受信機を作る - アンテナとプリアンプ」
参考
「RFワールド - ラジオで学ぶ電子回路
- 第1部 ラジオのための基礎 第1章 ラジオの電波 」
クリスタルフィルター
「クリスタルフィルターの効果を目と耳で確かめる - JJY受信機を作る」
「JJY受信機を作る - 40kHz/60kHzクリスタルフィルターの功罪」
「JJY受信機/電波時計用クリスタルフィルターの設計」
状態変数型フィルタ
「JJY受信機を作る - 状態変数型フィルタの周波数特性」
参考
「群馬大学 KobaLab@JP - 発振を利用したアナログフィルタの テスト・調整 」
PLL・周波数標準
「高精度発振器をGPS受信モジュールとPLLで作る - はじめに」
「標準電波にVCTCXO・VM39S5GをPLLで同期してみた - 長波JJY受信機の製作」
「高精度発振器の作成に向けて - VCTCXO・VM39S5GをPLLでJJYにロックする」
「JJYに同期した高精度発振器用PLLの過渡特性」
プロダクト検波・シンクロダイン検波
「シンクロダイン検波によるJJY秒信号の取得 - GPSとの比較」
「JJY秒信号のシンクロダイン検波による取得の試み」
「平衡変調器で直流をボイスレコーダーに記録する - JJY・GPSの秒信号」
「音で聴くJJY - プロダクト検波による復調」
「四象限アナログ乗算器(マルチプライヤー)EL4083の使い方 - 1」 (アナログ乗算器)
参考
「JR7CWK - 長波JJY受信機の制作」
電波時計モジュール
「JJYを受信する(訂正あり)」
「電波時計モジュールを使ってみた(1)」
「電波時計モジュールを使ってみた(2)」
「電波時計モジュールが「使えない」理由」
« PLLでJJYに超高精度VCTCXO・VM39S5Gを同期させてみた | トップページ | (非公式)JJY(標準電波/電波時計)の呼び出し符号(コールサイン)送出方法 »
「時刻と時間」カテゴリの記事
- 星食観測ハンドブック2016とaitendoのGPS受信モジュールNEO6M-ANT-4P(2016.03.15)
- 毎日送信してほしいJJY(標準電波/電波時計)の試験電波(2016.01.26)
- GPS受信モジュールu-blox6/NEO6M-ANT-4Pと温度補償型水晶発振器VM39S5Gの周波数(位相)を比較してみた(2016.01.15)
- GPS受信モジュールNEO6M-ANT-4Pはまじおすすめ、現在在庫数 76(2016.01.13)
- (非公式)JJY(標準電波/電波時計)の呼び出し符号(コールサイン)送出方法(2016.01.13)
この記事へのコメントは終了しました。
« PLLでJJYに超高精度VCTCXO・VM39S5Gを同期させてみた | トップページ | (非公式)JJY(標準電波/電波時計)の呼び出し符号(コールサイン)送出方法 »
コメント