Abstract:
A device reconfigurable to support communication using different communication technologies is provided. The device includes, but is not limited to, a plurality of communication processing modules and a switching interface. The switching interface couples to the plurality of communication processing modules. An instruction set is written into the device to select one or more communication processing module of the plurality of communication processing modules to connect using the switching interface. One or more of the communication processing modules may be programmable. The instruction set may include programmable parameters and/or programming instructions for the one or more programmable communication processing modules. As a result, the device is reprogrammable and reconfigurable to process different communication signals while utilizing less power than conventional designs.

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to communications, to signal processing, and to integrated circuits. More specifically, the invention relates to an integrated circuit architecture for implementing a low power, programmable modem for use in software defined radio applications. 
     BACKGROUND 
     In general, a modem is a device that both modulates and demodulates signals communicated across a wired or a wireless network, and thus, provides an interface for the communication of data over the network. A variety of different waveforms may be transmitted wirelessly using a number of different digital codes, signal processing methods, frequencies, etc. to achieve communication through noisy and error prone channels. Traditionally, the military has used dedicated radio systems that have a radio for each specific application such as VHF, UHF, and HF. More recently, the military has been pursuing software defined radios that include hardware that can be reprogrammed to process different waveforms. 
     In the past, very low power, efficient modems were fabricated of dedicated, and thus, non-programmable, hardware in combination with a very low power digital signal processor (DSP). Such hardware implementations are cost-effective and low power, but do not meet the current reprogrammable requirements. Currently, reprogrammable modems are implemented using either a very large field programmable gate array (FPGA) or a custom application specific integrated circuit (ASIC). FPGAs avoid the high initial engineering design costs of ASICs, but lack in performance and in efficiency. In general, modems implemented using FPGAs require in the range of 14-19 watts of power when implementing a modern communications waveform such as orthogonal frequency division multiplexing or turbo coding. This power utilization by the FPGA and the corresponding heat dissipation requirement is unacceptable in battery powered applications and in passively cooled environments. What is needed, therefore, is a programmable modem having much lower power utilization, for example, on the order of 2-3 watts. What is further needed is a programmable modem that can be reconfigured to support different communication technologies and resulting waveforms. 
     SUMMARY 
     A particular example of the invention provides a device that achieves the efficiency of dedicated hardware without compromising the ability to be reprogrammed and reconfigured. An exemplary embodiment of the invention relates to a modem that is reconfigurable to support communication using different communication technologies. The modem includes, but is not limited to, a plurality of communication processing modules and a switching interface. The switching interface couples to the plurality of communication processing modules. An instruction set is written into the modem to select one or more communication processing modules of the plurality of communication processing modules to connect using the switching interface. One or more of the communication processing modules may be programmable. The instruction set may include programmable parameters and/or programming instructions for the one or more programmable communication processing modules. As a result, the modem is reprogrammable and reconfigurable to process different communication signals while utilizing less power than conventional designs. 
     Other exemplary embodiments of the invention include a communication node utilizing the modem, one or more computer-readable media having computer-readable instructions stored thereon that, upon execution by a processor, cause the processor to define a modem configuration to support processing of a communication signal or to implement a modem configuration, and a method of implementing a modem reconfigurable to support communication using different communication technologies. 
     Other principal features and advantages of the invention will become apparent to those skilled in the art upon review of the following drawings, the detailed description, and the appended claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The preferred embodiments will hereafter be described with reference to the accompanying drawings, wherein like numerals will denote like elements. 
         FIG. 1  is a block diagram of a communication node in accordance with an exemplary embodiment. 
         FIG. 2  is a block diagram of a modem in accordance with an exemplary embodiment. 
         FIG. 3  is device for defining a modem configuration in accordance with an exemplary embodiment. 
         FIG. 4  is a block diagram of a process for implementing the modem configuration of  FIG. 3  in accordance with an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     With reference to  FIG. 1 , a communication node  20  in accordance with an exemplary embodiment is shown. Communication node  20  includes, but is not limited to, a transceiver antenna  22 , an analog RF/IF filter  24 , an analog-to-digital converter/digital-to-analog converter (ADC/DAC)  26 , a modem  28 , and a processor  30 . Communication node  20  may provide communication capabilities across the entire communication spectrum or across only a portion of the spectrum. In operation, a signal is received by transceiver antenna  22 , filtered from a transmission radio frequency (RF) to an intermediate frequency (IF) by the analog RF/IF filter  24 , converted from an analog signal to a digital signal by ADC/DAC  26 , and demodulated by modem  28  thereby forming data for input to processor  30 . Similarly, in a reverse procedure, a signal from the processor  30  is modulated by the modem  28 , converted from a digital signal to an analog signal by the ADC/DAC  26 , filtered from IF to RF by the analog RF/IF filter  24 , and transmitted by the transceiver antenna  22 . In an alternative embodiment, the signal transmitted/received is digital and no ADC/DAC  26  is included. In another alternative embodiment, the communication node  20  may include separate transmit and receive channels. Additional components may be utilized by the communication node  20 . For example, the communication node  20  includes one or more power source that may be a battery. 
     With reference to the exemplary embodiment of  FIG. 2 , the modem  28  includes a plurality of communication processing modules  40  and a switching interface  50 . The communication processing modules  40  are power efficient integrated circuits that implement a signal processing function utilized in the processing of a communication signal. Some or all of the communication processing modules  40  may be implemented with configuration switches designed into them. As a result, the communication processing modules  40  can be adapted through reprogramming to perform variations within their function type. In general, some or all of the communication processing modules  40  are implemented as digital ASICs arranged in an array. Preferably, the digital ASICs are implemented using highly power optimized custom ASIC technologies. Using power optimized custom ASIC technologies instead of FPGA technologies results in less power consumption. For improved performance, particularly relative to power consumption, the plurality of communication processing modules  40  may be implemented on the same die. Additionally, all of the communication processing modules  40  are not used simultaneously in each possible modem configuration. As a result, each communication processing module preferably includes a power down feature to deactivate those modules not used in a specific modem configuration. As a result, the modem  28  preferably can be designed to use in the range of 2-3 watts of power, though, the design in not limited by this range. 
     Example communication processing modules  40  include a decimator  40   a , a numerically controlled oscillator  40   b , a digital filter  40   c , a fast Fourier transform (FFT)  40   d , a clock recovery module  40   e , a simple AM/FM modulator  40   f , a synchronization correlator  40   g , a threshold detector  40   h , a data correlator  40   i , a complex AM/FM demodulator  40   j , a Viterbi coding module  40   k , a turbo coding module  40   l , and a Reed-Solomon coding module  40   m . More than one of any or of all of the communication processing modules  40   a - 40   m  may be included in the modem  28 . The array of communication processing modules  40  may be arranged in an optimum way to minimize the communication distance between elements that are commonly connected through the switching interface  50 . Additionally, communication processing modules  40  that perform the same or similar functions may be organized together. Other signal processing functions not specifically mentioned herein and/or not yet invented may be used without departing from the scope of the invention. 
     The switching interface  50  provides connectivity between the communication processing modules  40 . The switching interface  50 , for example, may be implemented as a switching fabric that is a collection of switching elements or switches and links. Each switching element contains a minimum of three input/output ports in any combination with at least one input port and one output port. Each switching element also has the ability to dynamically establish arbitrary connections between inputs and outputs under the control of a routing mechanism. The pattern of connections formed by links and switches defines the topology of the fabric. The switching fabric may contain many different switches and redundant paths throughout the fabric, such that a plurality of signals can be traveling through the switching fabric at any given time. The switched fabric configuration may contain a plurality of channel adapters such that the various communication processing modules  40  can continue operating while their signals are traveling through the switching fabric. 
     Practical implementations using switching fabrics favor modularity. Thus, the switching elements may have equal numbers of inputs and outputs so that the fabrics exhibit regular geometric (mathematically definable) topologies and multiple fabrics in an interconnect can be identical. Thus, relative to improved performance, the switching elements may have a cross bar construction in which all outputs can be simultaneously connected to different inputs providing a homogeneous communication architecture. A high speed time division multiple access fabric that is multi-level security capable and redundant with fault tolerance is used in an exemplary embodiment. Other switching interface technologies not specifically mentioned herein and/or not yet invented may be used without departing from the scope of the invention. 
     The communication processing modules  40  may be high level logical and arithmetic primitives that are arranged and interconnected to form complex signal processing algorithms. The specific arrangement and interconnection of the communication processing modules  40  defines a modem configuration for processing a communication signal of the communication node  20 . Some or all of the communication processing modules  40  may be programmable by allowing selection of programming parameters that define operating characteristics of the module. Additionally, some or all of the communication processing modules  40  may be programmable by allowing definition of programming instructions that define more complex operating characteristics of the module. As examples, the digital filter  40   c  may be programmed with a number of taps, feedback coefficients, a cutoff frequency, a clock rate, etc. The numerically controlled oscillator  40   b  may be programmed with a clock rate, an accumulation feedback quantity, an output phase, a resolution, etc. The numerically controlled oscillator  40   b  may be programmed with a clock rate, an accumulation feedback quantity, an output phase, a resolution, etc. The Viterbi coding module  40   k  may be programmed with a polynomial, a constraint length, a history length, etc. The decimator  40   a  may be programmed with a sample rate, a decimation quantity, a digital quantization length, etc. The FFT  40   d  may be programmed with a number of points, a conversion rate, a digital quantization factor, etc. The clock recovery module  40   e  may be programmed with a modulation type, a symbol rate, soft decision parameters, etc. The data correlator  40   i  may be programmed with a correlation pattern, a correlation data mask, a sample rate, etc. The threshold detector  40   h  may be programmed with a threshold level, a bit weighting, a soft decision criteria, etc. The turbo coding module  40   l  may be programmed with both polynomials, interleaver dimensions, etc. The Reed-Solomon coding module  40   m  may be programmed with a Galois field, a BCH block size, etc. 
     Some or all of the communication processing modules  40  may include a memory for storing data including any programming parameters and instructions. The memory is designed to be embedded in the components to receive modem-specific and module-specific data. The memory preferably is resident and may include blocks for module designation data, programming parameters, programming instructions, input and output port usage, etc. The memory may also include dedicated blocks for output data. The memory may be initially programmed and subsequently reprogrammed as the modem configuration is modified or designations change. 
     The communication processing modules  40   a - 40   m  are not intended to include an exhaustive list of all of the possible signal processing functions that may be implemented in the modem  28 . For example, the Viterbi coding module  40   k , the turbo coding module  40   l , and the Reed-Solomon coding module  40   m  are all channel coding modules often used in digital communication systems to protect the digital information from noise and interference and to reduce the number of bit errors. Additional coding modules that may be implemented in the modem  20  include a Hamming coding module, a Golay coding module, a BCH coding module, a trellis coded modulation coding module, a low density parity check, etc. Similarly, other modulators and demodulators may be included in the modem  20  including amplitude shift keying, frequency shift keying, and phase shift keying modulators and demodulators. One or more digital signal processor also may be included as communication processing modules  40 . Inclusion of a digital signal processor in the modem  28  further reduces the power requirements of the modem  28  because one set of digital bus drivers is eliminated. Thus, the communication processing modules  40   a - 40   m  are included for purposes of example and not limitation. 
     Referring to  FIG. 3 , a device  60  for defining a modem configuration for the modem  28  is shown in accordance with an exemplary embodiment. The term “device” should be understood to include, without limitation, personal digital assistants, computers of all form factors, etc. The communication node  20  may be incorporated into the device  60  or may be separate from the device  60 . The device  60  includes a display  62 , an input interface  64 , a memory  66 , a processor  68 , a modem design application  70 , and an instruction set  72 . 
     The display  62  presents information to the user of the device  60  including, but not limited to, information from the modem design application  70 . The display may be a thin film transistor display, a light emitting diode display, a liquid crystal display, a cathode ray tube display, etc. 
     The input interface  64  provides an interface for receiving information from the user for entry into the device  60 . The input interface  64  may use various input technologies including, but not limited to, a keyboard, a pen and touch screen, a mouse, a track ball, a touch screen, a keypad, one or more buttons, etc. to allow the user to enter information into the device  60  or to make selections from the device  60 . 
     The memory  66  provides an electronic holding place for an operating system of the device  60 , the modem design application  70 , the one or more instruction set  72 , and/or other applications. The device  60  may have one or more memory  66  that use the same or different memory technologies as known to those skilled in the art or to be developed including random access memory, read only memory, flash memory, etc. 
     The processor  68  executes instructions that cause the device  60  to perform various functions. The instructions may be written using one or more programming language, scripting language, assembly language; etc. Additionally, the instructions may be carried out by a special purpose computer, logic circuits, or hardware circuits. Thus, the processor  68  may be implemented in hardware, firmware, software, or any combination of these methods. The processor  68  executes an application meaning that it performs the operations called for by that application in the form of a series of instructions. The processor  68  retrieves an application from the memory  66 . The processor  68  executes the instructions embodied in the modem design application  70 . The processor  68  may be the same as the processor  30 . The device  60  may have one or more processor  68 . 
     Using the modem design application  70 , a user may define a modem configuration for processing a communication signal at the communication node  20 . The communication signal may be any waveform for use in transmitting and/or in receiving information from a device. The modem design application  70  may be implemented as an organized set of instructions that, when executed, allow the user to select and to arrange communication processing modules  40 . The instructions may be written using one or more programming language, assembly language, scripting language, etc. The modem design application  70  may be implemented to allow the user to select and to arrange communication processing modules  40  on a palette graphically and to define programmable parameters for each selected communication processing module. In doing so, the user also defines one or more transmission path from the switching interface  50  that interconnects the selected communication processing modules appropriately. Alternatively, the user may specify the desired connectivity, and the one or more transmission path may be selected automatically based on the desired connectivity using algorithms of the modem design application  70 . The transmission path may be implemented dynamically in a specific modem configuration allowing it to be redefined by a higher level software application that controls use of the modem  28  in multiple ways, for example, within a time division multiplex structure. 
     The output of the modem design application  70  is the instruction set  72  that defines the modem configuration through the selected communication processing modules, the selected transmission path of the switching interface  50 , and/or the selected programming parameters and/or instructions of the selected communication processing modules. One or more instruction set  72  may be stored in the memory  66 . Alternatively, the instruction set may be stored in another device in communication with device  60  including the communication node  20 . In another alternative, the instruction set may be stored in a removable memory media. The one or more instruction set  72  may be stored in a database as known to those skilled in the art. The instruction set  72  may be a file or a data set that includes a sequence of data items and/or instructions for configuring the modem  28 . The instruction set  72  may be stored in the form of a binary file or a text file. The text file, for example, may include text based on a scripting language, an assembly language, a markup language, etc. or some combination of these in addition to data parameters all saved in a variety of formats as known to those skilled in the art. 
     With reference to  FIG. 4 , a block diagram of a process for implementing the modem configuration defined using the modem design application  70  is shown in an exemplary embodiment. The process is executed under program control in software running on the processor  30  of the communication node  20 . The processor  30  may be the processor  68  of the device  60  if communication node  20  is implemented as part of the device  60 . In an alternative embodiment, the processor  30  is in communication with the modem  28  through a wired or a wireless connection. An instruction set  72   a  is selected from one or more instruction set  72  accessible by the communication node  20 , for example, through a memory media or a network connection. The processor  30  writes the selected instruction set  72   a  into the modem  28  to define a modem configuration  28   a . The modem configuration  28   a  includes selected communication processing modules  80  (shown with cross hatching) and a selected transmission path  82  (shown in dashed lines) that define the modem configuration  28   a . The write process is similar to other “write a memory” type initialization processes. The modem design application  70  determines what information, including data values, instructions, and switch positions, is needed to implement the modem  28   a  using memories and data registers of the communication processing modules  40  based on user selections and definitions and on knowledge of the modem die structure. The modem design application  70  stores the information into the instruction set  72  that is “written” into the modem die much like information is written into a block of memory as known to those skilled in the art. 
     Reconfiguration of the modem  28  is accomplished by writing a new instruction set into the modem  28 . The new instruction set may be different in the selected communication processing modules, the selected transmission path, and/or in the selected programming parameters/instructions. Writing the new instruction set allows the communication node  20  to process different waveforms. 
     The foregoing description of exemplary embodiments of the invention have been presented for purposes of illustration and of description. For example, the modem can be used in either wired or wireless communication systems. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments (which can be practiced separately or in combination) were chosen and described in order to explain the principles of the invention and as practical applications of the invention to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.