Patent Description:
A mobile device and its associated infrastructure may potentially be required to transmit and receive data traffic for a number of device applications that may be running concurrently on the mobile device. The increase in the number and in the types of mobile devices that support increasingly sophisticated device applications requires that wireless networks will need to support high speed data traffic, at higher traffic volumes, while providing a level of service and performance that is satisfactory for the users on a network.

In one example of current high speed data service implementation, WLAN and LTE networks have been implemented using orthogonal frequency division multiplexing (OFDM). In OFDM each channel used for transmission includes multiple orthogonal frequency subcarriers (subcarriers that do not interfere with one another because of orthogonality). In OFDM each subcarrier may be used to carry a separate data stream. While the subcarriers of an OFDM channel may not interfere with one another, the OFDM subcarriers may still be susceptible to interference from transmissions made on OFDM channels that are adj acent to the OFDM channel to which the OFDM subcarriers belong. Document <CIT> discloses methods and systems for enabling secure and efficient wireless transmission of HDCP-encrypted high definition (HD) signals.

This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.

Embodiments of the disclosure provide a system, method and apparatus for allocating data for transmission on at least one channel that includes a plurality of subcarriers by allocating data to subcarriers for transmission based on the priority of the data and on the positions of the subcarriers within the at least one channel. The embodiments may include a system including one or more devices. Each device is configured to transmit data on at least one channel that includes a plurality of subcarriers by associating a priority assigned to the data with a position of a selected subcarrier of the plurality of subcarriers within the at least one channel. The data is then transmitted on the selected subcarrier. Data for transmission having different priorities is allocated to the subcarriers for transmission based upon the reliabilities of the OFDM subcarriers and the priorities of the data.

In one example implementation, a device determines a reliability that is associated with a first subcarrier of a channel, where the reliability is based on a position of the first subcarrier in the channel. The channel includes the first subcarrier and at least one second subcarrier, and, the reliability of the first subcarrier may be based on the position of the first subcarrier relative to the position of each at least one second subcarrier. For example, the channel may be an orthogonal frequency division multiplexed (OFDM) channel that includes a plurality of OFDM subcarriers and higher reliability may be associated with a selected OFDM subcarrier that is in a middle position, or in one of number of middle positions, of the positions of the plurality of OFDM subcarriers within the OFDM channel. Higher priority data may then be allocated to the middle subcarrier or subcarriers of the OFDM channel and lower priority data may be allocated to the subcarriers in the edge positions for transmission. In another example implementation, it may be determined that the OFDM channel is adjacent to a neighboring channel frequency bandwidth allocated for another channel's use, but the neighboring frequency band is not used. In this case a higher reliability is associated with a subcarrier that is in an edge position, or in one of a number of edge positions, of the positions of the plurality of OFDM subcarriers within the OFDM channel, where the edge position is adjacent to the unused channel frequency band. In this case higher priority data is then allocated to the edge subcarrier or subcarriers of the OFDM channel adjacent to the unused channel frequency band.

In implementations of the embodiments, the data for transmission may be data that is received from one or more applications on a transmitting device, where groups of the data are prioritized relative to other groups of the data based on modality classifications of the one or more applications. The groups of data is then allocated to subcarriers based on the priority of the data and subcarrier reliabilities that are based on the positions of the subcarriers within at least one channel available to the transmitting device. For example, data from an application may be classified into modalities such as a voice modality, a video modality and screen sharing modality. A first of these modalities may have the highest priority, a second of the modalities may have the next highest priority, and the third modality may have the lowest priority of the three modalities. In this example, the data classified in the first modality may be allocated to the most reliable OFDM subcarrier or subcarriers of an OFDM channel which may be, for example a middle sub-carrier of the OFDM channel, the data classified in the second modality be allocated to the next most reliable OFDM subcarrier or subcarriers of the OFDM channel, and the data classified in the third modality may be allocated to the subcarrier or subcarriers of the OFDM channel that have a lesser reliability.

In implementations of the embodiments, when a plurality of channels is assigned to a transmitting device where each channel includes multiple subcarriers, prioritized data for transmission may be allocated to subcarriers taken from any channel of the plurality of channels based on individual subcarrier reliability. For example, higher priority data of the data may be assigned to the higher reliability subcarriers taken from all the channels available to the device. In one example, data from an application categorized as having a high priority modality may be allocated to the middle sub-carriers of each of a plurality of channels, where the middle subcarriers have been determined to have a higher reliability than then other differently positioned subcarriers within the plurality of channels available to the transmitting device.

The system, method and apparatus will now be described by use of example embodiments. The example embodiments are presented in this disclosure for illustrative purposes, and not intended to be restrictive or limiting on the scope of the disclosure or the claims presented herein.

The technologies and techniques that are described herein provide embodiments of systems, methods and apparatus for allocating prioritized data for transmission on at least one channel that includes a plurality of subcarriers by allocating data to subcarriers for transmission based on the priority of the data and on the positions of the subcarriers within the at least one channel. The position of a subcarrier may be utilized to assign a reliability, which may be an estimate of reliability, to the subcarrier. Data may be allocated to the subcarriers by associating the priority of selected data with the reliability of a selected subcarrier and allocating the selected data to the selected subcarrier. The reliability of a subcarrier may an indication of the subcarrier's qualities or characteristics for carrying transmitted data accurately so the transmitted data may be received correctly by a receiving device. The reliability may be associated with any type of parameter related to a subcarrier, for example, signal to noise ratio (SNR), bit error rate (BER), packet error rate (PER) or other performance parameters that may be associated with the position of a subcarrier in a transmission channel.

