インバータ電車のサウンド合成実験

                        2000年12月14日
                         我妻 靖

1.はじめに

 このコンテンツに興味を持たれた方は、おそらく実際にインバータ電車が
加速する際に聞こえる独特なサウンド!を耳にしている方で、その音に
「はまって」しまった方(失礼!)かと思います。
 インバータ電車の音に「はまった」方の中には、実際の電車の音を
録音し、インターネットで公開されている方も結構いらっしゃるようですが、
実は私もその音に「はまった」一人で、公開されたデータを良く楽しまさせて
頂いています。



 私が「はまった」のははじめて東急9000系に乗った時です。
 その「くすぐったい」というか、その音の変化に完全にはまってしまい、
それ以来インバータ電車を追い続け?、東急の9000系,1000系,
7700系,3000系,JRの901系→209系,701系,E501系,
E351系,E653系,373系,883系,300系,500系,
E1系〜E4系,京急2100系,都営6300系,熊本市電8200系等
いろいろなインバータ電車に乗車する機会があり、録音機能付きのウォーク
マン(最近はMDも購入)を持参で、録音して楽しんで?います。



 電子回路をたしなみ(というか、本職にもなってしまっていますが。)、
また鉄道ファンでもあった私は、電車の主回路の構成にも興味を持っていました。
 サイリスタチョッパ方式の代表、JR201系については、音の変化から
どんな波形なのかおおよその検討がついたのですが、東急9000系に
ついては、なぜこのような不思議な音になるのか原理が想像できません
でした。

 その後鉄道各誌に紹介されているインバータ電車に関する記事により、
それが誘導モータの回転を制御する、インバータの波形や周波数の変化に
起因する事がわかってきました。
(インバータ電車のしくみ,登場の背景,「音」やその波形に関しては
すでに公開しているコンテンツがありますので、まずはそちらをご覧下さい。)
VVVFインバータ技術解説


 さて、インバータの波形を作るのにマイクロコンピュータが使われています。
 それならば同じような波形をパソコンを使って合成する事も出来るのでは
ないかと考え、プログラムを作成し波形を合成する実験を数年前から続けて
きました。
 ようやく実際の電車の音に近づいてきましたので、一度その音を紹介して
みようと考え、ページでの公開に踏み切りました。



2.音を合成する「シンセサイザ」技術について

 本題に入る前に、音の合成に欠かせない「シンセサイザ」の技術について
簡単に説明します。

 音をパソコン上で合成するという事は、PCM化されたデータを生成する
事になります。
 要は出力したい波形の電圧値をサンプリングポイント毎に必要時間分
繰り返しする事でPCMのデータが出来あがります。
 たとえば、サンプリング周波数が11.25kHzで、1kHzの正弦波を合成する
場合は、11250分の1秒毎に正弦波の波形の電圧値を計算します。

 計算したデータをサンプリング周期(=1/サンプリング周波数)で
D/A変換すれば、1kHzの正弦波が再生されるはずです。
 もちろんファイルに出力すれば、1kHzの音のPCMデータが出来あがります。



 プログラムを作成する上で、WAV形式等のファイルとして出力し、
後で聞くようにするのが最も簡単です。
 リアルタイム処理を行なうには、サンプリング周期内で全ての計算を
完了する必要がありますし、D/A変換には一定のサンプリング周期で
データを送る必要があるからです。

 今時ソフトウエアシンセが可能なのですから、その技術があれば可能
なんでしょうけど・・・この辺はCPUや処理言語の速度、プログラミングの
技量との相談になるでしょう。
(私の場合、知識が不十分(アセンブラはZ80なら分かりますが、
86系はわからない。Cはかじった程度。N88−BASICなら
ある程度使える。という状況で、現在にはあまり通用しない!)な為、
リアルタイムでの合成はあきらめ、合成した結果をWAV形式のファイルに
する方法を取っています。)

 ただ、WAV形式のファイルに落とし込めば、cooledit等を
駆使する事で、波形の確認や、フィルタリング処理,FFTによる周波数
解析等の加工が出来るというメリットがあります。


3.インバータ電車の音を合成する「しくみ」

 インバータ電車のインバータの出力は、モーターの回転数に応じた
周波数のPWM(パルス幅変調)による擬似正弦波の3相交流と
なっており、加速とともにモーターを駆動する周波数が上昇し、
またPWM波を合成するスイッチ素子の動作速度を超えない範囲の
スイッチング周波数になるように、パルスモード(半サイクル分の
擬似正弦波を生成する変調波のパルス数)が変わり、その結果
独特な変調音が発生します。

 原理的にはその波形を忠実に再現すれば、電車のインバータの音と、
全く同じ音が出来るはずです。



 波形を合成する基礎データとして、電車の仕様と、実際に電車に
使用されているインバータの制御パラータが必要となります。
 必要なのは速度とモーターの回転数の関係,加速度,最高速度,
