ディー・クルー・テクノロジーズ Blog

bookmark_borderCMOS LSIの消費電力と動作周波数(2)

CMOS LSIの続きとなります。

FmaxのVe依存について

前回の最後に最大動作周波数について式(3)を導きました。

MOSトランジスタの飽和領域の特性について、RoはMOSトランジスタのダイナミック・オン抵抗(非飽和領域)、Gmは相互コンダクタンスで(飽和領域)で、この2つは下のような関係にあります。

下の図3にMOSトランジスタの飽和領域の特性を示します。

図3 MOSトランジスタの飽和領域における特性

この図3から、Gm(飽和領域)を求めると、(4)式で表されます。

(3),(4)式から最大動作周波数Fmaxは(5)式で表されます。

一般にCMOSは、フルスイング動作なので、Vgs=Veと表せます。またMOSトランジスタのデザイン・ルールをLとすると、スケーリング則により、tox、W、Lg、C はほぼLに比例する。以上から(5)式は(6)式の様に簡略化できます。

更にサブミクロン以下の微細なMOSトランジスタでは、キャリアの速度飽和により近似的にμ ∝√Lの関係にあるので、(7)式の様にも表現できる。

(6)式から電源電圧Veに対する最大動作周波数Fmaxの関係を図示すると図4の様になる。

図4 Fmax の Ve依存

今回は、式の変形を多用しましたが、最大動作周波数Fmaxが電源電圧Veと依存関係にあることをお分かりいただけたらうれしいです。

bookmark_borderCMOS LSIの消費電力と動作周波数(1)

CMOS LSIの強み

LSI(大規模集積回路)はCPUやメモリ、各種デジタル回路など、幅広いアプリケーションで使用されており、現代のエレクトロクス製品になくてはならない技術です。

LSIに搭載するトランジスタを小さくたくさん並べ集積度をあげるほどLSIの演算性能は上がるのですが、様々な課題が発生します。LSIの動作周波数を上げればトランジスタの処理速度は上がりますが、消費電力も上がります。トランジスタは0と1を電気的に切り替えるスイッチなので、スイッチを動かせば動かすほど当然電力消費が増加します。

CMOS LSIは、こうした課題に対処できるように、低消費電力でありつつ高速応答性がその特徴です。このブログでは、どのようにCMOSの技術特性を活用し、高い応答性能をどのように引き出していったのか、数式や図を使ってご紹介していきたいと思います。

CMOS LSIの Pc(消費電流)の求め方

さて、CMOS LSIの中で、電力はどのように供給され、どのように使われるのでしょうか。数式によって導き出してみます。まず始めに、CMOS LSIのPc (消費電流)の求め方式にまとめてみました。これは式(1)のように示すことができます。

式1

次にCMOS LSIのトランジスタで起きている電流の動きについて図1に示しました。

図1 CMOS LSIの消費電力

CMOSのMOSとは「MOSトランジスタ(金属酸化膜半導体トランジスタ)」のことで、このMOSトランジスタにはNチャネル型とPチャネル型があります、CMOS LSIはこれらのトランジスタを組み合わせて構成されます。LSI内部ノードおよび外部ピンの容量を充放電する際、この図で「P」と書いているPチャネル型MOS(PMOS)で充電し、「N」と書いているNチャネル型MOS(NMOS)を用いて放電されます。

一般にCMOS回路はフルスイング動作なので、Vi=Veとなります。したがって消費電力は式(1)を変形して、式(2)でも表すことができます。

すなわち消費電力Pcは電源電圧Veの2乗に比例するので、電源電圧Veの低減が低消費電力化に最も有効であることがわかります。

Fmax(最大周波数) の求め方

つぎに、最大動作周波数 “Fmax”についてです。

図2 CMOS LSI内部ノードの波形

図2でCMOS LSIの内部を簡易的に示してみました。ここで“Fmax”は、図2の”ノード①” をいかに早く充電できるかに等しいので、式(3)で表すことができます。

ここで想定していただきたいことがあります。単に電源電圧Veを下げると、CMOS LSIの最大動作周波数Fmaxが低下する問題が生じます。CMOS LSIの技術では、低消費電力でありながら高速応答性が保てることが特徴ですから、そのあたりを解決していく術であります。

次回は、電源電圧Veと最大周波数Fmaxの依存関係についてもう少し深く説明していきます。

bookmark_border技術交流会「技術市場」

D-CLUEでは今、月1回2テーマで技術交流会を続けています。