The embodiments provide advantages in that prioritized data may be allocated to subcarriers included within one or more transmission channels for transmission by considering the structural positions of the subcarriers within the transmission channels. The likely reliability of each subcarrier may be determined based on its position within the transmission channel. It is not necessary to perform measurements on the subcarriers or subcarrier performance to make at least an initial subcarrier allocation. Because the positions of the subcarriers in transmission channels relative to one another are based on a set structure, an estimation of reliability of a subcarrier may be made from its position. For example, in some orthogonal frequency division multiplexing (OFDM) scenarios the middle OFDM sub-carrier of an OFDM channel may have a signal to noise ratio (SNR) that is <NUM> dB better than the subcarriers on the periphery of the OFDM channel. Also, it is possible that adjacent channel interference is present that makes the peripheral subcarriers of an OFDM channel less reliable than normal when a middle subcarrier, which is not as close in subcarrier frequency to the adjacent channel, would not be as affected. By considering the positions of the subcarriers of available transmission channels, and determining a reliability for one or more of the subcarriers based on the positions, high priority data may be allocated to subcarriers having high determined reliability. This provides potentially better quality service with higher throughput and less errors in the transmission of the high priority data. Also, lower priority data may be allocated to subcarriers having lower determined reliability for transmission. This frees up the higher reliability subcarriers for higher priority data and further increases the throughput and error reduction for the higher priority data.

Example implementations in which the embodiments provide technical advantages may be used in wireless networks in which subcarriers are affected by interference caused by channels adjacent to the channel that includes the affected subcarriers. In current OFDM networks such as Wi-Fi networks operating according to the IEEE <NUM>. 11a or <NUM>. 11b/g standards, adjacent channel interference may be reduced by use of OFDM channels having non-overlapping frequency spectrum with one another for neighboring network access points (APs). However as the number of Wi-Fi networks and network user numbers increase, it may not be feasible for a network operator to avoid using adjacent OFDM channels that overlap in frequency spectrum. In this case the position of a subcarrier within a transmission channel may significantly affect how interference from channels adjacent to the transmission channel impacts the reliability of the subcarrier.

The embodiments may also be utilized for initial allocation of prioritized data to subcarriers when a device begins initial transmissions. This may include, for example, utilizing embodiments of the disclosure for a default or initial allocation of subcarriers, then monitoring transmission channel performance, and only changing the initial allocation if the reliability of the transmission configured in the initial allocation falls below a certain threshold.

The example implementations provide an advantage over methods in which the allocation of data is only done on a transmission channel level without considering the individual reliability of subcarriers that comprise the transmission channel. The implementations allow advantage to be taken of knowledge of the subcarrier positioning to allow the higher priority data to be transmitted on the most reliable subcarriers of the transmission channel. The implementations may also be utilized in a combination with methods that allocate transmission channels for data transmissions based on a transmission channel reliability that includes its subcarriers as a whole. In this combination the embodiments allow a further refinement and improvement of transmission channel reliability by utilizing the individual subcarriers reliabilities. For example, if a transmitting device is assigned a high reliability transmission channel, a higher reliability may be achieved for the higher priority data bits the device transmits by allocating the higher priority data bits to the higher reliability subcarriers based on the subcarrier positions in the transmission channel. This prevents adverse effects on data transmissions that may be caused when both higher and lower priority data bits are allocated across subcarriers of the transmission channel without considering the reliability of the subcarriers.

Referring now to <FIG>, therein is a diagram showing example OFDM channel and subcarrier allocations to transmissions of multiple users in a wireless network for multiplexed unequal error protection. <FIG> shows three users, user <NUM>, user <NUM>, and user <NUM>, that are allocated OFDM channels CH1, CH2, and CH3, respectively, for data transmissions. Each OFDM channel is assigned a frequency band of a bandwidth, BW, on the frequency axis of diagram <NUM>. Each of OFDM channels CH1, CH2, and CH3 includes a plurality of any number of subcarriers. In the example of <FIG>, channel CH1 is shown having subcarriers <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>. CH2 and CH3 are shown with a similar configuration. The subcarriers of channels CH1, CH2 and CH3 are overlapping to maximize spectral efficiency and are orthogonal to one another. Subcarrier <NUM> is positioned as a middle channel of the subcarriers in the frequency band width of CH1, and subcarriers <NUM> and <NUM> are positioned as edge channels in the frequency band width of CH1. Subcarriers <NUM>, <NUM>, <NUM> and <NUM> are positioned in the frequency bandwidth between the middle and edge subcarrier positions. A middle positioned subcarrier in each of CH1, CH2, and CH3 is assigned a reliability indicated by R(<NUM>) based on its position. In the example of <FIG>, a reliability of R(<NUM>) may indicate that a subcarrier has a highest or best estimated reliability of the sub-carriers in its channel, CH1, CH2, or CH3. The middle positioned subcarrier may be any subcarrier or group of subcarriers positioned in the middle portion of the channels CH1, CH2, or CH3 that may exhibit high reliability because of its positon and may be other than the exact middle subcarrier. The reliability assigned to a subcarrier may range from R(<NUM>) to R(N). N may be the number of subcarriers in a channel if each one is to have a different level of reliability, or may be a number N of reliability groups of subcarriers that may be assigned to a same level of reliability in a channel. In some implementations only one level R(<NUM>) may be used to indicate the best subcarrier or subcarriers. In <FIG> each of user <NUM>, user <NUM>, and user <NUM> are shown having user data bits grouped into priority categories A, B, and C. In the example of <FIG>, data bits grouped into categories A and B have higher priority than bits in category C. The categories A, B, and C may represent data from one or more applications operating on devices of user <NUM>, user <NUM>, or user <NUM>. For example, the user <NUM> bits may comprise data bits from a conferencing application on the device of user <NUM>, where bits in group A carry audio, bits in group B carry video and bits in group C carry screen sharing data. In <FIG> the user <NUM> bits in group A and B have a higher priority than group C bits and are therefore allocated to the higher reliability subcarrier <NUM> of CH1 for transmission. The allocation may be implemented using a priority that allocates user <NUM> group A and B bits to subcarrier <NUM> on a priority basis. For example, if capacity is not available on subcarrier <NUM>, the bits of group A and B that cannot be allocated to subcarrier <NUM>, may be allocated randomly to the remaining subcarriers if only one reliability level R(<NUM>) is used. Alternately, the bits of group A and B that cannot be allocated to subcarrier <NUM> may be allocated in a prioritized manner to the other subcarriers of channel CH1, such as by first allocating to subcarriers having a reliability R(<NUM>), then, if necessary to subcarriers having a reliability R(<NUM>). The data bits in group C have least priority and may be allocated last, or may be allocated to edge subcarriers <NUM> and <NUM>. Allocation of the data bits for user <NUM> and user <NUM> may be done in a similar manner as is done for user <NUM> or, alternately, may be done in a different manner according to the preferences of user <NUM> or user <NUM>. For example, data applications in use by user <NUM> may allow user <NUM> to set priorities for transmitted application data, and user <NUM> may choose different priorities for categories of data than is used by user <NUM>.

