# Patent

## Title
OFDM transmission and reception for non-OFDM signals

## Abstract

Methods and apparatuses for Orthogonal Frequency-Division Multiplexing (OFDM) communication of non-OFDM radio signals are disclosed. The non-OFDM radio signals are force-modulated into OFDM signals. In one example, a non-OFDM signal is received and is processed into an OFDM signal to produce a created OFDM signal. An actual OFDM signal is also received and is processed together with the created OFDM signal.

## Background
RELATED APPLICATIONS
This Application is a Continuation of and claims benefit from U.S. patent application Ser. No. 14/256,709 that was filed Apr. 18, 2014, and that is a Continuation of U.S. patent application Ser. No. 13/153,801 (U.S. Pat. No. 8,718,211), filed Jun. 6, 2011 (issued May 6, 2014), and that is a Continuation U.S. patent application Ser. No. 11/899,248 (U.S. Pat. No. 7,970,085), filed Sep. 5, 2007 (Issued Jun. 28, 2011), and that claims priority from U.S. Provisional Patent Application No. 60/928,114; filed May 8, 2007, each of which is incorporated herein by reference in its entirety.


BACKGROUND
Numerous current and most emerging wireless technologies are based on Orthogonal Frequency-Division Multiplexing (OFDM) where the transmitter uses an Inverse Fast Fourier Transform (IFFT) and the receiver uses Fast Fourier Transform (FFT)—both in baseband. When implemented in a Software Defined Radio (SDR), non-OFDM based schemes require a separate software module running in parallel to OFDM based schemes when simultaneous radio transmission is desired. This can cause a performance problem and increased complexity in signaling between the operating system (OS) and the hardware (HW).
SUMMARY OF INVENTION
The present invention relates to methods and apparatuses for OFDM communication of non-OFDM radio signals. To increase the effectiveness of wireless communication, and therefore the utility, of mobile devices that communicate wirelessly, wireless devices may include processors and methods to allow non-OFDM signals to be processed in software configured to process OFDM signals. In this regard, the non-OFDM radio signals are force-modulated into OFDM signals and processed along with the actual OFDM.
In one embodiment, a method of operating a computing device to accommodate non-OFDM signals is disclosed. The method includes receiving a non-OFDM signal; processing the non-OFDM signal into a created OFDM signal; and processing the created OFDM signal.
In another embodiment, a method of operating a computing device to accommodate non-OFDM signals is disclosed. The method includes receiving anon-OFDM signal; processing the non-OFDM signal into an OFDM signal to produce a created OFDM signal; receiving an actual OFDM signal; and processing the actual OFDM signal with the created OFDM signal.
In still another embodiment, an apparatus for operating a computing device to accommodate non-OFDM signals is provided. The apparatus includes a first receive circuit configurable to receive a non-OFDM signal and a first processor configurable to process the non-OFDM signal to produce a created OFDM signal. A second receive circuit is configurable to receive an OFDM signal and a second processor is configurable to process the actual OFDM, signal together with the created OFDM signal and to execute an FFT on the signals.
The foregoing is a non-limiting summary of the invention, which is defined by the attached claims:



BRIEF DESCRIPTION OF DRAWINGS
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
FIG. 1 is a graphical representation of a subdivision of the channel bandwidth into narrowband sub-channels of equal width;
FIG. 2 is a block diagram of a multi carrier OFDM digital communication system;
FIG. 3 is a flowchart of an illustrative process in accordance with embodiments of the invention;
FIG. 4 is a diagram of an illustrative computer system environment in which embodiments of the invention may be implemented; and
FIG. 5 is an exemplary computing device that may be used in accordance with embodiments of the invention.



