
A software modem, commonly referred to as a softmodem, is a
modem
A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by modulating one or more c ...
with minimal hardware that uses
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
running on the host computer, and the computer's resources (especially the
central processing unit
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
,
random access memory
Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working data and machine code. A random-access memory device allows data items to be read or written in almost the s ...
, and sometimes
audio processing), in place of the hardware in a conventional modem.
Softmodems are also sometimes called winmodems due to limited support for platforms other than
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
. By analogy, a linmodem is a softmodem that can run on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
.
Softmodems are sometimes used as an example of a
hard real-time
Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constra ...
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.
History
The first generations of hardware modems (including
acoustic coupler
In telecommunications, an acoustic coupler is an interface device for coupling electrical signals by acoustical means—usually into and out of a telephone.
The link is achieved through converting electric signals from the phone line to sound ...
s) and their protocols used relatively simple modulation techniques such as
FSK or
ASK at low speeds. Under these conditions, modems could be built with the analog
discrete component
An electronic component is any basic discrete device or physical entity in an electronic system used to affect electrons or their associated fields. Electronic components are mostly industrial products, available in a singular form and are n ...
technology used during the late 70s and early 80s.
As more sophisticated transmission schemes were devised, the circuits grew in complexity substantially. New modulation required mixing analog and digital components, and eventually incorporating multiple
integrated circuits (ICs) such as logical gates,
PLLs and
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
s. Later techniques used in modern
V.34,
V.90 and
V.92 protocols (such as a 1664-point
QAM constellation) are so complex that implementing them with discrete components or general purpose ICs became impractical.
Furthermore, improved compression and error correction schemes were introduced in the newest protocols, requiring extra processing power in the modem itself. This made the construction of a mainly analog/discrete component modem impossible. Finally, compatibility with older protocols using completely different modulation schemes would have required a modem made with discrete electronics to contain multiple complete implementations.
Initially the solution was to use
LSI LSI may refer to:
Science and technology
* Large-scale integration, integrated circuits with tens of thousands of transistors
* Latent semantic indexing, a technique in natural language processing
* LSI-11, an early large-scale integration com ...
ASICs which shrank the various implementations into a small number of components, but since standards continued to change, there was a desire to create modems that could be upgraded.
In 1993, Digicom marketed the ''Connection 96 Plus'', a modem based around a
DSP which was programmed by an application on startup. Because the program was replaceable, the modem could be upgraded as standards improved. Digicom branded this technology ''SoftModem'', perhaps originating the term.
Likewise, the term "Winmodem" may have originated with
USRobotics' ''Sportster Winmodem'', a similarly upgradable DSP-based design.
In 1996, two types of modem began to reach the market: ''host-based'' modems, which offloaded some work onto the host CPU, and ''software-only'' modems which transferred all work onto the host system's CPU.
In 1997, the
AC'97
AC'97 (''Audio Codec '97;'' also MC'97 for ''Modem Codec '97'') is an audio codec standard developed by Intel Architecture Labs in 1997. The standard was used in motherboards, modems, and sound cards.
The specification covers two types of comp ...
standard for computer audio would introduce channels for modem use, making software modem technology common in PCs.
Since then, some softmodems have been created as standalone software projects utilizing standard sound card interfaces, such as an experimental open-source 96 kbit/s leased-line softmodem calle
AuDSLfrom 1999, and th
Minimodemproject which implements several FSK modem standards.
Types
Softmodems can be separated into two classes: ''controllerless'' modems and ''pure software'' modems.
Controllerless modems utilize a DSP on the modem itself to perform
modulation
In electronics and telecommunications, modulation is the process of varying one or more properties of a periodic waveform, called the '' carrier signal'', with a separate signal called the ''modulation signal'' that typically contains informat ...
,
demodulation
Demodulation is extracting the original information-bearing signal from a carrier wave. A demodulator is an electronic circuit (or computer program in a software-defined radio) that is used to recover the information content from the modulated ...
and other tasks.
Some, known as "host-based" modems, may still use some amount of the host's CPU power for some tasks.
Pure software modems perform all modem tasks on the host PC's
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
, while the hardware provides only analog-digital conversion and connection to the telephone network.
Advantages and disadvantages
The original stated purpose of the
DSP-based softmodem was to provide for upgradeability, a concern in an era when modem standards were changing rapidly. Both DSP and pure software modems offer this feature.
A downside of either type of softmodem is that drivers must be provided, and the terms "softmodem" and "winmodem" have gained negative connotations, particularly within the open-source community, due to drivers for Linux often being omitted or provided only as unmaintainable binaries.
While DSP-based softmodems usually only require host attention during startup, pure software modems consume some
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
cycles on the host, which can conceivably slow down
application software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
on older computers. This was a major issue in the 1990s, when
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
s were not nearly as powerful as today's typical hardware.
DSL softmodems
Although "softmodem" typically applies to
PSTN
The public switched telephone network (PSTN) provides infrastructure and services for public telecommunication
Telecommunication is the transmission of information by various types of technologies over wire, radio, optical, or other el ...
modems, there are some software-based
DSL modems or even
routers, which work on the same principles but at higher bandwidth and with more complex encoding schemes. One of the first software based DSL modem chipsets was
Motorola
Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent public companies, Motorola ...
'
SoftDSL chipset
The term
WinDSL has been coined to describe this kind of technology.
DSL softmodems generally require the same interfaces as PSTN softmodems, such as
USB or
PCI
PCI may refer to:
Business and economics
* Payment card industry, businesses associated with debit, credit, and other payment cards
** Payment Card Industry Data Security Standard, a set of security requirements for credit card processors
* Prov ...
.
See also
*
Baseband processor
A baseband processor (also known as baseband radio processor, BP, or BBP) is a device (a chip or part of a chip) in a network interface controller that manages all the radio functions (all functions that require an antenna); however, this term i ...
*
Geoport
*
Software-defined radio
Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/ demodulators, detectors, etc.) are instead implemented b ...
(SDR)
*
Winprinter
References
{{Reflist
External links
A review of the differences between software-based modems and hardware-based modemsModems and their chipsets lists
Modems