Referring now to <FIG>, therein is a diagram showing an example orthogonal frequency division multiplexing channel and subcarrier allocation to transmissions of a user for multiplexed unequal error protection. <FIG> shows an example allocation of subcarriers to user <NUM> when user1 has been assigned multiple channels, CH1, CH2, and CH3 for transmitting data. In each of channels CH1, CH2, and CH3, a middle positioned subcarrier102, <NUM>, and <NUM>, respectively, has been assigned a reliability, R(<NUM>,<NUM>), R(<NUM>,<NUM>) and R(<NUM>,<NUM>), respectively, based on its position. The reliability assigned the subcarriers may be designated by R(x,y), where x is a level of reliability of <NUM> to N, where <NUM> is the highest, and y indicates the Channel number. For example, in <FIG>, subcarrier <NUM> has been assigned reliability R(<NUM>,<NUM>) meaning reliability level <NUM> on CH1. In other example implementations in which a user is assigned multiple channels such as CH1, CH2 and CH3, the channel indicator y may be left out and a reliability level may be assigned to each subcarrier without distinguishing the channel number. The channel indicator y may be used when it is desirable to distinguish between channels, such as when a user device has knowledge that one channel overall, including all its subcarriers, is more reliable than the other available channels. N may be the number of subcarriers in a channel if each one is to have a different level of reliability, or may be a number N of reliability groups of subcarriers that may be assigned to a same level of reliability in a channel. In <FIG>, user <NUM> data bits categorized into priority groups A, B, and C are allocated on a priority basis to subcarriers <NUM>, <NUM>, and <NUM> of channels CH1, CH2, and CH3, respectively. The user <NUM> bits in group A and B have a higher priority than group C bits and are therefore allocated to subcarriers <NUM>, <NUM> and <NUM> for transmission. In <FIG> each of subcarriers <NUM>, <NUM>, and <NUM> have the same reliability level <NUM>. For example, the allocation may be implemented using a priority that allocates group A and B bits of user <NUM> to a first subcarrier of subcarriers <NUM>, <NUM>, and <NUM> on a priority basis. If capacity is not available on the first subcarrier of subcarriers <NUM>, <NUM>, and <NUM>, the bits of group A and B that cannot be allocated to the first subcarrier, may be allocated in a prioritized manner to a second subcarrier of subcarriers <NUM>, <NUM>, and <NUM>, and, if necessary to a third subcarrier of subcarriers <NUM>, <NUM>, and <NUM>. The data bits in group C have least priority and may be allocated last according to the reliability of subcarriers having remaining capacity, or may be allocated to edge subcarriers of the channels CH1, CH2, and CH3. The order in which the first, second and third subcarriers are chosen from subcarriers <NUM>, <NUM>, and <NUM> may be a random choice, or may be based on relative desirability of using channels CH1, CH2, and CH3 and the channel indicator associated with the reliability.

Referring now to <FIG>, therein is a diagram showing an example of a orthogonal frequency division multiplexing channel and subcarrier allocation to transmissions of a user for multiplexed unequal error protection when an unused channel bandwidth is adjacent to a channel allocated to the user. In <FIG> user <NUM> has been assigned channels CH1 and CH2, and CH3 is unused by the network and/or unused by neighboring networks. The determination that CH3 is unused or currently unused may be made, for example, by receiving information from other devices or a network coordinating function in the network, or neighboring networks, that may use CH3 where the information indicates to the device of user <NUM> that CH3 is unused. Alternately, the determination that CH3 is unused may be made by monitoring the bandwidth over a time period and making the determination based on information from the monitoring.

In <FIG>, a reliability R(<NUM>,<NUM>) has been assigned to edge positioned subcarrier <NUM> and also to middle positioned subcarrier <NUM>. This indicates that subcarriers have the highest level of reliability and are on CH2. Also a reliability R(<NUM>,<NUM>) has been assigned to middle positioned subcarrier <NUM> of CH1 indicating that subcarrier <NUM> has the highest level of reliability and is on CH1. In <FIG>, user <NUM> data bits categorized into priority groups A, B, and C are allocated on a priority basis to subcarriers <NUM> of channel CH1, and subcarriers <NUM>, and <NUM> of channel CH2. The user <NUM> bits in group A and B have a higher priority than group C bits and are therefore allocated to subcarriers <NUM>, <NUM> and <NUM> for transmission. In an implementation of <FIG> each of subcarriers <NUM>, <NUM>, and <NUM> may have the same reliability level for bit allocation. For example, the allocation may be implemented using a priority that allocates group A and B bits of user <NUM> to a first subcarrier of subcarriers <NUM>, <NUM>, and <NUM> on a priority basis. If capacity is not available on the first subcarrier of subcarriers <NUM>, <NUM>, and <NUM>, the bits of group A and B that cannot be allocated to the first subcarrier, may be allocated in a prioritized manner to a second subcarrier of subcarriers <NUM>, <NUM>, and <NUM>, and, if necessary to a third subcarrier of subcarriers <NUM>, <NUM>, and <NUM>. The order in which the first, second and third subcarriers are chosen from subcarriers <NUM>, <NUM>, and <NUM> may be a random choice, or may be based on relative desirability of using channels of CH1 or CH2 and the channel indicator associated with the reliability. In one example, on the basis the CH2 is adjacent an unused channel bandwidth and has higher an estimated reliability, the subcarriers of CH2, i.e., subcarriers <NUM> and <NUM>, may be allocated the priority bits first and then, if necessary, remaining higher priority bits may be allocated to subcarrier <NUM> on CH1. The data bits in group C have least priority and may be allocated last according to the priority of subcarriers having remaining capacity, or may be allocated to edge subcarriers <NUM> or 108of CH1, or edge subcarrier <NUM> of CH2.

