Abstract:
Provided is a method and apparatus for performing a wireless communication based on a heterogeneous interference alignment (IA) scheme for a downlink multi-user multiple-input and multiple-output (DL MU-MIMO) communication in a wireless local area network (WLAN), and a wireless communication method employing a hybrid scheme that may include storing maximum throughputs of IA schemes, measuring an environment of a wireless network, calculating predicted throughputs of the IA schemes based on the measured environment of the wireless network, selecting an IA scheme from among the IA schemes based on the predicted throughputs, and communicating with a user terminal based on the selected IA scheme.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the priority benefit of Korean Patent Application No. 10-2014-0077335, filed on Jun. 24, 2014, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. 
       BACKGROUND 
       [0002]    1. Field of the Invention 
         [0003]    Example embodiments of the present invention relate to a method of performing a wireless communication in a downlink multi-user multiple-input and multiple-output (DL MU-MIMO) communication in a wireless local area network (WLAN), and more particularly, to a method and apparatus for performing a wireless communication using one of an opportunistic interference alignment (OIA) and an iterative interference alignment (IA) in consideration of a throughput based on a signal-to-noise ratio (SNR). 
         [0004]    2. Description of the Related Art 
         [0005]    Recently, interference alignment (IA) schemes for performing a wireless communication by aligning each of a signal to be received and unintended interference in a different space are suggested to solve an issue that a high channel capacity is not achievable due to interference between user terminals. 
         [0006]    Among the IA schemes, an opportunistic interference alignment (OIA) may be a scheme for improving degrees of freedom (DOF) in an entire network by providing a transmission opportunity to a user terminal of which interference is most appropriately aligned among numerous user terminals based on a multi-user diversity. 
         [0007]    Also, among the IA schemes, an iterative IA may be a scheme for performing an IA using only local channel knowledge through repetitive channel information transmissions between a transmitting end and a receiving end based on a cognitive principle and reciprocity of a channel. 
         [0008]    The OIA may result in a phenomenon of increasing a sum-rate at a relatively high signal-to-noise ratio (SNR) in which an interference influence is more dominant than a noise influence. The iterative IA may result in a phenomenon of decreasing the sum-rate at a to relatively low SNR in which the noise influence is more dominant than the interference influence. 
         [0009]    Accordingly, there is a desire for a method of complementing the OIA and the iterative IA. 
       SUMMARY 
       [0010]    An aspect of the present invention provides a method and apparatus for selectively applying an opportunistic interference alignment (OIA) and an iterative interference alignment (IA) to complement issues of IA schemes, thereby improving a maximum throughput in a wireless communication. 
         [0011]    Another aspect of the present invention also provides a method and apparatus for adaptively performing a communication based on an environment of a wireless network by applying an appropriate IA scheme in consideration of a signal-to-noise ratio (SNR). 
         [0012]    Still another aspect of the present invention also provides a method and apparatus for performing a wireless communication by calculating a predicted throughput based on a message negotiation duration and selecting an advantageous IA scheme. 
         [0013]    According to an aspect of the present invention, there is provided a wireless communication method including measuring an environment of a wireless network, calculating predicted throughputs of an OIA and an iterative IA based on the environment of the wireless network, selecting an IA scheme from between the OIA and the iterative IA based on the predicted throughputs, and communicating with a user terminal based on the selected IA scheme. 
         [0014]    The calculating may include calculating the predicted throughputs of the OIA and the iterative IA in consideration of a frame overhead based on the IA scheme and the environment of the wireless network. 
         [0015]    The calculating may include calculating the predicted throughputs of the OIA using a sum-rate based on the environment of the wireless network, a frame period, and a scheduling time of the OIA. 
         [0016]    The calculating may include calculating the predicted throughput of the iterative IA using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, a number of iterations of the iterative IA. 
         [0017]    The measuring may include measuring at least one of a number of transmission antennas, a number of reception antennas, a number of communication apparatuses, a number of user terminals per basic service set (BSS), and a target SNR in the wireless network. 
         [0018]    According to another aspect of the present invention, there is also provided a wireless communication method including accessing a communication apparatus to communicate, and communicating with the communication apparatus based on an IA scheme, wherein the IA scheme is obtained by calculating predicted throughputs of an OIA and an iterative IA based on an environment of a wireless network measured by the communication apparatus and selecting one of the OIA and the iterative IA based on the predicted throughputs. 
         [0019]    The predicted throughputs of the OIA and the iterative IA may be calculated based on a frame overhead based on the IA scheme and the environment of the wireless network. 
         [0020]    The predicted throughput of the OIA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, and a scheduling time of the OIA. 
         [0021]    The predicted throughput of the iterative IA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, and a number of iterations of the iterative IA. 
         [0022]    The environment of the wireless network may include at least one of a number of transmission antennas, a number of reception antennas, a number of communication apparatuses, a number of user terminals per BSS, and a target SNR in the wireless network. 
         [0023]    According to still another aspect of the present invention, there is also provided a communication apparatus including a measurer to measure an environment of a wireless network, a calculator to calculate predicted throughputs of an OIA and an iterative IA based on the environment of the wireless network, a selector to select an IA scheme from between the OIA and the iterative IA based on the predicted throughputs, and a communicator to communicate with a user terminal based on the selected IA scheme. 
         [0024]    The calculator may calculate the predicted throughputs of the OIA and the iterative IA in consideration of a frame overhead based on the IA scheme and the environment of the wireless network. 
         [0025]    The calculator may calculate the predicted throughputs of the OIA using a sum-rate based on the environment of the wireless network, a frame period, and a scheduling time of the OIA. 
         [0026]    The calculator may calculate the predicted throughput of the iterative IA using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, and a number of iterations of the iterative IA. 
         [0027]    The measurer may measure at least one of a number of transmission antennas, a number of reception antennas, a number of communication apparatuses, a number of user terminals per BSS, and a target SNR in the wireless network. 
         [0028]    According to yet another aspect of the present invention, there is also provided a user terminal including an accessor to access a communication apparatus to communicate, and a communicator to communicate with the communication apparatus based on an IA scheme, wherein the IA scheme is obtained by calculating predicted throughputs of an OIA and an iterative IA based on an environment of a wireless network measured by the communication apparatus and selecting one of the OIA and the iterative IA based on the predicted throughputs. 
         [0029]    The predicted throughputs of the OIA and the iterative IA may be calculated in consideration of a frame overhead based on the IA scheme and the environment of the wireless network. 
         [0030]    The predicted throughput of the OIA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, and a scheduling time of the OIA. 
         [0031]    The predicted throughput of the iterative IA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, and a number of iterations of the iterative IA. 
         [0032]    The environment of the wireless network may include at least one of a number of transmission antennas, a number of reception antennas, a number of communication apparatuses, a number of user terminals per BSS, and a target SNR of the wireless network. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0033]    These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which: 
           [0034]      FIG. 1  illustrates an example of selecting an interference alignment (IA) scheme based on a signal-to-noise ratio (SNR) according to an example embodiment; 
           [0035]      FIG. 2  illustrates a throughput table based on an IA scheme and an SNR according to an example embodiment; 
           [0036]      FIG. 3  illustrates a wireless communication method based on a hybrid scheme according to an example embodiment; 
           [0037]      FIG. 4  illustrates a communication apparatus according to an example embodiment; 
           [0038]      FIG. 5  illustrates a user terminal according to an example embodiment; and 
           [0039]      FIGS. 6 through 9  illustrate sum-rates based on an IA scheme and an SNR according to an example embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0040]    Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below to explain the present invention by referring to the figures. 
         [0041]      FIG. 1  illustrates an example of selecting an interference alignment (IA) scheme based on a signal-to-noise ratio (SNR) according to an example embodiment. 
         [0042]    The IA scheme may be, for example, technology for improving transmission efficiency by controlling interference between overlapping access points (APs) using an equal frequency in a wireless channel environment. 
         [0043]    The IA scheme may be implemented based on various diversity aspects. For example, an IA may be a scheme of performing zero forcing by dividing a space into two portions such that a signal received from a transmitting end is aligned in one portion and an interference signal received from another transmitting end is aligned in another portion. 
         [0044]    In the above IA scheme, an opportunistic interference alignment (OIA) may be used to acquire an increased multi-user diversity according to an increase in a number of user terminals included in a basic service set (BSS), thereby improving a maximum throughput, for example, an achievable throughput. When compared to an iterative IA, The OIA may derive a higher maximum throughput at a low SNR at which an influence of interference is less than an influence of noise. In this example, the BSS may refer to, for example, a group including an AP and a user terminal connected to the AP. 
         [0045]    Also, the OIA may cause a phenomenon of the maximum throughput saturated at a high SNR at which the influence of interference is more dominant than the influence of noise. Thus, the OIA may be appropriate to be used at the low SNR. 
         [0046]    In the above IA scheme, the iterative IA may be generally used to perform an accurate IA in an environment having a BSS including a relatively small number of user terminals For example, using the iterative IA, interference between transmitted signals may be cancelled through repetitive channel information transmissions performed between a transmitting end and a receiving end. 
         [0047]    At the low SNR, a beam adjustment performed in consideration of a desired channel may be more efficient than an interference adjustment. Thus, the iterative IA may derive a lower maximum throughput at the low SNR when compared to the OIA. 
         [0048]    A hybrid scheme may selectively use the aforementioned IA schemes. Thus, using the hybrid scheme, a wireless communication may be performed based on an IA scheme deriving a higher maximum throughput between the OIA and the iterative IA. 
         [0049]    For example, using the hybrid scheme, an increased maximum throughput may be achieved by applying the OIA in lieu of the iterative IA. Based on an increase in the SNR, the interference adjustment may be considered as a more significant factor in improving the maximum throughput. Thus, using the hybrid scheme, a high maximum throughput may be achieved by applying the iterative IA at the high SNR. Concisely, a crossover phenomenon may occur between the OIA and the iterative IA based on a change in the SNR, and the hybrid scheme may be used to perform the wireless communication based on the crossover phenomenon. 
         [0050]      FIG. 2  illustrates a throughput table based on an IA scheme and an SNR according to an example embodiment. 
         [0051]      FIG. 2  illustrates a throughput table indicating a maximum throughput measured in an environment of a wireless network. In the environment, a number of APs, for example, K, is “3”, a number of user terminals per BSS, for example, N, is “10”, a number of antennas in an AP, for example, M, is “4”, a number of antennas in a user terminal, for example, L, is “4”, and a number of transmission streams per BSS, for example, S, is “2”. 
         [0052]    In the throughput table, an advantageous IA scheme may be changed at approximately 20 decibels (dB) SNR. For example, when an SNR is less than 20 dB, an OIA may derive a higher maximum throughput as compared to an iterative IA. Conversely, when the SNR is greater than 20 dB, the iterative IA may derive a higher maximum throughput as compared to the OIA. 
         [0053]      FIG. 3  illustrates a wireless communication method based on a hybrid scheme according to an example embodiment. 
         [0054]    The wireless communication method may be implemented by a processor included in a communication apparatus. In this example, the communication apparatus may be configured to communicate with a user terminal and may include, for example, a base station, an AP, and a relay. 
         [0055]    In operation  310 , the communication apparatus stores maximum throughputs of an OIA and an iterative IA. For example, the communication apparatus may store the maximum throughputs of the OIA and the iterative IA in a memory in a form of a lookup table. In this example, the stored maximum throughputs may be used as a reference for determining whether the communication apparatus communicates with a user terminal based on the OIA or the iterative IA. 
         [0056]    In operation  320 , the communication apparatus measures an environment of a wireless network. In this example, the wireless network may be, for example, a BSS formed based on the communication apparatus. 
         [0057]    As an example, in the wireless network, the communication apparatus may measure at least one of a number of transmission antennas, a number of reception antennas, a number of user terminals per BSS, a number of communication apparatuses, and a target SNR. In this example, the transmission antennas may indicate, for example, transmission antennas of the communication apparatuses, and the reception antennas may indicate, for example, reception antennas of the user terminals. Also, the target SNR may indicate, for example, an SNR of an environment in which the wireless communication is to be performed. 
         [0058]    In operation  330 , the communication apparatus calculates predicted throughputs of the OIA and the iterative IA based on the measured environment of the wireless network. The communication apparatus may calculate a predicted throughput for each IA scheme based on a different method. For example, the communication apparatus may calculate the predicted throughput for each IA scheme as shown in Equation 1. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ρ 
                       DLOIA 
                     
                     = 
                     
                       
                         
                           
                             
                               
                                 ( 
                                 
                                   
                                     T 
                                     frame 
                                   
                                   - 
                                   
                                     scheduling 
                                      
                                     
                                         
                                     
                                      
                                     time 
                                   
                                 
                                 ) 
                               
                               × 
                             
                           
                         
                         
                           
                             
                               sum 
                                
                               
                                   
                               
                                
                               
                                 
                                   rate 
                                   
                                     DL 
                                      
                                     
                                         
                                     
                                      
                                     OIA 
                                   
                                 
                                  
                                 
                                   ( 
                                   
                                     SNR 
                                     , 
                                     N 
                                     , 
                                     K 
                                     , 
                                     M 
                                     , 
                                     L 
                                   
                                   ) 
                                 
                               
                             
                           
                         
                       
                       
                         T 
                         frame 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       ρ 
                       
                         iterative 
                          
                         
                             
                         
                          
                         IA 
                       
                     
                     = 
                     
                       
                         
                           
                             
                               
                                 ( 
                                 
                                   
                                     T 
                                     frame 
                                   
                                   - 
                                   
                                     iteration 
                                      
                                     
                                         
                                     
                                      
                                     number 
                                     × 
                                     iteration 
                                      
                                     
                                         
                                     
                                      
                                     time 
                                   
                                 
                                 ) 
                               
                               × 
                             
                           
                         
                         
                           
                             
                               sum 
                                
                               
                                   
                               
                                
                               
                                 
                                   rate 
                                   
                                     iterative 
                                      
                                     
                                         
                                     
                                      
                                     IA 
                                   
                                 
                                  
                                 
                                   ( 
                                   
                                     SNR 
                                     , 
                                     N 
                                     , 
                                     K 
                                     , 
                                     M 
                                     , 
                                     L 
                                   
                                   ) 
                                 
                               
                             
                           
                         
                       
                       
                         T 
                         frame 
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                      
                     
                         
                     
                      
                     1 
                   
                   ] 
                 
               
             
           
         
       
     
         [0059]    In Equation 1, ρ DLOIA  denotes the predicted throughput of the OIA, and ρ iterativeIA  denotes the predicted throughput of the iterative IA. T frame  denotes a frame period, scheduling time may indicate a scheduling time of the OIA, and sum rate DL OIA  may indicate a sum rate of the OIA. N denotes the number of user terminals per BSS, K denotes the number of communication apparatuses, M denotes the number of antennas in the communication apparatus, and L denotes the number of antennas in the user terminal. Also, iteration number may indicate a number of iterations of the iterative IA, iteration time may indicate an iteration time of the iterative IA, and sum rate iterative IA  may indicate a sum rate of the iterative IA. 
         [0060]    Each of sum rate DL OIA  and sum rate iterative IA  may be a function using the environment, for example, the SNR, N, K, M, and L, of the wireless network measured in operation  320  as a variable. For example, each of sum rate DL OIA  and sum rate iterative IA  may be a function reflecting a relationship in the environment of the wireless network obtained by simulating various combinations in the environment of the wireless network. 
         [0061]    The communication apparatus may calculate the predicted throughput of the OIA using the sum-rate based on the environment of the wireless network, the frame period, and the scheduling time of the OIA. Additionally, the communication apparatus may calculate the predicted throughput of the iterative IA using the sum-rate based on the environment of the wireless network, the frame period, the iteration time, and the number of iterations of the iterative IA. 
         [0062]    Also, the communication apparatus may calculate the predicted throughputs of the OIA and the iterative IA in consideration of a frame overhead for each IA scheme and the measured environment of the wireless network. In this example, the frame overhead for each IA scheme may be determined based on the scheduling time of the OIA, and the iteration time and the number of iterations of the iterative IA. Thus, each IA scheme may require a different frame overhead. Also, a tradeoff may occur between the maximum throughput and the frame overhead. 
         [0063]    In operation  340 , the communication apparatus selects an IA scheme from between the OIA and the iterative IA based on the calculated predicted throughputs. The communication apparatus may compare the predicted throughputs, and select an IA scheme corresponding to a higher predicted throughput. 
         [0064]    In operation  350 , the communication apparatus communicates with the user terminal based on the selected IA scheme. 
         [0065]      FIG. 4  illustrates a communication apparatus  400  according to an example embodiment. 
         [0066]    Referring to  FIG. 4 , the communication apparatus  400  includes a storage  410 , a measurer  420 , a calculator  430 , a selector  440 , and a communicator  450 . 
         [0067]    The storage  410  may store maximum throughputs of an OIA and an iterative IA in a memory in a form of a lookup table. 
         [0068]    The measurer  420  may measure an environment of a wireless network. For example, the measurer  420  may measure at least one of a number of transmission antennas, a number of reception antennas, a number of user terminals per BSS, a number of communication terminals, and a target SNR in the wireless network. 
         [0069]    The calculator  430  may calculate predicted throughputs of the OIA and the iterative IA based on the measured environment of the wireless network. 
         [0070]    Also, the calculator  430  may calculate the predicted throughput of the OIA using a sum-rate based on the environment of the wireless network, a frame period, and a scheduling time. The calculator  430  may calculate the predicted throughputs of the iterative IA using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, and a number of iterations of the iterative IA. 
         [0071]    The selector  440  may select an IA scheme from between the OIA and the iterative IA based on the calculated predicted throughputs. The selector  440  may compare the predicted throughputs, and select an IA scheme corresponding to a higher predicted throughput. 
         [0072]    The communicator  450  may communicate with the user terminal based on the selected IA scheme. 
         [0073]    The communication apparatus  400  may calculate a predicted throughput in consideration of quantitative message negotiation duration and select an advantageous IA scheme, thereby performing a wireless communication. 
         [0074]      FIG. 5  illustrates a user terminal  500  according to an example embodiment. 
         [0075]    Referring to  FIG. 5 , the user terminal  500  includes an accessor  510  and a communicator  520 . 
         [0076]    The accessor  510  may access a communication apparatus to communicate. In this example, the communication apparatus may be configured to communicate with the user terminal and may include, for example, a base station, an AP, and a relay. 
         [0077]    The communicator  520  may communicate with the communication apparatus based on an IA scheme. For example, the communicator  520  may communicate with the communication apparatus based on one of an OIA and an iterative IA. 
         [0078]    In this example, the IA scheme may be selected based on a method as described below. 
         [0079]    The communication apparatus may measure an environment of a wireless network. For example, the environment of the wireless network may include at least one of a target SNR, a number of user terminals per BSS, a number of communication apparatuses, a number of reception antennas, and a number of transmission antennas in the wireless network. 
         [0080]    Also, the communication apparatus may calculate predicted throughputs of the OIA and the iterative IA based on the environment of the wireless network. As an example, the predicted throughputs of the OIA and the iterative IA may be calculated using a frame overhead based on the IA scheme and the environment of the wireless network. For example, the predicted throughput of the OIA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, a scheduling time of the OIA. Also, the predicted throughput of the iterative IA may be calculated using a sum-rate based on the environment of the wireless network, a frame period, an iteration time, and a number of iterations of the iterative IA. 
         [0081]    The IA scheme may be selected by the communication apparatus from between the OIA and the iterative IA based on the predicted throughputs. The IA scheme may be, for example, an IA scheme corresponding to a higher predicted throughput between the OIA and the iterative IA. 
         [0082]      FIGS. 6 through 9  illustrate sum-rates based on an IA scheme and an SNR according to an example embodiment. 
         [0083]      FIGS. 6 through 9  illustrate simulation result values obtained by comparing performances of a plurality of wireless communication schemes including a hybrid scheme. In this example, a simulation parameter may be configured as shown in Table 1. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Parameter 
                 Value 
               
               
                   
                   
               
             
             
               
                   
                 Number of users per network 
                 10, 50, 100 
               
               
                   
                 Number of APs 
                 3 
               
               
                   
                 Number of streams per network 
                 2 
               
               
                   
                 Number of AP antennas 
                 4 
               
               
                   
                 Number of user antennas 
                 4, 5 
               
               
                   
                 Iteration number for iterative IA 
                 15 
               
               
                   
                   
               
             
          
         
       
     
         [0084]    In a process of the simulation, the number of user terminals may be changed to “10”, “50”, and “100”, the number of APs may be “3”, the number of transmission streams per BSS may be “2”, the number of antennas in an AP may be “4”, the number of antennas in a user terminal may be changed to “4” and “5”, and the number of iterations of the iterative IA may be “15”. 
         [0085]      FIGS. 6 through 8  illustrate sum-rates based on the number of user terminals per BSS.  FIG. 6  illustrates simulation results of a case in which the number of user terminals per BSS is “10”.  FIG. 7  illustrates simulation results of a case in which the number of user terminals per BSS is “50”.  FIG. 8  illustrates simulation results of a case in which the number of user terminals per BSS is “100”. 
         [0086]    In this example, the number of APs may be “3”, the number of transmission streams per BSS may be “2”, the number of antennas in an AP may be “4”, the number of antennas in a user terminal may be “4”, and the number of iterations of the iterative IA may be “15”. 
         [0087]    In the simulation results, the maximum throughputs of the OIA and the iterative IA may intersect at an interval of SNR between 15 and 25 dB. The hybrid scheme may provide a higher performance when compared to a random beamforming scheme and a block diagonalization scheme. Also, an intersecting point between the OIA and the iterative IA may increase proportionally to the number of user terminals per BSS. For example, an SNR at which an application of the OIA is more advantageous than that of the iterative IA may correspondingly increase according to an increase in the number of user terminals per BSS. 
         [0088]      FIGS. 6 and 9  illustrate sum-rates based on the number of antennas in the user terminals.  FIG. 6  illustrates simulation results of a case in which the number of antennas in the user terminal is “4”.  FIG. 9  illustrates simulation results of a case in which the number of antennas in the user terminal is “5”. 
         [0089]    In this example, the number of user terminals per BSS may be “10”, the number of APs may be “3”, the number of transmission streams per BSS may be “2”, the number of antennas in the AP may be “4”, and the number of iterations of the iterative IA may be “15”. 
         [0090]    In the simulation results, an advantageous IA scheme may be changed based on a point at which the SNR is 30 dB. The intersection between the OIA and the iterative IA may increase proportionally to the number of antennas in the user terminal For example, an SNR at which an application of the OIA is more advantageous than that of the iterative IA may correspondingly increase according to an increase in the number of antennas in the user terminal. 
         [0091]    The above simulation result may be based on a feature that a multi-user diversity condition for achieving a multiplexing gain is mitigated in the OIA according to an increase in the number of antennas in the user terminal. 
         [0092]    According to an aspect of the present invention, it is possible to complement issues of IA schemes and improve a maximum throughput in a wireless communication by selectively applying an OIA and an iterative IA. 
         [0093]    According to another aspect of the present invention, it is possible to adaptively perform communication based on an environment of a wireless network by applying an appropriate IA scheme in consideration of an SNR. 
         [0094]    According to still another aspect of the present invention, it is possible to select an advantageous IA scheme and perform wireless communication by calculating a predicted throughput in consideration of quantitative message negotiation duration. 
         [0095]    The units described herein may be implemented using hardware components and software components. For example, the hardware components may include microphones, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more general-purpose or special purpose computers, such as, for example, a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such a parallel processors. 
         [0096]    The software may include a computer program, a piece of code, an instruction, or some combination thereof, for independently or collectively instructing or configuring the processing device to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. In particular, the software and data may be stored by one or more computer readable recording mediums. 
         [0097]    The methods according to the above-described embodiments may be recorded, stored, or fixed in one or more non-transitory computer-readable media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa. 
         [0098]    Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.