この技術交流会は社内では「技術市場」と呼んでいますが、各エンジニアが研ぎ澄ましてきた技術を、今までのエンジニアと新しく仲間に加わったエンジニアとがわかりやすく伝えあっていく場のことです。D-CLUEには多彩な経験をもつエンジニアが加わっています。すべてのエンジニアに共通するのは、これまでの開発経験で培った専門技術を元にいままでにない付加価値の高い仕事をしていきたい、という思いを持っていることです。

私たちは「合わせミソ」というとても大事にしている開発手法があります。この実現にはまず、専門分野以外の技術にも精通していることが重要です。この「技術市場」の面白いところは、エンジニア同士が、互いの技術を教えたい、学びたいと有志で集っていて、この「合わせミソ」を上手にすすめ、互いに理解できる技術分野の裾野を拡げる=”技術ののりしろ”を大きく強くすることができるのではないか、と考えてます。

さて、これまでに、この交流を通じて、当社製品である量子イジングFPGA「Qalmo」超音波診断ワイアレスLSI「MACADAMIA」をはじめ、これまでのD-CLUEの開発で培った様々な技術のポイントについて、極めてきたエンジニアが順番に講師となってレクチャーをしてまいりました。

D-CLUEの技術をパワーアップさせること。そして、難しい技術の挑戦ができるように準備すること。

そのために、コミュニケーションを続けて技術研鑽してまいります。

技術交流会「技術市場」での技術紹介の様子

D-CLUEが大事にする、”合わせミソ”、”技術ののりしろ”とは?

さてこのブログで書きました2つのキーワードですが、皆様には耳慣れない言葉かもしれません。当社エンジニアがお客様と仕事をするうえでとても大事にしている言葉で、動画でもご紹介しております。よろしければご覧ください。

bookmark_borderPLL(5)

だいぶ時間が空いてしまいましたが、PLLのその5を書きたいと思います。

ビヘイビアモデルをつかう

応答速度とジッタの量の関係を確認する

今回は、ビヘイビアモデルを使って応答速度とジッタの量の関係を確認してみたいと思います。

図1

図 1にビヘイビアモデルを使ってPLL全体の回路を示します。(PLLその2-PLLその3で使って物を同じです)

まずはノイズ源ですが・・・VCOの制御電圧に意図的に雑音源を入れました。

evco     out      0        value=fo*(2/(exp((Vref-v(vcn))/Kv)+1))

vnoise   vcn      vc       noise fmin=10 fmax=10MEG THN=0.01n

1行目はVCOの入出力(制御電圧=>出力周波数)特性を計算式で書いたもので、使ったパラメータは下記の値です。

.param fo=100

 .param dfp=’5/3.3′

 .param Kv=’1/(2*dfp)’

 .param Vref=1.65

.param fref=100

2行目が雑音源になります。VCO外部からの制御電圧Vcに雑音を加味してVcnとし、この電圧がVCOの発振周波数を決めるようにしています。雑音は10Hzから10MHzの熱雑音(白色雑音)で、0.01nV2/Hzの大きさです。

固定電圧を与えてPLL=OPENで過渡解析を行う

この状態で、PLLをOPENにして(VCO入力のR3を外して)Vciに固定電圧をあたえて雑音を含めた過渡解析を行った結果どうなるかと言うと、次のようになります。

図2

位相比較器の出力電圧は、雑音が無い時(V(PH)_1)に対して±1周期以上ずれていて、ゆらゆらしていることが分かります(V(PH)_2~6は雑音を考慮した過渡解析結果です)。

つまり、ジッタが1周期を超えてしまっている上に安定していないと言っていて、このままでは全く使い物になりません。これはPLLをOPENにした結果なので、VCOを単体で使うとこうなってしまいます。(発振器にクリスタルを使ったVCXOやTCXOなどは格段に安定しているので、こうはなりません)

PLL=CLOSEで応答速度毎にジッタの変化を見る

それでは、PLLをCLOSEにしてみたいと思います。

CLOSEする際、PLLの応答速度はフィルタ定数などを変更して下の3種類にしました。

図3

PLLの応答速度を、25KHz、250KHz、2.5MHzと変えたときにジッタ(つまり、V(PH)の動き)がどのように変化するかを見てみましょう。なお、それぞれのPLLの定数は以下の通りです。

PLLの応答速度=25KHzの時

25KHz

.param c1=160p r2=1k

.param c0=160n r0=100k r1=100

図4

PLLがCLOSEに成ったので、ゆらゆらゆれている様子はなくなりましがが、V(PH):位相比較器の出力電圧が±1近くまで触れているので1周期近い位相雑音、つまりジッタが出ていることに成ります。

