DSPになりきれなかった、アナログ・デジタル・プロセッサという異物「Intel 2920」(人知れず消えていったマイナーCPUを語ろう 第15回)
この連載でもちょこちょこDSP(Digital Signal Processor)の話をしていたと思うが、今回ご紹介するIntel 2920はそのDSPになり損ねた、ASP(Analog Signal Processor)である。 Intel 2920の内部構造 そもそもDSPとは何か? という話をする前に、まず何でDSP的なものを生み出す必要があったのか、について簡単に説明したい。
DSP的なものはなぜ必要とされたか
そもそもDSP的なものが要求された背景には、信号処理をデジタルで行いたい、というニーズがあった。 信号処理、最初に考案されていたのはフィルタとか畳み込み、それとFFTなどが目的だが、まず入力信号X(z) をZ変換を掛けてx[n] の数列にし、次いでこの数列に対して目的の処理を行い、最後に逆Z変換を掛ければ、処理を行った後の信号が生成されるということになる。 FIRフィルタとかIIRフィルタの詳細まで説明し始めると話がずれるので割愛するが、例えば電話(昨今の携帯電話でなく、昔の有線の電話機の話)だと会話で主に利用される300Hz~3.4kHzが伝達できれば問題なく、逆にここから外れる周波数の音(例えば自動車の排気音なら250Hz前後、騒音は一般に4kHz前後と言われる)を排除することで、明瞭に音声が伝わる様になる。 なので、300Hz~3.4kHzの音だけを通すようなフィルタを噛ませることでこれを実現しようとした。ここで利用されるのがBPF(Band Pass Filter)であるが、こうした機能はFIRやIIRフィルタの組み合わせで実現できる。あるいはサウンドイコライザーもこの一種だ。 「低音を盛り上げたい」とか「高音がちょっとシャリシャリ言うのでレベルを落としたい」とか、そういう目的で周波数帯ごとにレベルの上げ下げを行ったり、逆に周波数帯から分析を行う(騒音のピーク周波数から、例えばそれがモーターの騒音であれば回転数が推察できる)などの目的に利用されるが、これは信号にフーリエ変換を掛け、周波数別の信号強度を算出することで可能になる。 昔はこれを全部アナログ回路でやっていた訳だが、細かくやろうとすると回路規模が馬鹿でかくなり、コストも馬鹿にならないうえに信号劣化も激しくなる。またアナログが故に、精密な動作をするフィルタを構築するのは難しいなどの問題もある。 そこで、信号をまずADC(Analog-Digital Converter)で受けてデジタル化し、その後の処理を全部デジタルで行い、最後にDAC(Digital-Analog Converter)で再びアナログに戻せばよいのではないか? という考えに行き着くのはまぁ当然である。 さて、ここで問題になってくるのは「どうやってデジタル処理を行うのか」という話である。当たり前であるが、精度を高めるとそれだけデータ量が増える。 例えば音声を8bitでサンプリングするより16bitでサンプリングした方が、より原音に近い形でデジタル化できる。サンプリング頻度も高ければ高いほど、原音に近くなる。 初期のものだとADCの出力が8bit、サンプリング頻度22kHzとかだった訳だが、これだと毎秒あたり22KB/secのデータ量になる。これがもう少し精度の高い、例えばCDの音質だと16bit/44.1kHzのステレオなので、データ量は176.4KB/secになる。 このデータ量そのものは、何も加工しないで済むなら大した分量ではないのだが、これにフィルタリングを掛ける、という話になるとまた話が変わってくる。
【関連記事】
- DSPになりきれなかった、アナログ・デジタル・プロセッサという異物「Intel 2920」(人知れず消えていったマイナーCPUを語ろう 第15回)
- 人知れず消えていったマイナーCPUを語ろう(第8回):並列CGレンダリングの夢を抱かせたINMOS Transputer
- 知名度はないが最も高性能だった1bit MCU、Motorola MC14500(人知れず消えていったマイナーCPUを語ろう 第14回)
- DSP登場までは超高速を誇ったSMS300/8X300(人知れず消えていったマイナーCPUを語ろう 第13回)
- 3年間の開発凍結がなければIntelと勝負できたかもしれないSignetics 2650(人知れず消えていったマイナーCPUを語ろう 第12回)