波動の合成

昨日、某企業で長年超音波診断装置の開発に携わって来られた尊敬する技術者の方からお話を伺い、長年の疑問に対してヒントを賜りました。とてもありがたいことです。

例えば経食道心エコー法ですが、三次元画像や X-planeによる二次元直交画像を表示するためには、いったいいくつの 超音波クリスタルが必要なのか? さらには、そこからの信号線の数は膨大な数にならないのか? そもそもphased-arrayにより超音波ビームの方向を自由に振るとしても、膨大な数の超音波アレイをどのように正確に制御できるのか? 取り出した信号を信号処理ユニってに送り込むためには、その信号線が膨大になり、その間の同期などが困難となるのでは? あるいは、エラー耐性が著しく低下しないのか?

などなどたくさんの疑問を抱えて僕はこれまで生きてきました それらに対する明確な回答のとっかかりを得ることができました もちろん自分で何をするか? ではなくって、単なる疑問なのでした 疑問を疑問のままにしておくことができなかったのです

要するにクリスタルから出る波動を自由自在に合成することにより、あるいは受信時に仮想的に合成することにより自由自在に方向を決定できる そのようなことでした。ものすごいテクノロジーですね。

Haskellに惑わされ – 13

ライブデモンストレーション開始の直前に理解を深めるために ghciで REPLにより実行しました

Prelude> :{
Prelude| myDiv x = case x of (0, 0) -> 1 :: Int
Prelude|                     (_, 0) -> maxBound
Prelude|                     (n, m) -> n `div` m
Prelude| :}
Prelude> myDiv (0, 0)
1
Prelude> myDiv (100, 0)
9223372036854775807
Prelude> myDiv (3, 5)
0
Prelude> myDiv (100, 2)
50

思いどおりの実行ができましたね もっとも本からの抜粋ですが・・・・ しかし、本に書いているからと言っても簡単に実行できないのが Haskellです 要するにとても「厳しい」言語仕様なのです