PLLの応答速度=250KHzの時

250KHz

.param c1=16p r2=1k

.param c0=16n r0=100k r1=1k

図5

PLLの応答速度を早くすることで、だいぶ良くなりましたがまだ1周期の半分くらいのジッタが出ています。

PLLの応答速度=2.5MHzの時

2.5MHz

.param c1=1.6p r2=1k

.param c0=1.6n r0=100k r1=10k

図6

1周期の20%くらいのジッタになりましたので、これならクロックとして使えそうです。

PLLエラーアンプ出力の動きを比較する

PLLのエラーアンプ出力(図 1のVo)の動きを比較してみると、次のようになります。

応答速度:25KHz  

図7

応答速度:2.5MHz  

図8

応答速度:250KHz  

図9

応答速度が速いほど、エラーアンプの出力電圧が活発に動きます・・・当たり前のことですが。

つまり応答速度が速いと、いち早くジッタを補正し、正しい位相にあわすことが出来るので、ジッタが少なくなるのです。

次回は・・・このまま雑音について話を進めたいと(今は)思っていますが、気が変わってしまうかもしれません。その時はご容赦下さい。

ではまた。

bookmark_border反射 (4)

高周波の回路設計を行っていると、Sパラメータに必ず出会います。なぜSパラメータと出会わないといけないかと言うと、集中定数では扱えなくなってしまったからです。

Sパラメータ(Sパラ)とは

前回の様に高周波信号は反射を起こします。進行していくものと反射に依って逆方向に進むものとが有り、これらの表現の一つの方法がSパラメータです。

図1

図 1の様に回路網に対して左から入力される信号と出て行く信号、また右側にも入力される信号と出て行く信号が定義されています。つまり、右側も左側も進行波と反射波を考えているという事になります。(注:図でa1とb1は別の端子に見えますが実際は一つの信号線です。入力される信号と出てくる信号を区別するために2本に分かれているだけです)

Sパラとの出会い

私がSパラメータ(以下Sパラ)に出会ったのはHP(Hewlett Packard)のネットワークアナライザーに触ったときでした。高価な測定器だったので、めったに触ることが出来成ったのですが、どうしても満足いく特性が得られず“Sパラを測定してみろ”と先輩に言われて恐る恐る触ったのがきっかけでした。

横軸が周波数になっている測定器との始めての出会いでした。

実はSパラメータは日本人の黒川兼行さんが考案したものであったことをご存知でしょうか?1965年IEEEに発表された“Power Waves and the Scattering Matrix”と言う論文でSパラがこの世に発表されたとのことです。

Sパラとは「散乱行列」

SパラのSはScattering(散乱)からきています。

何が散乱しているのかと言うと・・・Wikipediaに依れば、

「n対の端子を持つ電気回路において、入力方向に進む波の振幅をa1・・・an 、出力方向に進む波の振幅をb1・・・bnとしたとき、次のように記述する。b1 = S11a1 + S12a2 + ・・・ + S1nanb2 = S21a1 + S22a2 + ・・・ + S2nan・・・bn = Sn1a1 + Sn2a2 + ・・・ + Snnan

これらの式を行列を用いて次のように表現する。

このS11・・・Snnを要素とする行列が散乱行列であり、行列の要素がSパラメータである。Sパラメータの各要素は複素数表現であり、回路の振幅に対する影響に加えて位相に対する影響も内包する。」(引用終わり)

であり、散乱行列と言うのを使うので、Sパラと呼ぶのだと分かります。

正直いうとSパラは私にはまだ分からないことの方が多いです。

SPICEでは電圧や電流を扱うことに慣れているのですが、なかなか電力の方向まで扱うことが少ないため、イメージがつかみにくい事が原因ではないかと思います。

そこでSPICEでSパラを扱うことが出来る回路を紹介したいと思います。

Sパラを回路で理解する

図3

上の回路は端子PORTに接続された回路網のS11を計算して端子S11に出力してくれる回路です。

回路網で発生している電圧(端子PORTの電圧)を依存電源E0で検出し、信号源インピーダンスR0で発生している電圧を依存電源E1で検出して、前者の電圧から引いているだけです。

図4

今まで使っていた伝送路のS11を計算してみましょう。終端抵抗の値Rtmは50Ωです。

図5

低周波ではS11は低い値を保っています(つまり、反射が少ない)が、高周波に成ると

終端抵抗と並列に入っているコンデンサC0(10pF)の影響でS11が増加します。

図 1から

と表されます。もし、a2=0ならば(つまり、回路網の右側から電力が入力されない時)

