|This article needs additional citations for verification. (October 2015) (Learn how and when to remove this template message)|
||This article needs to be updated. (October 2015)|
A softmodem (software modem) is a modem with minimal hardware that uses software running on the host computer, and the computer's resources (especially the central processing unit, random access memory, and sometimes audio processing), in place of the hardware in a conventional modem. Softmodems are sometimes called winmodems because the first ones worked only on IBM PC compatible computers with a Microsoft Windows operating system.
Softmodems cost less to manufacture than conventional modems because they had less hardware. However, they shared the computer's limited resources with other tasks, which reduced the resources available to, and sometimes the performance of, the computer's primary tasks.
Softmodems are sometimes used as an example of a hard real-time system. The audio signals to be transmitted must be computed on a tight interval (on the order of every 5 or 10 milliseconds); they cannot be computed in advance, and they cannot be late or the receiving modem will lose synchronization.
Evolution and technology
As PSTN hardware modem technology advanced, the modulation and encoding schemes became increasingly more complex, thus forcing the hardware used by the modems themselves to increase in complexity.
The first generations of hardware modems (including acoustic couplers) and their protocols used relatively simple modulation techniques such as FSK or ASK at low speeds and with inefficient use of the telephone line's bandwidth. Under these conditions, modems could be built with the analog discrete component technology used during the late 70s and early 80s.
As more sophisticated transmission schemes were devised, the circuits grew in complexity, mixing analog with digital parts and eventually incorporating multiple ICs such as logical gates, PLLs and microcontrollers, while the techniques used in modern V.34, V.90 and V.92 protocols (like 1024-QAM) are so complex that implementing a modem supporting them with discrete components or general purpose IC's would be very impractical, and a dedicated DSP or ASIC is used instead, effectively turning the modem into a special embedded system, a dedicated computer in its own right.
Furthermore, improved compression and error correction schemes were introduced in the newest protocols, requiring processing power by the modem itself. This made the construction of a mainly analog/discrete component modem impossible, especially when trying to achieve compatibility with older protocols using completely different modulation schemes.
Thus hardware modems supporting those standards were becoming steadily more complex and expensive themselves, not to mention the fact that several conflicting standards in the early days of the various 33.6K (V.34) and 56K protocols led to incompatibilities and the construction of modems with upgradeable firmware, which did all of the processing via a programmable DSP.
By offering (or claiming to offer) the same functionality as a hardware modem at a fraction of the price and (theoretically) a capacity for unlimited upgrades, the advantages of software-based modems became compelling. However, they would still require significant advances in home PCs' CPU power in order to compete with hardware modems in terms of performance and reliability.
Having most of the modulation functions delegated to software does serve to provide the advantage of easier upgradeability to newer modem standards. However, this is hardly an advantage as of 2005, with the latest V.92 56K protocol practically bearing the maximum achievable performance for a normal PSTN modem and telephone line and no significant future improvements/advancements seeming possible. Nevertheless, this is not yet the case with the more recent software-based DSL modems, whose easy upgradeability can still be an advantage. More commonly, however, softmodem drivers are enhanced in regard to their performance and to eliminate possible software bugs.
A more practical advantage of softmodems is given by the considerable reductions in production costs, component count, size, weight and power requirements compared to a hardware modem, whether external or internal, to the point that most modems that are integrated in portable computer systems (including high-end laptops and PDAs) are softmodems.
Most PC serial ports, the traditional interface for external hardware modems, are limited to 115,200 bits per second by UART limitations, though some ports are capable of 230,400 bit/s. V.92 modems with V.44 compression can have an effective throughput of up to 300,000 bit/s. Since a V.92 hardware modem performs V.44 compression internally, the speed of a serial port can limit a hardware modem's overall speed; this is not an issue for softmodems since the host PC performs V.44 compression and emulates the serial port. Thus, V.92/V.44 softmodems are potentially capable of outperforming hardware modems if the hardware modem is connected to a slow interface like a PC's serial port. This limitation should not apply if the hardware modem is connected via a faster interface like ISA, PCI, PCI Express, or USB.
Winmodems have earned a certain notoriety for slowing down their host computer systems and for having buggy drivers, although this reputation was largely garnered during the period of their introduction to the mass market, whereupon they were apt to use substandard drivers and be found in entry-level computers with slow CPUs. Any such reputation has not, however, halted their market popularity; most internal 56k modems produced since 1998 have been software-based.
Nowadays, with modern CPUs and better drivers, their most serious drawback is that they are operating system and machine dependent. They cannot always be used on other operating systems and host machines because the driver support requires far more effort to produce.
The advantage of software upgradeability was diminished when many newer hardware modems gained the ability to upgrade firmware to support new standards. Modems such as those made by U.S. Robotics used generic DSP architecture, which achieves the flexibility of softmodems, without sacrificing compatibility.
Softmodems can be separated into two clear classes: controllerless modems and pure software modems. Controllerless modems, such as those made by Lucent and Motorola, perform much of the modem work on the card, and require only small amounts of CPU power to complete. Conexant's HCF standard also falls into the controllerless category. Pure software modems perform the entire emulation of a hardware modem on the main CPU, with Conexant's HSF standard being the most common.
U.S. Robotics literature presently uses "Winmodem" for controllerless modems, and "Softmodem" for pure software modems.
Another way of classifying softmodems is by means of their communication interface with the host computer: on desktop systems the most common option is an internal PCI or ISA expansion card, which can be easily be told apart from an internal "hardware" modem by the significantly reduced size and component count.
Although the term has historically been used to indicate the traditional "analog" PSTN software modems, there are some software-based DSL modems or even routers, which work on the same principles as their PSTN ancestors, only on a larger bandwidth and on a more complex signal. One of the first software based DSL modem chipsets was Motorola's SoftDSL chipset, for which similar considerations as "ordinary" PSTN modems can be made. The term WinDSL has shown up on technology sites like Slashdot regarding this trend. DSL softmodems generally require the same interfaces as PSTN softmodems, such as USB or PCI.
However, the increasing popularity of home networking limited the prospects for DSL softmodems. Many households and small businesses have a router connected to the DSL modem, and all their computers are connected by various types of wired or wireless networks to that router. For that reason, most broadband modems today (cable as well as DSL) are external devices with either Ethernet connections for single PCs or routers, or built-in routers of their own; these interfaces require a full-hardware implementation. Most current broadband modems with USB jacks also have Ethernet jacks, and thus are full-hardware modems.
Often, the term "Winmodem" or "softmodem" is used in a derogatory manner, as opposed to hardware or "real" modems. The argument is that a softmodem isn't a real modem at all, but rather a simple electrical interface between computer and phone line, limiting itself to very basic functions such as voltage/current adaptation and functioning essentially as a DAC/ADC, much like a sound card which handles pure PCM and analog signals from and to the telephone line, while the host's CPU does the actual job of synthesizing or analyzing all necessary waveforms (carrier, dialing tones) and applying all necessary DSP techniques (FSK, QAM, PSK etc.) to a "virtual" signal, in order to encode and decode inbound or outbound data.
This means that at least the simplest softmodem is nothing more than a special purpose sound card with mono DAC/ADC's and a telephone line interface, while all actual signal encoding/decoding (as well as compression/decompression, error correction etc.) is done by the host machine, hence the terms HAM (Host Assisted Modulation) or HSP (Host Signal Processing). Many of the latest softmodem chipsets, e.g., the Intel Ambient, are even built around a standard AC'97 audio codec interface.
Software & Soundcard projects
The first softmodem-related announcements were made by Motorola, Intel and other companies, back in 1997, claiming that an ordinary sound card and some CPU power would be enough to emulate the functionality of an actual modem, although "sound card telephone adapters" and related software was never released or at least never caught on.
Reasons for that might have been the lack of standardized and fully functional audio card standards by 1997 (AC'97 was not standardized yet, and most sound cards were partially functioning "Soundblaster clones" which lacked even full duplex capabilities) and the lack of CPU power on entry-level PC's.
Winmodem as a brand name
"Winmodem" is a U.S. Robotics brand name, but the term has now come to mean any software-based modem, in the same way that Xerox refers to any copy machine in some parts of the world. As of 2007[update], U.S. Robotics no longer uses "Winmodem" as a brand of modem. Instead, they use the term generically for modems that are controllerless but retain all other modem functions in hardware; this happens to include all of their current branded modems that are not full-hardware modems.