While <FIG> show implementations with seven subcarriers per OFDM channel, the embodiments may be implemented in networks using any number of channels having any number of subcarriers. For example, in one example implementation the network may operate according to the IEEE <NUM> standard, in which each OFDM channel occupies <NUM> of bandwidth at the <NUM> frequency range, and each OFDM channel is divided into <NUM> subcarriers, each of <NUM> in bandwidth. These subcarriers overlap to utilize the <NUM> channel bandwidth dedicated per channel. Other example implementations may be utilized in networks operating according to the OFDM specified in the IEEE <NUM>. 11a, IEEE <NUM>. 11b, IEEE <NUM>. 11ac and/or <NUM>. 11b Wi-Fi standards, each of which uses varying forms of OFDM in various frequency ranges. Other implementations may be utilized in any other type of wireless network in which a transmission channel is configured with multiple subcarriers or subcarriers that carry data for the transmission channel, including, for example, cellular systems such as the long term evolution (LTE) OFDM system specified in the 3GPP standard "TS <NUM> Evolved Universal Terrestrial Radio Access (E-UTRA); Physical channels and modulation", digital audio broadcast (DAB) systems, digital video broadcast (DVB) systems, and other OFDM systems.

Referring now to <FIG>, therein is a flow diagram <NUM> showing example operations in a wireless network for an embodiment of multiplexed unequal error protection. The operations shown in <FIG> may be performed in any device that is transmitting data on transmission channels that include subcarriers. This may include a mobile device transmitting data to network access devices, such as access points (APs) or cellular base stations, or network access devices, such APs or cellular base stations, transmitting data to mobile devices. <FIG> may be explained using an example of an device operating in an OFDM network.

The process of <FIG> begins at <NUM> where the device receives a channel assignment. The channel assignment may be an OFDM channel list including one or more OFDDM channel that is received from the network, or in some other implementations may be an OFDM channel list including one or more OFDM channel that is determined and assigned within the transmitting device itself.

Next, at <NUM> reliabilities of one or more of the subcarriers of the assigned OFDM channels are determined. In an embodiment, the reliability of a subcarrier may be determined based on information relating to its position within the OFDM channel in which it is included. In one example implementation, the device may determine the subcarrier reliabilities from reliabilities assigned by the device to subcarriers, where the assignments are based on information in the device that relates to the positions of the sub-carriers. In another example implementation the device may determine the subcarrier reliabilities from subcarrier reliabilities assigned at the network, from information in the network that relates to the positions of the sub-carriers, where the reliabilities are transmitted to the device from the network. One example implementation of <NUM> may be explained with reference to <FIG>.

<FIG> is a flow diagram showing example operations for assigning subcarrier reliability. The operations of <FIG> may be implemented within a transmitting device, such as a mobile device or network access point, or in alternative implementations, may be implemented and performed elsewhere in a network, for example at a network controller. The process of <FIG> begins at <NUM> where a value n is set to the number of OFDM channels, a value y is set to the number of subcarriers of each OFDM channel, and a value of a OFDM channel index, x, is set to <NUM>. The index x may be an index for keeping track of which OFDM channel is currently being processed in <FIG>. If only one OFDM channel is being used n and x both equal <NUM> and the process will be performed only once for that channel. Next, at <NUM>, the process is begun for a first (denoted by the current value of x = <NUM>) OFDM channel of the n OFDM channels. In some implementations the value y may be set to a number that is a number of groups of subcarriers and the subcarriers may be handled in groups. For example, rather than an individual middle subcarrier being assigned a reliability, a group of middle positioned subcarriers or group of edge positioned subcarriers of the OFDM channel may be assigned the same priority together.

At <NUM> a determination is made as to whether an OFDM channel band adjacent to the first OFDM channel is open, i.e., is currently unused. The determination as to whether a OFDM channel band adjacent to the first OFDM channel is open may be made, for example, by receiving information from other devices or a network coordinating function in the network, or from devices or network control functions in neighboring networks, that may use any channels adjacent to the first channel, where the information indicates that an adjacent channel is unused. In some embodiments, the information on adjacent channels may comprise information on use of adjacent OFDM channels that have a frequency band that overlaps the frequency band of the first channel. The information on adjacent channels may include time periods indicating when the adjacent channels are not used, for example, from a channel use coordinating function. In alternate implementations, the determination as to whether an OFDM channel band adjacent or overlapping channel relative to the first OFDM channel is open may be made at the transmitting device, or by its network, by monitoring the bandwidth over a time period and making the determination based on information from the monitoring. In another alternate implementation, the determination as to whether an OFDM channel band adjacent or overlapping channel relative to the first OFDM channel is open may be made at the transmitting device, or by its network, by monitoring one or more edge subcarriers of the first OFDM channel over a time period, and making the determination based on information from the monitoring that shows the edge channels exhibit reliability above a threshold level. If it is determined that an adjacent channel is not used the process moves to <NUM>, otherwise the process moves to <NUM>.