となって、反射係数と同じ計算式となります。つまり、

と書くことが出来て、S11が分かれば回路網のインピーダンスZlがわかる事に成ります。

例えば200MHzのZlは終端抵抗Rtm=50Ωと10pFとの並列なので、

に成っているのでS11は、

となり、シミュレーションがほぼ正しいことが分かります。

非常に興味深いSパラの世界

伝送路の右から2つ目の特性インピーダンスZoを意図的に(製造誤差等を想定)60Ωにした結果も図 5にプロットしました。

この結果がネットワークアナライザーの実測とどのくらいの精度で一致しているかの確認はできないですが、大きなずれはないように思います。

高周波の世界でも、相手に伝えたいことがほんとに伝わるのには時間がかかることや、今までの環境と異なる環境にはスムーズに入っていけない事など、人の社会と同じようなことが起きているのが非常に興味深いです。

次回もこのSパラの世界を紹介する予定です。

bookmark_border反射 (2)

今回も“反射”について話をしてみたいと思います。

終端抵抗についてのこれまでの認識

終端抵抗をOpenにしても波形のひずみが出ないことに驚きました。もちろん終端抵抗が特性インピーダンスと整合していないので、思いっきり反射はするのですが、終端抵抗の両端、つまりVoutの波形は歪んでいません。

今までの理解は「終端抵抗で最初の反射が発生するので、この箇所の整合は一番重要でここさえ抑えておけば、後は少し整合が悪くても波形は歪まない」でした。

図1

図 1は信号源インピーダンスを5mΩで、終端抵抗を50Ωにした場合です。当たり前ですが終端側で整合しているので、反射波が発生していません。このとき信号源には3.3V/50Ω=66mAの電流を流す能力が必要になります。

信号源インピーダンスを50Ωにして、終端抵抗を50GΩとする

図2

図 2は信号源インピーダンスを50Ωにして、終端抵抗を50GΩとした結果です。

終端側では整合していませんので、反射波が発生します。しかし、受信端の波形V(vout)は図 1とさほど変わりません。また、信号源に流れている電流は図 1の半分で済んでいます。更には反射波が同じ量で逆向きの電流を流しているので、信号源に流れる平均電流、つまり直流の電流は打ち消されてゼロになっています。終端抵抗が50GΩ(OPEN)なので、直流電流が流れないと言ってしまえばその通りなのですが、感覚的には納得いかないところです。こうなると、終端側に整合抵抗を入れるよりも信号源側に整合抵抗を入れた方が消費電力が少なくて済むので、有利だと言うことになります。

寄生デバイスの影響を考慮した反射とインピーダンス整合

今までは終端側が理想的な状態、つまり寄生デバイスの影響がない事を前提にしてきました。実際には終端側(例えば、ICの入力端子)には寄生容量などがついています。

図3

寄生容量=10pFとしたときの反射の様子

例えば図 3の様に寄生容量=10pFとしたときの反射の様子をシミュレーションしてみると次の様になります。

図4
図5

図 4が終端側で整合したもの、図 5が信号源側で整合したものです。

両図とも早い周波数成分の立上りや立下りの部分が寄生容量C0(10pF)の影響で反射していることが分かります。これは寄生容量の影響で終端側の入力インピーダンスが高周波になるほど低くなっているためです。また終端部分の波形V(vout)を比較してみると、信号源側で整合した方の波形がなまっているのが分かります。単に消費電力の点では信号源側の整合が有利なのですが、伝送速度と寄生容量に依っては信号源側での整合では十分な特性が得られないことがあるので、終端側との併用も検討する必要が出てきます。両方で整合するのが一番なのですが、消費電力や性能を、寄生容量や伝送路の長さなどの制約条件から最適化することが設計者の腕の見せ所と言えると思います。

パルス幅を長くして、反射波と重ねる

今まではパルスの幅が2nsecと短くして反射波が重ならないようにしてきました。

図6

図 6はパルス幅を20nsecと長くして、反射波と重なる様にしたものです。なお、信号源インピーダンスRsを40Ω(すこし反射します)、終端インピーダンスRtmを50GΩ(全反射です)としています。

終端側のV(vout)にはあまり影響が見られないですが、伝送路内のV(v3)では進行波と反射波が重なるため振幅が2倍になる箇所が出てきます。

例えば、伝送路の中間(例えばv3)から信号を取り出すように信号を分配する仕組み(mini-LVDSインターフェースなど)では要注意です。

さらに、複数のパルスを扱う

今までは孤立パルス(1個だけ)を扱ってきましたが、実際には複数のパルスが使われます。