インバータの最高変調周波数やパルスモードの種類とその数などです。

 速度とモーターの回転数の関係は、鉄道誌に掲載されている
電車のギヤ比,車輪の直径から求めます。

 加速度は鉄道誌に掲載されている値や、実際に乗車しての感じ
(速度**kmまで何秒かかる というデータ等)から求めます。
 ここで最高速度と加速度から周波数の上昇の傾きを求めます。

 最高変調周波数,パルスモードについては、車種毎のデータが公に
される事は少ないので、実際のインバータの音から推測します。
(発車直後の「非同期」音も同様)

 あとはこれらのパラメータをプログラムに記述し、波形を合成します。



 データの合成手順ですが、最初モーターの回転数に応じて周波数と電圧が
上昇する3相交流の波形を合成し、パルスモードの2倍の周波数で
しかも正弦波と同期をとった3角波との比較を行なう事でPWM波を
合成します。(これを3相分計算する。)
(PWM波形の発生に関しては、ACサーボモータに関する書籍の
インバータ部分に関する記述が参考になりました。)

 さらに周波数によってパルスモードを変えていったり、発車直後の
「非同期」領域の周波数処理を入れるなどといった、処理が必要になります。

 実車の場合にはこれだけではなく、空転を押さえる制御だとか、
交流電化の場合のビートレス制御などといった処理をリアルタイムで
行なわないといけないわけですが・・・ここまでやるのはかなり
大変そうです。
(特に「空転」までシミュレートするとなると・・・)


 後は計算した結果をファイルに出力すれば良いけですが、再生ソフトで
直接開けるようにするにはしかるべきフォーマットにする必要があります。
 たとえばWAV形式のファイル出力時はWAV形式のデータの「仕様」を
示すヘッダが先頭に入れる必要があります。



 以上のような内容をプログラムにし、実行してWAVファイル化します。

 そして合成したデータを聞いたり、波形を確認し、実車と異なると感じた
部分についてプログラムやパラメータを修正し、再度プログラムを実行
といった作業を何度か繰り返し、実車に近づけていきます。



4.合成した音の例

 以上のようにしてできたデータが下記の「音」です。
 モデルは・・・E3系のつもりでしたが、300系のような感じの音に
なってしまっているような気がします。
合成した音(WAV形式,650kB)
    下手に圧縮すると音(波形)の変化が著しいようなので、
   WAV形式で貼ってあります。11.25kHzサンプリングで
   60秒分ですので少々サイズが大きいです。

(注意)この音を聞く場合、出力の大きなオーディオ機器が
   接続されている環境では避けてください。
    高調波を多く含んだ「生」のPWM波形が書き込んで
   ありますので、最悪機器を壊す恐れがあります。



 加速音を再現したものですが、減速音にしたい場合は再生ソフトで
逆転再生して下さい。



5.この音の発生に使用したパラメータ

  発車から60秒間の加速音を想定
  60秒後の速度:120km/h(加速度:2km/h/s)
  120km/hでのモーターの回転数:2250r.p.m(減速比:3.04,車輪径φ0.86m)
   最大周波数80Hz(4極モーター,すべり6%)
  非同期時の周波数:約10Hz
  最大変調周波数:465Hz
  パルスモード:21(非同期)〜15〜9〜5〜3〜1
  電圧可変範囲:0.3〜1.0
  ビートレス制御による周波数調整は配慮しておらず。
   (チャレンジしていますが、なかなかうまくいかない。)

  サンプリング周波数:11.25kHz
  データbit数  :8bit
  チャンネル数   :1(モノラル)



 実は、実際の音に近づけるようにいろいろ「いんちき」もしています。
 元のデータは3相分計算していますが、PWM波の3相交流を誘導モーターに
入れた時にどういう音になるのかがつかめず、この辺の合成処理がいいかげんです。
(波形の「きたなさ」を見られてしまういうとバレそうです。)



6.データを生成したプログラムのソースについて

 このデータを生成したプログラムのリストの公開は、今のところご勘弁下さい。
(私なりに苦労しているのと、リストがあまりにも「みっともない」し、
リストの内容を説明しろ と言われても困るので。)
 ただし、C言語等に落としてくださるというのであればちょっとは考えます。



7. さらにリアリティをあげるには

  こんな音を入れ込めればさらにリアリティがアップすると思うのですが・・・
   ・ビートレス制御による周波数変化(交流車の場合)
   ・ギヤのかみ合い音
   ・商用交流の音(交流車の場合)

  またリアリティではないですが、新幹線の加速度でシーメンスインバータを
 再現してしまうというのも面白そうです。


鉄道情報ページへ戻る
ホームページへ戻る

・このページに対するご意見,感想は

我妻 靖( E-mail:jr7cwk@jan.ne.jp)
までお願いします。


Copyright 2000 (C) by Y.Wagatsuma
2000/12/14新規作成