DETAILED DESCRIPTION
This disclosure addresses the need in prior art systems for separate software modules running in parallel to handle both non-OFDM based schemes and OFDM based schemes when simultaneous radio transmission is desired. In one aspect, this problem is addressed by force-modulating non-OFDM signals into OFDM signals. The non-OFDM signal is received and is processed to produce a created OFDM signal. An actual OFDM signal is also received and is processed together with the created OFDM signal. In this it manner, non-OFDM signals to be processed in software configured to process OFDM signals, it should be appreciated that the present invention is not limited to single access OFDM and that multiple access OFDMA may be employed.
By way of example, if a user is using a Bluetooth headset, together with browsing the Internet (e.g., on MSN) using a wireless connection, the headset is communicating wirelessly with the computer and the computer is communicating wirelessly to the Internet connection. Using Software Defined Radio (SDR), both Bluetooth modulation and the connection to the Internet can be employed. However, the Bluetooth communication employs non-OFDM transmission whereas the wireless connection to the Internet employs OFDM transmission. Accommodating for this mixed-signal is more complex with more signaling between the different radios as compared to a single-type signal between radios. The inventors have appreciated that if the non-OFDM signal (e.g., Bluetooth signal) is transformed into an OFDM or OFDM-like signal, then just one module and/or one executable file to handle the signals need be employed. Using suitable FFT and IFFT algorithms for the signals, different radios are not required.
Data is typically transmitted at high speed and is sent through a serial to parallel converter. The data is transferred from serial to a 52 parallel stream. By way of example, if data is transmitted at 52 megabit per second, each stream would be 1 megabit per second. The 52 streams are then processed via an IFFT algorithm. The signal may then be transformed from parallel to serial again and transmitted over the channel. At the receiver, the inverse operation is performed, namely the data is sent through an FFT algorithm.
Continuing with this example, at this point, the bandwidth that is available is effectively chopped into sub-channels. For example, a 20 MHz channel transmitting into 52 sub-channels, results in each channel being about 300 KHz.
According to an aspect of this invention, the SDR controller (the control channel) decides how to transmit an OFDM signal as follows. The Operating System (OS) knows that it must transmit two different wireless protocols, e.g., both WiFi and Bluetooth. That is, there is a request for transmitting in one wireless mode (e.g., WiFi) and there is another request for transmitting in another wireless mode (e.g., Bluetooth). In this case, the OS recognizes that the OFDM operation has come over 52 sub-channels and each sub-channel is equivalent to approximately 300 KHz. This information is captured by the controller of the SDR and is fed to a module that indicates transmitting the non-OFDM signal (e.g., the Bluetooth signal). The system then makes sure that the Bluetooth connection is channelized to 300 KHz. In this regard, the Bluetooth is about 1 MHz of bandwidth so data is transmitted over the Bluetooth channel and each channel is a continuous 1 MHz. With regard to the OFDM signal (e.g., the WiFi signal), the signal is transmitted over 52 sub-channels and each sub-channel is approximately 380+ KHz wide (i.e., 20 MHz divided by 52 sub-channels). In this case, the Bluetooth stream is transmitting at a certain data rate of about 1 MHz, which will require approximately 3 sub-channels. That is, the stream is split it into three sub-channels. Thus, with the OFDM signal (e.g., WiFi being transmitted over 52 sub-channels (serial to 52 parallel streams) and the non-OFDM signal (e.g., Bluetooth) being transmitted over 3 sub-channels, a total of 55 sub-channels exist.
An IFFT of the 55 sub-channels is then performed. On the receiver side, the WiFi receiver is performing 52 sub-channel FFTs and the Bluetooth receiver is performing 3 sub-channel FFTs. In this manner, the same executable module of the SDR is employed. The same hardware is available for use and the complexity of transmitting simultaneous radio is much less in this case than transmission of Bluetooth and WiFi separately.
Thus, a signal that is otherwise non-OFDM (e.g., Bluetooth) is made to appear as though it is OFDM, which can then be processed along with the OFDM signals.
If implemented in software, the signals are software combined and is processed in the same module.
It should be appreciated that the present invention is not limited to transmitting Bluetooth and WiFi; rather the invention contemplates OFDM transmission and reception of non-OFDM signals and OFDM signals. Similarly, the sub-channels available are not limited to the example provided. Rather, the maximum number of sub-channels is limited by the processor speed.
A further example is discussed below.
In one embodiment, Wi-Fi 802.11n and Bluetooth 2.1 are embedded in a laptop using SDR. That is, there is a single RF front end that is used for both communication protocols while the baseband and MAC protocol are implemented in software.
The Wi-Fi PHY implements an OFDM modulation scheme as described in co-pending U.S. patent application Ser. No. 11/637,449, titled “Cognitive Multi-User OFDMA”, filed Dec. 12, 2006 and Ser. No. 11/635,869, titled “System Capability Discovery for Software Defined Radio”, filed Dec. 8, 2006, each of which is assigned to the assignee of the present application and each of which is hereby incorporated herein by reference in its entirety. The Bluetooth device implements a form of GFSK modulation. But the Bluetooth can still be communicated in an OFDM based framework.
In OFDM the available channel bandwidth W is subdivided into a number of equal-bandwidths called sub-channels, where the bandwidth of each sub-channel is sufficiently narrow so that the frequency response characteristics of the sub-channels are nearly ideal. Such a subdivision of the overall bandwidth into smaller sub-channels is illustrated in FIG. 1. Thus, K=W/Δf sub-channels is created, where different information symbols can be transmitted simultaneously in the K sub-channels. With each sub-channel, a carrier is associated as follows:

xk(t)=sin 2πfkt, k=0,1, . . . , K−1  [1]

where fk is the mid-frequency in the kth sub-channel.
By selecting the symbol rate 1/T on each of the sub-channels to be equal to the separation Δf of adjacent subcarriers, the subcarriers are orthogonal over the symbol interval T, independent of the relative phase relationship between sub carriers; i.e.,




  
    
      
        
          
            ∫
            0
            T
          
          ⁢
          
            
              sin
              ⁡
              
                (
                
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    
                      f
                      k
                    
                    ⁢
                    t
                  
                  +
                  
                    φ
                    k
                  
                
                )
              
            
            ⁢
            
              sin
              ⁡
              
                (
                
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    
                      f
                      j
                    
                    ⁢
                    t
                  
                  +
                  
                    φ
                    j
                  
                
                )
              
            
            ⁢
            
              
            
            ⁢
            dt
          
        
        =
        0
      
    
    
      
        [
        2
        ]
      
    
  




where fk−n/T, n=1, 2, . . . , independent of the values of the phases φk and φj.
With an OFDM system having K sub-channels, the symbol rate on each sub carrier is reduced by a factor of N relative to the symbol rate on a single carrier system that employs the entire bandwidth W and transmits data at the same rate as OFDM, Hence, the symbol interval in the OFDM system is T=KTs, where Ts is the symbol interval in the single-carrier system.
It should be appreciated that the present invention is not limited to dividing the channel into a sub-channels of a certain width. Instead, the channel may be divided into sub-channels of narrower width than that described here. In this manner, the non-OFDM signal may determine how finely to divide the channels into appropriately sized sub-channels
The modulator and demodulator in an OFDM system are efficiently implemented by use of the FFT algorithm to compute the DFT/IDFT. The basic block diagram of the OFDM is illustrated in FIG. 2. At block 20, a serial-to-parallel buffer subdivides the information sequence into frames of Bf bits. The Bf bits in each frame are parsed into K groups, where the i th group is assigned bi bits.
Hence,




  
    
      
        
          
            ∑
            
              i
              =
              1
            
            K
          
          ⁢
          
            
          
          ⁢
          
            b
            i
          
        
        =
        
          B
          f
        
      
    
    
      
        [
        3
        ]
      
    
  




A multi-carrier modulator, as illustrated at block 22, may be viewed as generating K independent QAM sub-channels, where the symbol rate for each sub-channel is UT and the signal in each sub-channel has a distinct QAM constellation. Hence, the number of signal points for the i−th sub-channel is Mi=2bc. At block 24 a cyclic prefix is added to reduce the effect of intersymbol interference from neighboring symbols. Then the parallel sequence is multiplexed back into a serial stream of bits, and inputted to a digital to analog converter (D/A) at block 26 that renders the digital symbols into analogue before up converting to the RF frequency of interest and radiating with an antenna.
The receive side is the reciprocal of transmission. The receive RIF signal is intercepted by an antenna shown at 28, down converted in frequency before it is digitized by an analogue to digital converter (A/D) at block 30, multiplex from a serial stream to a parallel stream. At block 32 the prefix added in transmission is removed. FFT is preformed, at block 34, on the parallel sequence. This followed by a detector at block 36, to decide on the bits, which is then input to a parallel to serial multiplexer, at block 38.
The complex-valued signal points corresponding the information signals on the K sub-channels may be denoted by Xk, k=0, 1, . . . , K−1. These information symbols {Xk} represent the values of the discrete Fourier transform (DFT) of a multi-carrier OFDM signal x(t), where the modulation on each subcarrier is QAM. Since x(t) must be a real-valued signal, its N-point DFT {Xk} must satisfy the symmetry property XN-k=X*k. Therefore, we create N=2K symbols from K information symbols by defining:

XN-K=X*K, k=1,2, . . . , K−1

X′0=Re(X0)

XN=Im(X0)  [4]

Note that the information symbol X0 is split into two parts, both of which are real. If the new sequence of symbols is denoted as (X′k, k=0, 1, . . . , N−1) the N-point inverse DFT (IDFT) yields the real-valued sequence:




  
    
      
        
          
            x
            n
          
          =
          
            
              
                1
                
                  N
                
              
              ⁢
              
                
                  ∑
                  
                    k
                    =
                    0
                  
                  
                    N
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    X
                    k
                    ′
                  
                  ⁢
                  
                    exp
                    ⁡
                    
                      (
                      
                        j2π
                        ⁢
                        
                          
                        
                        ⁢
                        
                          nk
                          /
                          N
                        
                      
                      )
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  n
                
              
            
            =
            0
          
        
        ,
        1
        ,
        ...
        ⁢
        
          
        
        ,
        
          N
          -
          1
        
      
    
    
      
        [
        5
        ]
      
    
  




where 1/√{square root over (N)} is simply a scale factor.
This sequence {Xn, 0≦n≦N−1} corresponds to samples of the multicarrier OFDM signal x(t), consisting of K subcarriers,
Continuing with this example, at this point, the OFDM has as an input {Xn, 0≦n≦N−1} and an output {Xn, 0≦n≦N−1}.
Regarding the Bluetooth modulation, the USK signal, which is the typical modulation protocol employed with Bluetooth, can be represented by

s(t,α)=A cos(2πfct+φ(t,α)),   [6]

where




  A
  =
  
    
      
        2
        ⁢
        
          
        
        ⁢
        
          E
          b
        
      
      T
    
  




Eb is the energy per data bit;
fc is the carrier frequency;
α is the random input stream having data bits αi;
φ(t, α) is the output phase deviation, given by




  
    
      
        
          φ
          ⁡
          
            (
            
              t
              ,
              α
            
            )
          
        
        =
        
          2
          ⁢
          π
          ⁢
          
            
          
          ⁢
          
            h
            f
          
          ⁢
          
            
              ∫
              
                -
                ∞
              
              t
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  
                    -
                    ∞
                  
                
                n
              
              ⁢
              
                
              
              ⁢
              
                
                  α
                  i
                
                ⁢
                
                  g
                  ⁡
                  
                    (
                    
                      τ
                      -
                      iT
                    
                    )
                  
                
                ⁢
                
                  
                
                ⁢
                d
                ⁢
                
                  
                
                ⁢
                
                  τ
                  .
                
              
            
          
        
      
    
    
      
        [
        7
        ]
      
    
  




In GFSK, a single bit is transmitted over multiple symbols. This may be accomplished by using a pulse shaping filter with impulse response g(t) given by




  
    
      
        
          g
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            1
            
              2
              ⁢
              
                
              
              ⁢
              T
            
          
          [
          
            
              
                Q
                ⁡
                
                  (
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    
                      B
                      b
                    
                    ⁢
                    
                      
                        t
                        -
                        
                          T
                          2
                        
                      
                      
                        
                          ln
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  )
                
              
              -
              
                Q
                ⁡
                
                  (
                  
                    2
                    ⁢
                    π
                    ⁢
                    
                      
                    
                    ⁢
                    
                      B
                      b
                    
                    ⁢
                    
                      
                        t
                        +
                        
                          T
                          2
                        
                      
                      
                        
                          ln
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  )
                
              
            
            ,
          
        
      
    
    
      
        [
        8
        ]
      
    
  




where Q(t) is the standard Q-function




  
    Q
    ⁡
    
      (
      t
      )
    
  
  =
  
    
      ∫
      t
      ∞
    
    ⁢
    
      
        1
        
          
            2
            ⁢
            π
          
        
      
      ⁢
      
        e
        
          -
          
            
              τ
              2
            
            2
          
        
      
      ⁢
      
        
      
      ⁢
      d
      ⁢
      
        
      
      ⁢
      
        τ
        .
      
    
  




By introducing controlled intersymbol interference, the spectral occupancy of the signal is substantially reduced.
Rewriting the above equation [7], then




  
    
      
        
          
            φ
            ⁡
            
              (
              
                t
                ,
                α
              
              )
            
          
          =
          
            
              2
              ⁢
              π
              ⁢
              
                
              
              ⁢
              
                h
                f
              
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    
                      n
                      -
                      L
                      +
                      1
                    
                  
                  n
                
                ⁢
                
                  
                
                ⁢
                
                  
                    α
                    i
                  
                  ⁢
                  
                    q
                    ⁡
                    
                      (
                      
                        t
                        -
                        iT
                      
                      )
                    
                  
                
              
            
            +
            
              π
              ⁢
              
                
              
              ⁢
              
                h
                f
              
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    
                      -
                      ∞
                    
                  
                  
                    n
                    -
                    L
                  
                
                ⁢
                
                  
                
                ⁢
                
                  α
                  i
                
              
            
          
        
        ,
      
    
    
      
        [
        9
        ]
      
    
  




where L s the length of g(t), and




  
    q
    ⁡
    
      (
      t
      )
    
  
  =
  
    
      ∫
      
        -
        ∞
      
      t
    
    ⁢
    
      
        g
        ⁡
        
          (
          τ
          )
        
      
      ⁢
      
        
      
      ⁢
      d
      ⁢
      
        
      
      ⁢
      
        τ
        .
      
    
  




For Bluetooth with BbT=0.5, L=2, which means that a single data bit is spread over two consecutive symbol intervals.
Bluetooth uses 1 MHz channelization. If an SDR is used that includes 802.11a/g/n, the sub-channels are  ̃384 KHz. Therefore, three sub-channels would be sufficient to cover each Bluetooth transmission/reception. In this manner, the OFDM based cognitive radio is employed for OFDM based schemes and non-OFDM based schemes. Any loss in the non-matched filter is likely to be small.
The Bluetooth signal is multiplexed in software into three separate streams, each with 1⁄3rd the data rate. These streams are then input to the same OFDM modulator used to transmit the 802.11n signal.
FIG. 3 is an illustrative flowchart of one embodiment for transmitting data. At block 60, the bandwidth needed is represented by W. At block 62, a decision is made whether the bandwidth needed, W, is greater than the bandwidth of a sub-channel Δf. If W>Δf, then the process proceeds to block 64, where the bandwidth is partitioned into K sub-channels, where K=W/Δf. At block 66, OFDM processing is performed with K number of sub-channels. At block 68, the signal is transmitted.
If the bandwidth W is not divided evenly and extra bandwidth remains that cannot take up an entire sub-channel, then, in one embodiment, the remaining bandwidth can be assumed to be a power loss. In another embodiment, the bandwidth can be divided so that the sub-channels exceed the bandwidth. In this case, the extra sub-channel can be considered noise. In yet another embodiment, as described in block 70, the sub-channel can be divided into further sub-channels such that a new Δf provided. In this manner, on the one hand, power loss is limited and on the other hand noise is limited, in the example shown, the sub-channels are divided in half, however, it should be appreciated that the sub-channels can be divided into thirds, fourths, fifths, sixths or any other divisor, as the present invention is not limited in this respect. The process then continues at block 72 with the new parameters. Without being limited to theory, as a general rule, if either a power loss or noise (that is, the remaining bandwidth) is limited to less than about 5% to 10%, then dividing the sub-channels into further sub-channels may not be necessary.
Referring again to block 66, the signals may be processed using, for example, an FFT. In one embodiment, the FFT is programmed to process each of the sub-channels for the OFDM signals. This same FFT is used to process the non-OFDM signals, however because the FFT is programmed to process the larger number of total sub-channels for the OFDM signals, when it is time to process the non-OFDM signals, some of the sub-channels are zeroed out. For example, suppose the FFT is programmed to process 52 sub-channels for the OFDM signal, then this same FFT will attempt to process 52 sub-channels for the non-OFDM signals but there may only be 3 sub-channels having signal data. Accordingly, in one embodiment, the remaining 49 sub-channels are set to zero.
In another embodiment, the FFT can be programmed to process three sub-channels, rather than the 52 sub-channels. In this example, the non-OFDM signals are efficiently processed and no zeroing occurs, but then each set of three remaining sub-channels for the OFDM signals will be processed separately, thereby requiring many more routines of the FFT.
The aspects of the present invention described herein can be implemented on any of numerous computer system configurations and are not limited to any particular type of configuration, FIG. 4 illustrates one example of a computer system on which aspects of the invention can be implemented, although others are possible.
The computer system of FIG. 4 includes communication network 100, wireless access point 102, one or more wireless computing devices 106 configured to transmit and receive OFDM signals with the wireless access point 102, one or more wireless devices 108 configured to transmit and receive non-OFDM signals with the one or more wireless computing devices 106, and wired computing devices 114 and 116. Communication network 100 can be any suitable communication medium or media for exchanging data between two or more computers (e.g., a server and a client), including the Internet. The wireless client devices can be any suitable computing device with wireless communication capabilities. Several exemplary mobile computing devices can be employed, including a laptop, a personal digital assistant, and a smart phone. While FIG. 4 includes communication network 100 with wired devices 114 and 116, embodiments of the invention can be used in systems that do not include a wired network.
FIG. 5 schematically shows an illustrative computing device 200 that may be used in accordance with one or more embodiments of the invention. FIG. 5 is intended to be neither a depiction of necessary components for a computing device to operate with embodiments of the invention nor a comprehensive depiction. Computing device 200 comprises front end radio hardware 202 to communicate wirelessly, e.g., with wireless access point 102 or with other devices 108. Device 200 also comprises a network adapter 204 to communicate over a computer network using other (possibly non-wireless) methods, a display adapter 206 to display information to a user of the device, and an input adapter 208 to receive commands from the user. Device 200 further comprises computer-readable media 212 for storing data to be processed and/or instructions to be executed by a processor 210. Processor 210 enables processing of data and execution of instructions. The data and the instructions may be stored on the computer-readable media 212 and may, for example, enable communication between components of the computing device 200. The data and instructions may comprise an operating system 214 and software defined radio drivers 216. SDR drivers 216 may comprise data and instructions to carry out many functions typically done in hardware-implemented radios. The functions performed by drivers 216 may complement the functions of front end radio hardware 202, such that all desired functions may be performed by the combination of hardware and software.
Front end radio hardware 202 may be any suitable radio hardware performing any combination of functions. These functions may include modulation (i.e., mixing a data signal into a high frequency transmission signal), filtering (i.e., parsing data out of a received signal), analog-to-digital or digital-to-analog conversion, signal generation (i.e., transmitting the data), etc. Front end 202 may be implemented to perform a minimum of the required functions that need to be performed at the hardware level, with the remaining functions being implemented by SDR drivers 216. The present function is not limited to use with systems that decide the responsibilities of the hardware and software in any particular way. Front end 202 may comprise an antenna, a programmable radio-frequency waveform generator/decoder that spans a wide radio spectrum, an array of fast analog to digital converters, and/or serializers/de-serializers to convert analog data into computer-processable bytes and vice versa. A set of tunable analog filters may also be employed to comply with mandated spectrum masks. These hardware components are merely illustrative, as invention not limited to use on systems having any particular hardware.
SDR drivers 216, in addition to performing radio functions, may transmit control instructions to the tunable circuitry of front end 202 to customize the hardware of the front end 202 according to a particular wireless protocol.
It should be appreciated that one embodiment of the invention is directed to use with a computing device having programmable circuitry (e.g., the front end hardware 202 and the SDR drivers 216) that is programmable by control instructions to generate and/or receive signals according to a wireless protocol, including, for example, the process described herein with regard to handling both OFDM and non-OFDM signals. Again, this programmable circuitry can take any suitable form and include any collection of directly programmable circuitry (e.g., a programmable processor) and circuitry that interacts with directly programmable circuitry to enable communication according to a wireless protocol.
It should be appreciated that the embodiments of the present invention described herein are not limited to being practiced with the type of computing device illustrated in FIG. 5, and that embodiments of the invention can be practiced with any suitable computing device. The front end 202 and adapters 204-208 may be implemented as any suitable hardware, software, or combination thereof, and may be implemented as a single unit or multiple units. Similarly, computer-readable media 212 may be implemented as any medium or combination of media for storing data and instructions for access by a processing device.
Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.
The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech to recognition or in other audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or conventional programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
In this respect, the invention may be embodied as a computer readable medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, etc.) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc, that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the forgoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.

## Claims

1. A method performed on a computing device that includes a radio receiver, the method comprising:
receiving, via the radio receiver over a plurality of subchannels, a radio signal comprising a first modulated portion comprising a first plurality of parallel streams of first data and a second modulated portion comprising a second plurality of parallel streams of second data;
demodulating, by the computing device, the first modulated portion and the second modulated portion resulting in the first plurality of parallel streams of the first data and the second plurality of parallel streams of the second data;
converting, by the computing device, the first plurality of parallel streams of the first data to a serial version of the first data; and
converting, by the computing device, the second plurality of parallel streams of the second data to a serial version of the second data.

2. The method of claim 1 where the first modulated portion of the received radio signal comprises an Orthogonal Frequency-Division Multiplexing (“OFDM”) signal and where the second modulated portion of the received radio signal comprises a Bluetooth signal.

3. The method of claim 2 where the plurality of subchannels comprises fifty-five subchannels.

4. The method of claim 3 where the first modulated portion of the received signal is received over fifty-two of the plurality of subchannels.

5. The method of claim 3 where the second modulated portion of the received signal is received over three of the plurality of subchannels.

6. The method of claim 3 where the first modulated portion of the received signal comprises the OFDM signal.

7. The method of claim 3 where the second modulated portion of the received signal comprises the Bluetooth signal.

8. A computing device comprising:
a radio receiver via which the computing device receives a radio signal comprising a first modulated portion comprising a first plurality of parallel streams of first data and a second modulated portion comprising a second plurality of parallel streams of second data;
a demodulator via which the computing device demodulates the first modulated portion and the second modulated portion second resulting in the first plurality of parallel streams of the first data and the second plurality of parallel streams of the second data; and
at least one processor via which the computing device converts the first plurality of parallel streams of the first data to a serial version of the first data and also converts the second plurality of parallel streams of the second data to a serial version of the second data.

9. The computing device of claim 8 where the first modulated portion of the received radio signal comprises an Orthogonal Frequency-Division Multiplexing (“OFDM”) signal and where the second modulated portion of the received radio signal comprises a Bluetooth signal.

10. The computing device of claim 9 where the plurality of subchannels comprises fifty-five subchannels.

11. The computing device of claim 10 where the first modulated portion of the received signal is received over fifty-two of the plurality of subchannels.

12. The computing device of claim 10 where the second modulated portion of the received signal is received over three of the plurality of subchannels.

13. The computing device of claim 10 where the first modulated portion of the received signal comprises the OFDM signal.

14. The computing device of claim 10 where the second modulated portion of the received signal comprises the Bluetooth signal.

15. At least one memory that comprises computer-readable instructions that, based on execution by a computing device that includes at least one processor, memory, a demodulator, and a radio receiver, configure the computing device to perform actions comprising:
receiving, via the radio receiver over a plurality of subchannels, a radio signal comprising a first modulated portion comprising a first plurality of parallel streams of first data and a second modulated portion comprising a second plurality of parallel streams of second data;
demodulating, by the demodulator, the first modulated portion and the second modulated portion resulting in the first plurality of parallel streams of the first data and the second plurality of parallel streams of the second data;
converting, by the at least one processor, the first plurality of parallel streams of the first data to a serial version of the first data; and
converting, by the at least one processor, the second plurality of parallel streams of the second data to a serial version of the second data.

16. The at least one memory of claim 15 where the first modulated portion of the received radio signal comprises an Orthogonal Frequency-Division Multiplexing (“OFDM”) signal and where the second modulated portion of the received radio signal comprises a Bluetooth signal.

17. The at least one memory of claim 16 where the plurality of subchannels comprises fifty-five subchannels.

18. The at least one memory of claim 17 where the first modulated portion of the received signal is received over fifty-two of the plurality of subchannels.

19. The at least one memory of claim 17 where the second modulated portion of the received signal is received over three of the plurality of subchannels.

20. The at least one memory of claim 17 where the first modulated portion of the received signal comprises the OFDM signal, or where the second modulated portion of the received signal comprises the Bluetooth signal.