図7

図 7の様に、前のパルスの反射に依って発生した2回目の進行波と次のパルスが重なると終端側の電圧に干渉として現れます。

反射は発生させないことに越した事は無いですが、反射波をいち早く整合させて消失させる事が大切で、信号源側と終端側の両方で反射を繰り返すと(多重反射が起きると)、自パルス以外の波形にも大きな影響を与える事に成ります。

いままでは過渡解析を使って反射を説明してきましたが、次回は小信号解析(AC解析)も使って、もう少し反射と格闘してみたいと思います。

bookmark_border反射 (1)

今回は“反射”について話してみたいと思います。

このネタは<インピーダンスマッチング>でもお話しましたが、そのときは感覚的な説明をさせてもらったので、今回は少し技術的に説明をしたいと思います。

インピーダンス整合とは?

“インピーダンス整合”とか“インピーダンスマッチング”と言う単語は高周波回路を設計した人なら一度は聞いたことがあると思います。整合とは“整い合う”なので、どことどこのインピーダンスが整うのかというと、信号源インピーダンスと伝送路の特性インピーダンスが同じであること、また、伝送路の特性インピーダンスと受信機の入力インピーダンス(終端抵抗とも言います)が同じであることを“インピーダンスが整合する”といいます。

伝送路の特性インピーダンスって何かという辺りから始めたいと思います。

伝送路の特性インピーダンスとは?

Wikipediaよれば、

『特性インピーダンスは、一様な伝送路を用いて電気エネルギーを伝達するときに伝送路上に発生する電圧と電流の比率。』

さらに、

『単位長さあたりのインダクタンスがLの電気伝導体と、単位長さあたりの静電容量がCの絶縁体を組み合わせた損失のない均一な伝送路の特性インピーダンスZ0は次式で表される。』

と書いてあります。簡単に言うと・・・

同軸やストリップラインはインダクタとコンデンサの組み合わせで出来ていて、その比率が特性インピーダンスになります。

特性インピーダンス50Ωの同軸にデジタルマルチメータを当てて抵抗を測定しても、どこにも50Ωは有りません(同軸の芯線の端と端を測定しても50Ωになりません)。

代表的な伝送路の特性インピーダンスを形状から求める計算式を下記にまとめました。

図1

なお、式の中のεrは比誘電率で使う材料で決まります。

インピーダンス50Ωの伝送路に信号を入れた時の波形

特性インピーダンスが(例えば)50Ωの伝送路に信号を入れると、どんな波形になるかを確認してみましょう。

図2

信号源V0は出力インピーダンスを可変できるように抵抗R1をつけています。伝送路T0~T3は中間の波形も観測できるように4分割にしました。

図3

信号源インピーダンスR1=50Ω、終端抵抗R0=50Ωの状態で、High幅が2nsecのパルス信号を入力した結果です。ストリップラインの特性インピーダンスZo=50Ωで、その長さは200cmです。(注意:長さが200cmのストリップラインに出会ったことはないですが、ここではオーバーに表現するために意図的に長くしました)

信号源V0から出力したパルスがR1を通過してストリップラインを伝播して、終端側端子Vout(青)には15nsecに波形が到達していることが分かります。

終端抵抗を外した時の変化

続いて終端抵抗R0を外して(R0=50GΩ)みましょう。

図4

終端抵抗が特性インピーダンスとずれたため反射が発生し、信号源側に反射波が伝播していきます。また終端抵抗がなくなった分、終端側の振幅Voutが2倍になっています。しかし、不思議なことにストリップラインの入力Vinやストリップラインの中を通過していく波形V1~V3に振幅は半分のままです。半分と成っているのが気になるので、信号源側の抵抗R1を50Ωからずらしてみましょう

抵抗とストリップラインが抵抗分割を形成する不思議

図5

上の図は信号源側の抵抗R1=40Ωとした結果です。ストリップライン入力電圧Vinが図 4より少し高くなっているのが分かるでしょうか? 信号源V0の出力Vsを抵抗R1とストリップラインが抵抗分割してVinを作っているのです。普通の抵抗とストリップラインは異質なものなのに、これらが抵抗分割の様に電圧を作っている事が私には驚きです。

信号源側の抵抗R1が特性インピーダンスと異なるので、反射波はふたたび抵抗R1で反射し、進行波としてストリップラインの中にはいって行きます。抵抗R1を40オームとした場合はGNDより下に進行波が発生します(図 5参照)が、抵抗R1を60Ωとした場合はGNDより上に進行波が発生します(図 6参照)