If it had been determined that the adjacent channels are used and the process moved to <NUM>, at <NUM>, a reliability of R(<NUM>,x) is assigned to one or more middle subcarriers of the OFDM channel indicated by the OFDM channel index, x, currently being processed. This indicates that the one or more middle subcarrier of OFDM channel x has a reliability level of <NUM>. If had been determined that an adjacent channel is not used and the process moved to <NUM>, at <NUM> a reliability of R(<NUM>,x) is assigned to one or more edge subcarriers of the OFDM channel indicated by the OFDM channel index, x, currently being processed, where the edge subcarriers are adjacent to the unused channel band. This indicates that the one or more edge subcarriers of OFDM channel x has a reliability level of <NUM>. Next, from either <NUM> or <NUM>, the process moves to <NUM>.

At <NUM> the remaining y-<NUM> subcarriers or subcarrier groups of the OFDM channel indicated by the index x are assigned reliabilities. Operation <NUM> of <FIG> shows an implementation in which each of the remaining subcarriers for OFMD channel x is assigned a reliability selected from R(<NUM>,x) through R(m,x), where m is the number of available reliability levels. In one example embodiment, m may equal <NUM> and a second level reliability, R(<NUM>,x), may be assigned to all of the remaining subcarriers. In this implementation there would then be two reliability levels for the subcarriers or groups of subcarriers on OFDM channel x, with the subcarriers having reliability R(<NUM>,x) being determined to be more reliable than the subcarriers having reliability R(<NUM>,x) for OFDM channel x. In another example embodiment, m may be any number of reliabilities may be assigned based on subcarrier positions or estimated reliability.

In some embodiments the assigned reliabilities may be designated by R(m), without a OFMD channel index x, if there is only one OFDM channel, or there is not a need to distinguish between OFDM channels when assigning prioritized bits to available subcarriers. In these embodiments all the subcarriers from all the OFDM channels are assumed to have equal reliability. For example, a middle subcarrier of an OFDM channel, where the subcarrier has a reliability R(<NUM>), may be considered to have equal reliability to a middle subcarrier of another OFDM channel having reliability R(<NUM>) when prioritized bits are allocated for transmission. The OFDM channel index x may be used to distinguish between ODM channels, for example, if a subcarrier having reliability R(<NUM>,<NUM>) on a first OFDM channel should be treated as being preferred for use over a subcarrier having reliability R(<NUM>,<NUM>) on a second OFDM channel, when prioritized bits are being allocated to the subcarriers of the first and second OFDM channels. For example, a middle subcarrier of one OFDM channel may be preferred over a middle subcarrier of another OFDM channel because of differences at the OFDM channel level.

Next, at <NUM>, the OFDM channel index x is incremented. Then at <NUM> it is determined if reliabilities have been assigned for all OFDM channels by comparing the OFMD channel index x with n+<NUM>. The operations <NUM> - <NUM> will be cycled through once for each OFDM channel being assigned subcarrier reliabilities. In some implementations if a device is assigning reliabilities to subcarriers of a single OFDM channel the OFDM channel index need not be used and operations <NUM>, <NUM>, <NUM> and <NUM> maybe omitted. If x = n+<NUM> all OFDM channels have been processed and the process returns to <NUM> of <FIG>.

Referring again to <FIG>, at <NUM> the transmitting device receives data bits for transmission with a priority indication. The bits may be received from an application operating on the transmitting device when the transmitting device is, for example, a mobile device operating in a network. Alternately in the case of when a network access device is the transmitting device, for example an AP or cellular base station, the bits may be received from the network for transmission to a mobile device. The bits may be received for transmission categorized into priority groups where the priority of the groups in indicated in information available to the subcarrier allocating functions of the transmitting device. High priority bit groups may include, for example, bits that carry video and speech for one or more applications operating on a device. Low priority bit groups may include, for example, bits that carry data for instant messaging or push notifications. The bits may be allocated to subcarriers separately for a single application or as a combined bit stream of one or more applications. One example of prioritized data may be data from a speech codec application where the speech codec encodes data differently depending on the data's importance. For example when the most significant bits (MSBs) of a code word including speech data are coded by forward error correction (FEC) code using a stronger code than is used for the least significant bits (LSBs) of the code word, the MSB data may have a higher priority than the LSB data from the codec. The higher priority MSB data may be allocated to a highest reliability subcarrier, or subcarriers, of one or more OFDM channels.

Next, at <NUM>, it is determined if more than one OFDM channel has been assigned. If only one OFDM channel has been assigned the process moves to <NUM>. If more than one OFDM channel has been assigned the process moves to <NUM>.

If only one OFDM channel is assigned, the prioritized bits are allocated at <NUM>, to subcarriers for transmission based on the reliability of the subcarriers of the assigned OFDM channel and the priority of the prioritized bits. In one example implementation of operation <NUM>, the allocation of the bits to the subcarriers may be done as described for user1 in <FIG>. If more than one OFDM channel is assigned, the prioritized bits are allocated, at <NUM>, to subcarriers based on the combined reliabilities of all the subcarriers of the assigned OFDM channels. In one example implementation of operation <NUM>, the allocation of the bits to the subcarriers may be done as described for user <NUM> in <FIG>.

Referring now to <FIG>, therein is a simplified block diagram showing an example of transmitting functions for a device <NUM> according to an embodiment. Device <NUM> includes data transmitting functions of serial to parallel (S/P) subcarrier priority mapper <NUM>, modulators (MOD) 304a-304n, Inverse fast Fourier Transform (IFFT) blocks 306a-306n, parallel to serial (P/S) converter, and transmit block <NUM>. The transmitting function utilizes n subcarriers a-n, which are represented by the parallel streams comprising MODs 304a-304n and IFFT blocks 306a-306n, respectively.

