General Magic has developed software capable of performing a full suite of modem functions in real-time, on general-purpose CPUs. This technology allows licensees to develop products that can be built without separate DSP's or modem chips, thereby reducing overall system cost.
The SoftModem Kits are portable, highly optimized code available for licensing and adaptation. This sheet lists the specifications and requirements for SoftModem development. To date, General Magic has executed the softmodem on both an embedded MIPS platform as well as on an Intel Pentium platform.
Key advantages:
Components as in License 1, plus
For testing and verification of SoftModem, General Magic followed the TSB-38 testing standard which defines a series of TSB-37A line conditions and impairment combinations as line and local-loop models based on US and worldwide telephone surveys. TAS TS837A, PTT 5101, 5102, and 5151A equipment was used for testing.
SoftModem has been tested to meet or exceed all test parameters listed in the Test Parameter Summary, using the specified codec and a suitable DAA, such as the TDK 73M9002 or Xecom XE0055S2. Live outside calls were used for extra testing.
SoftModem 1.0 was originally developed using an embedded MIPS ASIC (36 MHz MIPS R3000 RISC core). This ASIC has a single-cycle 16x16 bit on-chip hardware multiply-accumulate module. Existing MIPS multiply instructions have been enhanced; new multiply and add instructions have been added to the R3000 instruction set (officially approved by MIPS Computer Systems). The core has a 4Kb instruction cache and 1Kb data cache.
CPU |
License 1: Requires 7 MIPS, with single-cycle 16 bit
multiply-accumulate (assuming no cache misses -- this is a
theoretical measure, not real world). License 2 Requires 14 MIPS with single-cycle 16 bit MAC. |
ROM |
150 Kb of RISC object code (approx. 100Kb for CISC; 250Kb for License 2). |
RAM |
64 Kb; less if V.42bis is not used. |
Codec |
License 1: 14-bit samples, 12-bits linearity; 7200 samples per second. Samples passed in 48-sample frames (normally DMA) from codec. Buffer Half/full interrupts or other double-buffering method required. License 2: 16-bit samples, 14 bits linearity; 7200, 8400, 8229, 9000, 9600, and 10237 samples per second. Samples passed in 48-sample frames (normally DMA) from codec. Buffer Half/full interrupts or other double-buffering method required. |
Example system of Softmodem 1.0 - low cost configuration using a MIPS embedded processor:
SoftModem Kit Contents for Initial Evaluation:
Availability:
SoftModem Kit Contents With Full License:
Line types: Flat, TR30-1, TR30-2, TR30-3, TR30-4, TR30-5, TR30-6
For each line type, test parameters randomly varied within ranges specified.
If block error rate is tested, must be better than 1E-3. (corresponds to a bit rate of about 1E-5 or 1E-6, 1000 bit block size)
Fax Modes: Send, Receive
Data Modes: Send, Receive, with full Automoding
Test Parameter |
Range |
Units | |
---|---|---|---|
Receive level |
-9 |
-43 |
dBm |
1-way delay |
0 |
0.4 |
s |
Frequency offset |
-10 |
10 |
Hz |
Phase jitter magnitude |
0 |
10 |
pk-pk ° |
Phase jitter frequency |
20 |
120 |
Hz |
Far-end echo attenuation |
6 |
18 |
dB |
Near-end echo attenuation |
6 |
18 |
dB |
SNR (3 kHz) |
13 |
35 |
dB |
Modulation Thresholds @ -25 dBm receive level, flat line
14,400bps |
>= 23.8 dB SNR |
12,000 bps |
> 20.8 dB |
9,600 bps |
> 17.8 dB |
7,200 bps |
> 14.8 dB |
4,800 bps |
> 11.8 dB |
SoftModem 2.0: 28,800 bps |
> 30 dB SNR (estimated) |
Connect Times Max., after dialing and PSTN connection completed
V.21 |
0 seconds |
V.22 |
6 seconds (2 seconds if V.25 disabled) |
V.22bis |
6 seconds (2 seconds if V.25 disabled) |
V.32bis |
10 seconds |
V.34 |
7 seconds |