EBUG 第41回会合
2012年2月18日 @(株)銀座堂
川俣吉広、kaw@on.rim.or.jp

発端 - 最初はまともな動機だったのに.....

なんかもう意地(雀を撃つのに大砲を持ち出す)

実際、どんなもんなのか? ... 船舶気象通報で耳試し

船舶気象通報

・海上保安庁が運用

・周波数、空中線電力: 1669kHz, 50W

・変調形式: H3E (USB) - 上側波帯全搬送波振幅変調

・各局数分ずつ放送 - 一時間で一巡

XmitSite.jpg
&ref(): File not found: "Location.gif" at page "EBUG勉強会/20120218_Audacityで信号処理";
(送信所の写真はこちらから借用)

というわけで、受信能力を試すには結構よさげ。

ラジオを聴くのにAudacityを持ち出す

セッティング

Setups.jpg

Audacity - フリーでクロスプラットフォームな音声エディタ

通常は音楽などの編集・加工に用いられることが多いと思われるツールですが、今回はこのAudacityを用いて信号の変換や測定/解析などを行ってみることにします。

#img(): File not found:
Diagram.gif
系統図

調整

大原則 - レベルオーバーさせない

調整方法

変調についておさらい

振幅変調とは、正弦波との乗算(周波数変換も)。

AMsignal.gif
時間領域

三角関数の加法定理から

sin((ωc+ωb)*t) = sin(ωc*t)*cos(ωb*t)+cos(ωc*t)*sin(ωb*t)
sin((ωc-ωb)*t) = sin(ωc*t)*cos(ωb*t)-cos(ωc*t)*sin(ωb*t)
sin(ωc*t)*cos(ωb*t) = (sin((ωc+ωb)*t)+sin((ωc-ωb)*t))/2
sin(ωc*t)*(C+cos(ωb*t)) = (C*sin(ωc*t)+sin((ωc+ωb)*t)+sin((ωc-ωb)*t))/2

被変調波に直流成分が含まれていると、変調波では搬送波が現れる。

AMsignal_Spect.gif
周波数領域

要するに正弦波を掛け算するとその周波数だけ、元の信号のスペクトラムが平行移動する。
あと、直交成分が加わった場合の位相表現を複素平面上で云々とかあるけど、とりあえず今回そういうのは置いておく方向で...

試行錯誤の道筋

記録してみよう

受信機側の作業

信号強度と音声を同時に記録したい
...信号強度を記録するには、搬送波も音声として記録すればよい。

...受信モードをUSB (Upper Side Band)とし、受信周波数を若干低いほう(500Hz位)に故意にずらす。
...これだと音声はまともに復調されないが、それはあとのお楽しみ。

PC側の作業

考えられる幾つかの方法;

  1. Audacity立ち上げて録音ボタンをポチッ
    1. リアルタイムでグラフィカルに波形とか表示しているので、結構重い
    2. 非圧縮で記録してるのでディスク容量を結構食う
    3. 一定の間隔でファイルを生成する、とかが面倒
    4. タイムコードとかも付いてないので、あとで実時間との対応をとるのも面倒

  2. dd if=/dev/audio of=outputfile.raw とか
    1. やっぱり、非圧縮で記録してるのでディスク容量を結構食う

  3. lameを用いて、MP3にエンコードしながら記録
    1. 不可逆圧縮なので、測定精度に影響がでるかも....

lameを用いる方法でやってみた。2つのシェルコードを走らせる。

while :; do
    lame -r -s 48 -m m -a --preset 32 /dev/audio `date +monitor-%Y%m%d%a-%H%M-1996kHz.mp3`
done
while :; do
    sleep 3600
    pkill lame
done

そして、例えば次の正時が13:00だとすると、

echo 'pkill -f "sleep 3600"' | at 1300

とする。これで毎正時に出力するファイルが更新される。
lameを上記のオプションで実行すると;

Autoconverting from stereo to mono. Setting encoding to mono mode.
Resampling:  input 48 kHz  output 22.05 kHz
Using polyphase lowpass filter, transition band:  8269 Hz -  8535 Hz
Encoding /dev/audio to /dev/null
Encoding as 22.05 kHz single-ch MPEG-2 Layer III (11x) average 32 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
   400/400   (100%)|    0:00/    0:00|    0:10/    0:10|   17.415x|    0:00 
  8 [  0] 
 16 [  0] 
 24 [ 75] *****************
 32 [320] *********************************************************************
 40 [  5] **
 48 [  0] 
 56 [  0] 
 64 [  0] 
 80 [  0] 
 96 [  0] 
112 [  0] 
128 [  0] 
144 [  0] 
160 [  0] 
-------------------------------------------------------------------------------
   kbps       mono %     long  %
   30.6      100.0       100.0

解析してみよう

(ここから後は、当日実演してみます。お楽しみに)  

加工してみよう

 

まとめ

 


Front page   New Page list Search Recent changes   Help   RSS of recent changes