In an example implementation, transmitting functions of device <NUM> may be may configured to implement the process of <FIG>. S/P subcarrier priority mapper <NUM> receives data bits at interface <NUM> for transmission on an assigned transmission channel using n subcarriers a-n. S/P subcarrier priority mapper <NUM> converts the serial data bit-stream received at interface <NUM> into parallel bit-streams divided among the individual subcarriers a-n. The data bits may be from one or more applications on device <NUM>. The data bits may be received at S/P subcarrier priority mapper <NUM> with indications of priority, or relative priority, of bits or groups of bits of the received data bits. S/P subcarrier priority mapper <NUM> has information on the reliabilities of the subcarriers. The reliabilities of the subcarriers a-n may be determined by S/P subcarrier priority mapper <NUM> based on transmission channel and subcarrier position information or, for example, received from other functions in device <NUM>, or from another device in the network, that has determined the reliabilities based on subcarrier position information within the transmission channel.

In <FIG>, S/P subcarrier priority mapper <NUM> has assigned reliabilities R(<NUM>) - R(<NUM>) to each of the subcarriers a-n, respectively. The reliabilities are shown in the implementation of <FIG> with each subcarrier having a reliability having a differing reliability. R(<NUM>) represents highest reliability, R(<NUM>) represents next level reliability, R(<NUM>) represents a third level of reliability. For example, subcarrier a may be a middle positioned subcarrier assigned the highest reliability R(<NUM>), subcarrier b may be positioned intermediately between the middle and edge positions of the subcarriers and be assigned a reliability R(<NUM>), and subcarriers <NUM> through n may be edge positioned subcarriers relative to subcarriers a and b and may be assigned a reliability R(<NUM>). The data bits received at interface <NUM> are mapped by S/P subcarrier priority mapper <NUM> by allocating the bits to an appropriate subcarrier based on the priorities of the data bits and the reliabilities of the subcarriers. In the example implementation, the highest priority bits may be allocated to subcarrier a, the lowest priority bits may be allocated to subcarrier c through n, and the middle priority bits may be allocated to subcarrier b.

Once the data bits have been divided among the individual sub-carriers by S/P subcarrier priority mapper <NUM>, each subcarrier a-n is modulated at MODs 304a - 304n and IFFTs 306a - 306n, respectively, as if it was an individual channel before all subcarriers are combined back together at P/S <NUM> and transmitted as a whole on the transmit channel by transmit function <NUM>. At a receiving device, the receiver performs the reverse process to divide the incoming signal into the appropriate sub-carriers and then demodulates the subcarriers individually to reconstruct the original data bits.

Referring now to <FIG>, is a simplified block diagram showing another example functional architecture for a device <NUM> according to the embodiment. Device <NUM> includes serial to parallel (S/P) channel/subcarrier reliability mapper <NUM>, modulation and IFFT (MOD/IFFT) functions 404a - <NUM> for each of m transmission channels CH1 - CHm, respectively. Each of MOD/IFFT functions 404a - <NUM> may be configured to process multiple subcarriers, such as the multiple subcarriers of <FIG>, for a single transmission channel and each transmission channel of CH1 - CHm may be equivalent to the transmission channel of <FIG>. In the example implementation of <FIG>, prioritized data bits are received at interface <NUM> by S/P channel/subcarrier reliability mapper <NUM>. The data bits may be received with indications of priority, or relative priority, of bits, or groups of bits, of the received data bits. S/P channel/subcarrier reliability mapper <NUM> has information on the reliabilities of the subcarriers. S/P channel/subcarrier reliability mapper <NUM> may also have information on the reliabilities or preferences of use for the transmission channels CH1 - CHm.

In <FIG>, S/P channel/subcarrier reliability mapper <NUM> has assigned reliabilities R(<NUM>,<NUM>), R(<NUM>,<NUM>) or R(<NUM>,<NUM>) to the subcarriers of CH1 for processing by MOD/IFFT 404a based on subcarrier position in CH1. R(<NUM>,<NUM>) means a subcarrier has the highest reliability of level <NUM> on CH1, R(<NUM>,<NUM>) means a subcarrier has the next highest reliability of level <NUM> on CH1, and R(<NUM>,<NUM>) means a subcarrier has the lowest reliability of level <NUM> on CH1. The levels of reliability may be determined from the position of a subcarrier as was described for <FIG> and as shown in <FIG>. The reliabilities R(<NUM>,<NUM>), R(<NUM>,<NUM>) or R(<NUM>,<NUM>) are assigned to each of the subcarriers of CH and reliabilities of R(<NUM>,m), R(<NUM>,m) or R(<NUM>,m) are assigned to each of the subcarriers of CHm in a similar manner. The data bits received at interface <NUM> are mapped by S/P channel/subcarrier reliability priority mapper <NUM> by allocating the bits to an appropriate channel and subcarrier of that channel based on the priorities of the data bits and the reliabilities of the subcarriers. In some implementations each of CH1 - CHm may be equally preferred for use, in which case the highest priority bits may be allocated to the subcarriers having the highest reliability level <NUM>, R(<NUM>, <NUM>), R(<NUM>,<NUM>) to R(<NUM>,m), selected from all subcarriers across all transmission channels CH1 - CHm. The lowest priority bits may be allocated to the subcarriers having the lowest reliability level of <NUM>, R(<NUM>, <NUM>), R(<NUM>,<NUM>) to R(<NUM>,m), selected from all transmission channels CH1 - CHm, and the middle priority bits may be allocated to the subcarriers having the middle reliability level R(<NUM>, <NUM>), R(<NUM>,<NUM>) to R(<NUM>,m) selected from all transmission channels CH1 - CHm. In this case the reliabilities may be designated as R(<NUM>), R(<NUM>) to R(<NUM>) without using the second index. In other implementations certain transmission channels of CH1 - CHm may be more preferred for use and S/P channel/subcarrier reliability priority mapper <NUM> may allocate data bits first to one transmission channel, such as CH1, based on subcarrier reliability, and then to other transmission channels, sequentially.