エネルギー減衰しない反射波により、電源電圧を超えた電圧が発生する

それでは、信号源側の抵抗R1=1Ω、終端抵抗R0=50Gの場合はどの様になるかと言うと・・・

図7

終端側のVoutには+6Vや-6Vが発生する事に成ります。電源電圧=3.3Vなのになぜ?

波は反射するとエネルギーが減衰しないので、いつまでも反射を繰り返します。その結果、電源電圧を超えた電圧やGND以下の電圧が発生することになります。

この端子にもしもLSIなどの最大定格が低いデバイスが繋がっていたら・・・LSIが壊れたと騒ぐこととに成ってしまいます。

次回も反射と格闘してみたいと思います。

bookmark_border社員歓迎会

先日、この秋に新しくわが社にJOINした方々3名の歓迎会を催しました。

わが社の宴会でいつもお世話になっている仲町台駅すぐのイタリアン、ラ・パッパ様を貸切りさせていただきました。(スタップの方々、いつもありがとうございます!)

ラ・パッパ様の名物はピザとナポリタンスパゲッティ。おいしすぎておかわりが来てもすぐにお皿がからっぽになる人気ぶりだったのでうっかりお写真は撮れませんでした(笑)

普段オフィスの机では静かにパソコンや機材に向き合って仕事をしている面々ですが、こうした会社イベントになると、ごらんの通り一人ひとりが次々に話相手を変えながら、わいわいがやがや積極的にコミュニケーションを楽しむので、あっという間に時間が過ぎていきます。途中D-CLUE好例の余興(大変盛り上がります!)を挟みながら、お腹も心もたっぷりと満たしてとてもにぎやかな夜を共に過ごすことができました。

お店の皆様と社員によるハートフルな歓迎で、JOINしたメンバーもD-CLUEの面白さを体感いただけたかな、と思います。

bookmark_borderハイルドライバー方式の振動子をツイータに搭載。D-CLUEオリジナル ハイレゾスピーカを展示

ハイルドライバー式スピーカセット
シリンダー型ハイレゾスピーカ。中央はメディア再生用アンプ。

今や音楽視聴はデジタルが当たり前という時代ですが、逆にアナログレコードが再ブームで非常に良く売れているという話をよく耳にします。その理由はいろいろあるようですが、1つには、デジタル音源でカットしている超音波領域が再生でき、これが心地よいと思う人が増えたこともあるようです。

これは、近年登場したハイレゾオーディオの特長とも共通します。

今回は、そんなハイレゾ音源が再生でき、当時国産スピーカーでは存在していなかったハイルドライバー(AMT(Air Motion Transformer)とも言います)方式を採用した弊社オリジナルスピーカーセットについてD-CLUEエンジニアの渡辺さんにお伺いしました。

渡辺さんは回路設計エンジニアでありながら、趣味でもうすぐ50年になるオーディオに関する幅広い知見がある方で、オーディオ機器や電子楽器の開発者に対して様々な知見を提供してこられました。

ハイルドライバー方式(Heil Driver)で独自開発

D-CLUEが2017年に開発したこのスピーカーは、弊社に参画する前の当時の渡辺さんが、当時国内メーカが採用していなかったハイルドライバー方式として独自開発していたツイータを、D-CLUEが当時の自治体ベンチャー補助金を得ながら、共同でスピーカーに仕立てたものです。

DCT渡辺さん

D-CLUEオリジナル ハイレゾスピーカーの特長

音量や生産効率を重視した当時主流のコーン型を採用したスピ―カーと違いハイルドライバー方式を採用した本スピーカには以下のような特長があります。

  • 一般的なスピーカーにみられるお椀のような振動子(音の発生源)とちがい、薄くて軽いフィルムを蛇腹状にした特殊な振動子をマウントしています。
  • 打楽器の音抜けが良く、中高域の立ち上がりも素早い。例えばバイオリンのような弦楽器や鳥のさえずりなど繊細かつリアルな音源をくっきりと鮮明に再現します。
  • 平面波という、中高音域の音が均一遠くまで同じように出せるという特長があります。均一で減衰の少ない再生音が、演奏の奥行き感と臨場感をもたらし、可聴位置を選ばない360度立体音場再生を可能にします。

ハイレゾはさらに心身をリラックスさせる効果もあるそうで、大学研究機関と一緒に当社のスピーカーを使って検証実験も行われたそうです。

ツイータ部。スリット内に蛇腹状のハイルドライバー型振動子が見える

大手オーディオメーカー視聴会での評価

「先ず音を聞くと打楽器のリアルさに誰もが一番気が付くと思います」と語ってくれた渡辺さん。

