
ソフトウェアモデム(一般的にソフトモデムと呼ばれる)は、従来のモデムのハードウェアの代わりに、ホストコンピュータ上で動作するソフトウェアとコンピュータのリソース(特に中央処理装置、ランダムアクセスメモリ、場合によっては音声処理)を使用する、最小限のハードウェアを備えたモデムです。
ソフトモデムは、 Windows以外のプラットフォームのサポートが限られているため、ウィンモデムと呼ばれることもあります。同様に、リンモデムはLinux上で動作するソフトモデムです。[ 1 ] [ 2 ]
ソフトモデムは、ハードリアルタイムシステムの例として挙げられることがあります。送信される音声信号は、非常に短い間隔(5ミリ秒または10ミリ秒ごと)で計算する必要があり、事前に計算しておくことはできません。また、遅延すると受信側のモデムが同期を失ってしまうため、遅延も許されません。
初期のハードウェアモデム(音響カプラを含む)とそのプロトコルは、低速でFSKやASKといった比較的単純な変調方式を採用していた。こうした条件下では、モデムは1970年代後半から1980年代前半にかけて用いられていたアナログディスクリート部品技術で構築することができた。
より高度な伝送方式が考案されるにつれて、回路は著しく複雑化していきました。新しい変調方式では、アナログ部品とデジタル部品を組み合わせる必要があり、最終的には論理ゲート、 PLL、マイクロコントローラなどの複数の集積回路(IC)を組み込む必要が生じました。現代のV.34、V.90、V.92プロトコルで使用される後期の技術(例えば1664ポイントQAMコンスタレーション)は非常に複雑であるため、個別の部品や汎用ICで実装することは非現実的になりました。
さらに、最新のプロトコルでは圧縮方式と誤り訂正方式が改良され、モデム自体に高度な処理能力が必要となった。そのため、主にアナログ/ディスクリート部品で構成されたモデムの構築は不可能となった。また、全く異なる変調方式を用いる旧来のプロトコルとの互換性を確保するには、ディスクリート電子部品で構成されたモデムに複数の完全な実装を組み込む必要があった。
当初の解決策はLSI ASICを使用することで、様々な実装を少数の部品に集約することだったが、規格が継続的に変更されたため、アップグレード可能なモデムを開発したいという要望が生じた。
1993年、DigicomはConnection 96 Plusを発売した。これはDSPをベースにしたモデムで、起動時にアプリケーションによってプログラムされる。プログラムは交換可能だったため、規格の向上に合わせてモデムをアップグレードすることができた。Digicomはこの技術をSoftModemと名付け、おそらくこの用語の起源となった。[ 3 ]
同様に、「Winmodem」という用語は、1996年にParvaiz Akhtar教授によって考案され、ハードウェアはUSRoboticsのSportster Winmodemによって開発されました。これは同様にアップグレード可能なDSPベースの設計です。[ 4 ]
1996年には、ホストCPUに一部の処理をオフロードするホストベースモデムと、ホストシステムのCPUにすべての処理を転送するソフトウェア専用モデムの2種類のモデムが市場に出回り始めました。[ 5 ] 1997年には、コンピュータオーディオのAC'97規格でモデム使用のためのチャネルが導入され、PCでソフトウェアモデム技術が普及しました。
それ以来、いくつかのソフトモデムは、標準的なサウンドカードのインターフェースを利用したスタンドアロンのソフトウェアプロジェクトとして作成されてきました。例えば、 1999年に公開された実験的なオープンソースの96 kbit/s専用線ソフトモデムであるAuDSL [ 6 ]や、いくつかのFSKモデム規格を実装したMinimodemプロジェクト[ 7 ]などがあります。
ソフトモデムは、コントローラーレスモデムと純粋なソフトウェアモデムの2種類に分類できる。
コントローラレスモデムは、モデム自体に搭載されたDSPを使用して変調、復調、その他のタスクを実行します。[ 3 ]「ホストベース」モデムと呼ばれる一部のモデムは、一部のタスクにホストのCPUパワーをいくらか使用する場合があります。[ 5 ]
純粋なソフトウェアモデムは、可能な限り多くのタスクをホストPCのCPUで実行し、ハードウェアはアナログ-デジタル変換と電話網への接続のみを提供する。[ 5 ]
DSPベースのソフトモデムの本来の目的は、モデム規格が急速に変化する時代において重要視されていたアップグレード性を提供することであった。DSPモデムと純粋なソフトウェアモデムの両方がこの機能を提供している。
ソフトモデムは、従来のハードウェアモデムに比べてコストと効率の面で優位性があります。最小限のハードウェア設計により、製造コストと消費電力を削減できます。
どちらのタイプのソフトモデムにも共通する欠点は、ドライバを提供する必要があることであり、「ソフトモデム」や「ウィンモデム」という用語は、特にオープンソースコミュニティ内で、Linux 用のドライバが省略されたり、保守不可能なバイナリとしてのみ提供されたりすることが多いため、否定的な意味合いを持つようになった。[ 8 ]
DSPベースのソフトモデムは通常、起動時のみホスト側の処理を必要とするのに対し、純粋なソフトウェアモデムはホスト側のCPUサイクルを消費するため、古いコンピュータではアプリケーションソフトウェアの動作速度が低下する可能性がある。これは、 CPUの性能が今日の一般的なハードウェアほど高くなかった1990年代には大きな問題だった。
「ソフトモデム」は通常PSTNモデムを指しますが、同じ原理で動作しながらも、より高い帯域幅とより複雑な符号化方式を使用するソフトウェアベースのDSLモデムやルーターも存在します。最初のソフトウェアベースのDSLモデムチップセットの1つは、モトローラのSoftDSLチップセットでした。[ 9 ]
この種の技術を説明するためにWinDSLという用語が作られました。[ 10 ] DSLソフトモデムは一般的にUSBやPCIなどのPSTNソフトモデムと同じインターフェースを必要とします。
、PCのサウンドカードを回線インターフェースとして使用し、専用銅線経由で低速インターネット接続を実現する実験的なソフトウェアモデムです。AuDSLはAudio Digital Subscriber Lineの略です。
汎用ソフトウェアFSKモデムとして機能し、Bell103、Bell202、RTTY、TTY/TDD、NOAA SAME、Caller-IDなどのさまざまな標準FSKプロトコルをサポートしています。