Referring now to <FIG>, therein is a simplified block diagram of an example wireless communication device <NUM> which may be implemented, for example, using OFDM transmission according to <FIG> and <FIG>. Device <NUM> represents a possible implementation of a device that may operate, according to the embodiments of the disclosure. Device <NUM> may also represent any type of device configured with more or less of the functionality shown in <FIG>. These types of devices may include, for example, smart phones, laptop computers, tablet devices, desktop computers, gaming devices, media devices, smart televisions, home theater systems, smart automobile systems, smart house systems, multimedia cable/television boxes, smart phone accessory devices, tablet accessory devices, personal digital assistants (PDAs), portable media players, smart watches, smart sensors, or industrial control systems.

Device <NUM> may include user interfaces which may include any type of interface, for example, video display <NUM>, touch screen/keypad <NUM>, microphone <NUM>, speaker <NUM> or camera <NUM> which receive inputs and provide outputs to and from device <NUM>. Device <NUM> includes processing unit <NUM> and memory <NUM> which is shown as including program code or instructions for channel/subcarrier control programs <NUM> that perform functions according to the embodiments. For example, in an implementation, the device may be configured so that execution of the channel/subcarrier control programs causes processing unit <NUM> to implement the functions of subcarrier reliability mapper <NUM> of <FIG> or channel/subcarrier reliability mapper <NUM> of <FIG> to allocate prioritized data bits to OFDM channels and subcarriers for transmission by device <NUM>. Processing unit <NUM> may comprise one or more processors, processing units, other control circuitry, or, any circuit or combination of processors and control circuitry that provide overall control of device <NUM> according to the disclosed embodiments. Memory <NUM> may be implemented as any type of computer readable storage media in device <NUM>, including non-volatile and volatile memory. Memory <NUM> also includes application programs <NUM>. Memory <NUM> may also include operating system programs and data such as media data, camera photos and videos, contact data, calendar data, and other files used in the operation of applications on device. Processing unit <NUM> provides overall control of device <NUM> and the other functional blocks shown in <FIG> by executing instructions and code in memory <NUM> to implement communications with other wireless devices and network access devices, such as APs or cellular base stations.

In the example of <FIG>, device <NUM> includes one or more transceivers configured to communicate with APs on channels using the <NUM> Band TRX <NUM>, <NUM> TRX <NUM>, 5GHx Band TRX <NUM>, <NUM> Band TRX <NUM>, <NUM>-<NUM> TVWS Band TRX <NUM>, and cellular band TRX <NUM>. In embodiments device <NUM> and its transceivers may be operable to use one or more spectrum allocations according to any relevant IEEE <NUM> or any other standard specifications supported by device <NUM>. Implementations of device <NUM> may be utilized, for example, in networks operating according to the OFDM specified in the IEEE <NUM>. 11a, IEEE <NUM>. 11b, IEEE <NUM>. 11ac and/or <NUM>. 111b Wi-Fi standards. In these implementations device <NUM> may be configured to perform functions of subcarrier reliability mapper <NUM> of <FIG> or channel/subcarrier reliability mapper <NUM> of <FIG> according to the operations of <FIG>, when transmitting data. Also, transceivers <NUM> may use currently available TVWS channels according to requirements and regulations of the geographic area and networks in which it may operate. Transceiver <NUM> may also be configured to allow device <NUM> to operate in a OFDM cellular system, such as an LTE system.

Referring now to <FIG>, therein is a simplified block diagram of an example network access device <NUM>. Device <NUM> may represent a network access device, such as a Wi-Fi AP, or a base station of a cellular system, for example a LTE system. Device <NUM> includes processing unit <NUM>, transceivers <NUM>, and memory/storage <NUM> that includes code and instructions for channel/subcarrier allocation programs <NUM> and applications <NUM>. Memory <NUM> may be implemented as any type of as any type of computer readable storage media, including non-volatile and volatile memory. Device <NUM> connects to a backend network over network interface <NUM>. Processing unit <NUM> may comprise one or more processors, or other control circuitry or any combination of processors, circuits, and control circuitry that provide overall control of the device <NUM> according to the disclosed embodiments. Transceivers <NUM> provide the capability for device <NUM> to communicate with devices, such as device <NUM>, over RF channels according to network protocols. Processing unit <NUM> provides overall control of device <NUM> and the other functional blocks shown in <FIG> by executing instructions and code in memory <NUM> to implement communications with devices and network control devices, and provide functions for a network.

Device <NUM> may be configured to perform functions of subcarrier reliability mapper <NUM> of <FIG> or Channel/subcarrier reliability mapper <NUM> of <FIG> according to the operations of <FIG>, when transmitting data to devices, for example device <NUM> of <FIG> operating in a network or system. In an implementation, execution of channel/subcarrier allocation programs <NUM> causes processing unit <NUM> to perform operations that cause functions of device <NUM> to perform appropriate operations according to <FIG>. Implementations of device <NUM> may be utilized, for example, in networks operating according to the OFDM specified in the IEEE <NUM>. 11a, IEEE <NUM>. 11b, IEEE <NUM>. 11ac and/or <NUM>. 11b Wi-Fi standards. Implementations of device <NUM> may also be utilized in networks transmitting to wireless devices of the downlink according to the LTE OFDM system specified in the 3GPP standard "TS <NUM> Evolved Universal Terrestrial Radio Access (E-UTRA); Physical channels and modulation".

The example embodiments disclosed herein may be described in the general context of processor-executable code or instructions stored on memory that may comprise one or more computer readable storage media (e.g., tangible non-transitory computer-readable storage media such as memory <NUM>, or <NUM>). As should be readily understood, the terms "computer-readable storage media" or "non-transitory computer-readable media" include the media for storing of data, code and program instructions, such as memory <NUM>, or <NUM>, and do not include portions of the media for storing transitory propagated or modulated data communication signals. The term non-transitory computer readable media is used in this disclosure as comprising all computer-readable storage media, with the sole exception being a transitory, propagating signal. All forms of tangible computer readable storage media are included in non-transitory computer readable storage media.