私も実際に楽器演奏のハイレゾ音源を聞いてみました。ドラム音がクリアに耳に入ってきますし、弦楽器は力強く伸びがあります。打楽器・高音域が得意という渡辺さんの言う通りでした。雨上がりの山の自然音源に変えてみると、木の葉から滴る水滴のパラパラという音は打楽器のような粒立ち。小鳥の声は本当に頭上でさえずっているようで、音の素人の私でも強いリアル感、臨場感を感じました。

実際に当時の音響メーカー何社かに対し、実機のプレゼンテーションを行ったそうです。その担当者さん達の評価についても教えてくれました。

  •  バイオリンの音色の立ち上がりが良い。
  •  打楽器の音(と仕上がり)が素晴らしいです。
  •  ギターの高音が良く、スピーカー素材のカラレーションが良い。
  •  現在主流となっているツイーターの金属的な音がしない。
  •  素材の泣きのような音が一切しない。癖がなく素直に音が出ている
  •  スピーカーの素材感を感じさせない、自然な音がする。
  •  再生音の情報量がとても多い。

私も聞いてみて納得しましたが、その当時のオーディオのプロの方々の客観的な評価も素晴らしかったのですね。

仕様概要

本スピーカーの仕様概要をまとめました。

形式:2WAY シリンダー型バスレフ
中高音域:コンパクト型ハイルドライバー
低音域 :8cmコーン型ウーファー
出力音圧レベル:85dB/W (1m)
周波数帯域:70Hz~50KHz(-10dB)
クロスオーバー周波数:2KHz

弊社展示ルームにてリスニング可能

このほど渡辺さんに実機を調整いただいたあと、現在弊社の応接ルームに設置。再生デモをお楽しみいただけるようにしました。弊社にお越しの際はぜひお試しください。

 

bookmark_border駐車場の空きを教えるエッジAIを作る (その3~データセットの課題解決) 

こんにちは。

オープンソースを活用しながら、低コストでエッジ デバイスやさらに小さなIoT デバイスで使用できる小さな AI モデルを作成する、駐車場AI R&D チャレンジの3回目です。

作成したPOCには大きく3つの課題がありました。どのような対策を施し克服したのかご紹介します。

データ注釈の課題克服

まず、時間のかかるプロセスである、データ注釈(アノテーション)の課題解決です。

利用可能なオープンソースの注釈ツールはいくつかありますが、今回のPOCの目的「AI モデルのトレーニングに使用される”ビットマップ マスク イメージを生成する”」こと。この 要件に一致するものはありませんでしたので、私はPython で OpenCV API を使用し自ら注釈モデルを作成しました。

製作した注釈モデルアプリケーション

このアプリケーション製作は慣れていれば非常に簡単です。アプリケーションは 2 つのウィンドウで構成されています。 左側が入力画像、右側が出力マスクです。

ユーザーの作業は基本的に、

「車の位置にある左側の画像をクリック」する、

たったこれだけです。 これにより、右側のマスクが自動的に更新されます。

ちなみに同じ場所をもう一度クリックすると削除できます。キーコントロールで画像を保存、次の画像を選択、ポイント設定という流れでザクザクと設定を進められます。 (すべての画像が同じディレクトリにあると想定ですが)

簡単とはいえども、画像数が多いと当然ながら非常に時間がかかります。もっと楽をしたいので私は、手動で1,000 枚の画像に注釈を付けた後で、その注釈付きの画像を活用して注釈付けAIのトレーニングと AI モデルを作成しました。

このトレーニング済みの AI モデルを使用して、残りの画像に注釈を付け作業を簡略化できました。

そもそもの元画像にミスが多かったせいで、手動で手直しも発生しましたが、とはいえゼロから画像に注釈を付けるよりもはるかに高速で処理できました。

AIモデルの課題克服

次に、注釈モデルアプリの中のAIモデルですが、IoT環境で使うため、プログラムサイズの軽量化が必要です。

注釈モデルアプリの処理の流れ

私の製作した注釈モデルアプリのAI モデル(上図中央)は以下の 2 つの部分で構成されています。

  • 前工程:事前学習された Mobilenet バックボーン (モデルの一部のみ)
  • 後工程:カスタム FCNN (完全畳み込みネットワーク)

