de-emphasis(ディエンファシス)

高速デジタル伝送に関する測定の翻訳で、de-emphasis(ディエンファシス)という言葉がよく出てくる(例えば、N4965AマルチチャネルBERT 12.5 Gb/sのp2)。

PCI Express、USB3.0、シリアルATA、HDMIなどの高速シリアル・インタフェースでは、数Gbpsあるいは数十Gbpsでのデータレートで高速伝送が行われる。このような高速伝送では、高周波成分の損失が大きくなり、伝送線路がローパス・フィルタとして働き、歪みにより符号間干渉が生じアイ・パターンがつぶれる。そこで、伝送線路を通った後の高周波成分の減衰に合わせて、あらかじめ送信側で低周波成分を減衰させておき、伝送線路を通った後でちょうどバランスするようにして、歪みをなくすことによりアイを開く。この手法をディエンファシスと呼ぶ。

ディエンファシスとは逆に、伝送線路を通った後の高周波成分の減衰に合わせて、あらかじめ送信側で高周波成分を持ち上げておき、伝送線路を通った後でちょうどバランスするようにして歪みをなくし、アイを開く手法をプリエンファシスと呼ぶ。しかし、プリエンファシスを行うと振幅が大きくなり信号の遷移時間が長くなるので、高速伝送では不利になる。

また、受信側で高周波成分の損失をイコライザで持ち上げる手法もある。

ディエンファシスについての詳細は、以下を参照。
USB 3.0規格のFAQ(2) ―― SuperSpeed USBはいかにして高速伝送を実現しているのか?

LVDSを基礎から理解する、さらなる高速/長距離化を可能にする技術(後編)

丸め誤差

今日は単位がらみの訳文エラー検出プログラムを作ってたんですがちょっとばかしハマりました。
原文に「$1.38bn」という文字列があったら訳文に「13億8千万ドル」があるか、みたいなチェックを実装したんですが、ちゃんとそう訳されているのに

「$1.38bn=13億799999999999999千万ドルです!」

とエラーメッセージが出ている。

はあ?

1.38に10を掛けると
1.38×10=13.799999999999999
という計算結果が!

最初はFlashのバグかと思ったんですが、実はこれ、コンピュータの世界では有名な丸め誤差らしいです。
10進数で正確に表せる小数でも2進数(コンピュータの世界)では循環小数になってしまう(有限の桁数で表現できない)ことが多いためだそうです。

これに関連した面白い記事を発見したので興味ある人は読んでみよう!

ちなみに1.38に10を掛けた「13.8」という数字が欲しいなら、「100倍して四捨五入して10で割ればいい」という画期的な方法を発見して「すげーな俺!」と思ったんですが、実はこれも有名な解決策だったらしいっす。。。