Embodiments of Multiplexed Unequal Error Protection for Wireless Networks have been disclosed that include a device comprising one or more processors and memory in communication with the one or more processors. The memory includes code, which when executed causes the one or more processors to determine a reliability, the reliability associated with a first subcarrier and based on a position of the first subcarrier in a channel, the channel including the first and at least one second subcarrier, and, initiate allocation of data bits to the first subcarrier for data transmission based at least on the reliability and a priority associated with the data bits. The data bits may be associated with a modality of an application and the modality may define the priority associated with the data bits. The data bits may be the most significant bits of a data word and the most significant bits may define the priority associated with the data bits. The reliability of the first subcarrier may be associated with a middle position of the channel. Also, the first subcarrier may be determined to have a higher reliability than the least one second subcarrier based on the position of the at least one second subcarrier being an edge position of the channel. Also, the first subcarrier may be determined to have a higher reliability than the least one second subcarrier based on the position of the first subcarrier being in a position of the channel nearer the middle of the channel than a position of the at least one second subcarrier.

The code may be further executable to cause the one or more processors to determine a reliability of the first subcarrier by determining that a channel band adjacent to the channel is an open channel band, and, determining that the first subcarrier is in an edge position of the channel more adjacent to the open channel band relative to a position of the at least one second subcarrier. The data bits may comprise first data bits, the priority may comprise a first priority, and the reliability may comprise a first reliability, and the code may be further executable to cause the one or more processors to receive the first data bits and second data bits for the data transmission, the first and second data bits associated with the first and a second priority, respectively, determine a second reliability, the second reliability associated with a selected subcarrier of the at least one second subcarrier and based on the position of the selected subcarrier channel in the channel, and, allocate the first data bits to the first subcarrier for the data transmission based at least on the first priority and the first reliability, and allocate the second data bits to the selected subcarrier channel of the at least one second subcarrier for the data transmission based at least on the second priority and the second reliability. The first data bits and the second data bits may be received from a first and a second modality of an application, respectively, and the first modality and second modality may be associated with the first priority and second priority, respectively. The first data bits may be most significant bits of a data word and the second data bits may be least significant bits of the data word. Also, the reliability may comprise a first reliability, the channel may comprise a first channel and the code may be further executable to cause the one or more processors to determine a second reliability, the second reliability associated with a third subcarrier and based on a position of the third subcarrier in a second channel, and, allocate data bits for the data transmission to the first subcarrier of the first channel and the third subcarrier of the second channel, based at least on a priority associated with the data bits and the first and second reliability.

The disclosed embodiments also include a method comprising determining a reliability, the reliability associated with a first subcarrier and based at least on a position of the first subcarrier in a channel, and, initiating allocation of data bits to the first subcarrier for data transmission based at least on a priority associated with the data bits and the reliability. The determining a reliability associated with a first subcarrier may comprise determining a position of the first subcarrier relative to the position of at least one second subcarrier within the channel, and determining the reliability associated with the first subcarrier, the reliability based on the position of the first subcarrier. The determining a position of the first channel may comprise determining that a channel band adjacent to the channel is an open channel band, and, determining that the first subcarrier is in an edge position of the OFDM channel and closer to the open channel band relative to the position of the at least one second subcarrier. The position of the first subcarrier may be in a middle position of the channel. The determining a reliability may further comprise determining the first subcarrier has a higher reliability than the least one second OFDM subcarrier based on the position of the first subcarrier being in a position of the channel nearer the middle of the channel than the position of the at least one second subcarrier. The determining a reliability may also comprise determining that a channel band adjacent to the channel is an open channel band, and, determining that the first subcarrier is in an edge position of the channel more adjacent to the open channel band relative to a position of the at least one second subcarrier.

The disclosed embodiments further include a system comprising one or more devices, each device configured to transmit data on at least one channel comprising a plurality of subcarriers by associating a priority assigned to the data with a position of a selected subcarrier of the plurality of subcarriers within the at least one channel, and transmitting the data on the selected subcarrier. The at least one channel comprising a plurality of subcarriers may comprise at least one OFDM channel comprising a plurality of OFDM subcarriers. The priority assigned to the data may be a high priority and the position of the selected OFDM subcarrier may be a middle position of a plurality of positions of the plurality of OFDM subcarriers. The selected subcarrier may comprise a first selected subcarrier and each device may be configured to transmit the data by associating the priority assigned to the data with a position of a first and a second selected channel of the plurality of channels within the at least one channel, and transmitting the data on the first and second selected subcarrier. Further, the system may be a Wi-Fi system or the system may be an LTE system.

While the functionality disclosed herein has been described by illustrative example using descriptions of the various components and devices of embodiments by referring to functional blocks and processors or processing units, controllers, and memory including instructions and code, the functions and processes of the embodiments may be implemented and performed using any type of processor, circuit, circuitry or combinations of processors and/or circuitry and code. This may include, at least in part, one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), etc. Use of the term processor or processing unit in this disclosure is meant to include all such implementations.

Claim 1:
A device (<NUM>, <NUM>) comprising:
one or more processors (<NUM>, <NUM>); and,
memory (<NUM>, <NUM>) in communication with the one or more processors (<NUM>, <NUM>), the memory (<NUM>, <NUM>) including code, which when executed causes the one or more processors (<NUM>, <NUM>) to:
determine a reliability, the reliability associated with a first subcarrier and based on a position of the first subcarrier in a channel, the channel including the first subcarrier and at least one second subcarrier, wherein determining the reliability comprises determining that a channel band adjacent to the channel is a currently unused channel band; and determining that the first subcarrier is in an edge position of the channel closer to the currently unused channel band than the at least one second subcarrier, wherein the first subcarrier is determined to have a higher reliability than the at least one second subcarrier; and,
initiate allocation of data bits of a first group of data bits to the first subcarrier for data transmission based at least on the reliability and a priority associated with the data bits of the first group of data bits, wherein the data bits of the first group of data bits have a higher priority than data bits of at least one second group of data bits, wherein the data bits of the first group of data bits having the higher priority are allocated to the first subcarrier having the higher reliability.