学習データ セットが小さかったため、私はこのアプローチを採用しました。 本AI モデルでは、小さなカスタム FCNN セクションのみがトレーニングされますので効率的です。 前工程のMobilenet は事前にトレーニングされているため、画像内の多くの低レベルの特徴を検出できます。後工程の カスタム FCNN のほうは、前工程のMobilenetの検出後画像をさらにフィルタリングし、車のみが検出できるようにしました。この結果私の製作した AI モデルのプログラムサイズは、float32 パラメーターでは約 6 メガバイトでしたが、(パフォーマンスは 1 パーセント (0.3%) ほど低下したものの)量子化 (int8) によって 4 分の 1 (2.5 メガバイト)にまで縮小できました。

データの増強とデータセットの制限の克服

次に、データセットの問題です。

前回2回目のブログで私は、駐車場画像のデータセットに偏りがあると、駐車場監視AIモデルの学習がうまく進まないこと、駐車場においては主に7つのデータセットの課題があるとお伝えしました。

そこで私は駐車場データの増強やデータセットの制限を克服するために、以下のようなアプローチを試みました。

1. データサンプリング

データ分析において、データセットの中から有意な情報を得るため、データの一部を抽出することをサンプリングと言います。また、ヒストグラムの棒のことを英語ではbinビン)と言いますが、ある抽出データがどのビンに属するのかの定義を決めていきます。

まず、駐車場の画像データを、ビン(bin)に配置します。

駐車場の場合は駐車台数がキーになります。たとえば、車が 0 台の画像用のビンが 1 つ、車が 1 台しかない画像用のビンが 1 つなどと決めていきます。駐車場AIデータのトレーニング中は、これらのビンに配置した画像をランダムに選択しAIに答えさせていきます。

さて、昼と夕方では明るさが違うので、AIにより賢くなってもらうには、これらの状態でのサンプリングも必要になります。そこで私はビンをさらに 駐車台数 ✖ 画像の明るさレベル (平均)、明るい、中間、暗いへと分けました。
こうして(影や車の色の違い <明るい白から黒まで>も存在するため、これだけですべての問題が解決するわけではありませんが)様々な明るさ✖台数の駐車場データを設けることで、トレーニング データをより均等に分散させて、トレーニング中のバイアスを減らすことがAIにより賢くなってもらうために必要です。

2. ランダム化によるデータ増強

特定の駐車台数、特定の明るさのデータが十分にない区間も存在します。こうしたトレーニングデータのバイアスを補い均質化する技術としてランダムパッチがあります。

画像の一部分にランダムなパッチを当てて、ふたをします。こうすると、画像内の車の数が変化しますので、違う台数条件のデータを学習させることができます。

ランダム化には他にも方法がありますが、今回のデータの課題の特性を見ながら、ランダムな明るさの変化と、ランダムなコントラスト変更 (ぼかし、シャープ化)も必要と感じ実施しました。

3. ミラーリング

データ増強の方法にミラーリングというものがあります。画像をランダムな角度に水平方向に反転させ、鏡映しのような画像をつくるのですが、私は今回これも用いてみました。

結果

AIモデルのトレーニングには、過学習(オーバーフィッティング)を減らし、バランスの良い学習でAI モデルの堅牢性を向上させる必要がありますが、以上のアプローチの実施後、現時点のデータセットでのAIモデルの認識パフォーマンスは 99% 以上をマークすることができました。

今後の展開

今回のAI モデルは、FCNN (完全な畳み込みネットワーク) と組み合わせた MobileNet バックボーンを使用しましたが、プログラムサイズがまだかなり大きくて、約 2.5 メガバイトでした。 (ただしARM M7 Cortex で MobileNet モデルを実行することは可能です)

プログラムサイズに関しては、Mobilenet バックボーンの削除+完全にカスタム化された AI モデルの作成を行うこと、そしてNeural Architecture Search(NAS)を使ってニューラルネットワークの構造自体を最適化すれば1 メガバイト未満のモデルも構築できると想定しています。

それより重い課題は主な課題はトレーニング データです。 現在のデータセットはおそらく小さすぎて、AI モデルをゼロからトレーニングできません。費用と時間がそれなりにかけて、より多くのデータを収集していく方法は当然ありますが、予算や時間が限られる研究者も大勢いると思います。

だからこそ、私はより高度な AI モデルを使用してトレーニングデータを合成する方法で解決できる可能性に期待しています。大規模なジェネレーティブ AI モデルがトレーニング用データを合成し、その合成データを、今度はIoT やエッジ デバイスで動作する AI モデルのトレーニングに使用するプロセスです。

”合成データは AI データの未来である”

大きなAIがエッジAIのトレーニングをサポートすることが当たり前の世界に1歩でも近づけていきたい。私はこのように強く思っています。

次は、他のエッジAI開発事例についても、お話しできればと思います。