INTERFERENCE-AWARE DECISION-DIRECTED FREQUENCY AND PHASE TRACKING FOR COHERENT DEMODULATION IN NARROWBAND WIRELESS COMMUNICATION SYSTEMS
20240171426 ยท 2024-05-23
Assignee
Inventors
Cpc classification
H04L25/03828
ELECTRICITY
H04B17/336
ELECTRICITY
International classification
H04L25/02
ELECTRICITY
H04L25/03
ELECTRICITY
Abstract
A communication device, including a receiver configured to receive a signal from a transmitter, the signal including a plurality of data symbols; and at least one processor configured to: obtain a channel estimate and an estimated carrier frequency offset based on a result of an interference detection indicating whether interference is detected in the plurality of data symbols, obtain a data symbol of the plurality of data symbols, obtain a compensated data symbol corresponding to the data symbol based on the estimated carrier frequency offset, obtain an equalized compensated data symbol by performing channel equalization on the compensated data symbol based on the channel estimate, and demodulate and decode the equalized compensated data symbol to obtain decoded data.
Claims
1. A communication device, comprising: a receiver configured to receive a signal from a transmitter, the signal comprising a plurality of data symbols; and at least one processor configured to: obtain a channel estimate and an estimated carrier frequency offset based on a result of an interference detection indicating whether interference is detected in the plurality of data symbols, obtain a data symbol of the plurality of data symbols, obtain a compensated data symbol corresponding to the data symbol based on the estimated carrier frequency offset, obtain an equalized compensated data symbol by performing channel equalization on the compensated data symbol based on the channel estimate, and demodulate and decode the equalized compensated data symbol to obtain decoded data.
2. The communication device of claim 1, wherein the receiver is further configured to receive a packet comprising a training portion and a payload portion, and wherein the plurality of data symbols are included in the payload portion.
3. The communication device of claim 1, wherein based on determining that a first predetermined number of data symbols from among the plurality of data symbols have been decoded, the at least one processor is further configured to: obtain an updated carrier frequency offset and an updated channel estimate based on the result of the interference detection, obtain a new data symbol of the plurality of data symbols, obtain a new compensated data symbol corresponding to the new data symbol based on the updated carrier frequency offset, obtain a new equalized compensated data symbol by performing the channel equalization on the new compensated data symbol based on the updated channel estimate, and demodulate and decode the new equalized compensated data symbol to obtain new decoded data.
4. The communication device of claim 3, wherein the at least one processor is further configured to: determine an initial channel estimate based on the compensated data symbol and the equalized compensated data symbol, and calculate at least one of the updated channel estimate and the updated carrier frequency offset based on the initial channel estimate and the result of the interference detection.
5. The communication device of claim 4, wherein based on the result of the interference detection indicating that the interference is detected, the at least one processor is further configured to: calculate the updated channel estimate based on the channel estimate and the estimated carrier frequency offset, based on Kalman filtering being enabled, calculate the updated carrier frequency offset based on the initial channel estimate using the Kalman filtering, and based on the Kalman filtering not being enabled, set the updated carrier frequency offset equal to the estimated carrier frequency offset.
6. The communication device of claim 4, wherein based on the result of the interference detection indicating that the interference is not detected, the at least one processor is further configured to: calculate the updated channel estimate based on the channel estimate and a phase difference between the channel estimate and the initial channel estimate, based on Kalman filtering being enabled, calculate the updated carrier frequency offset using the Kalman filtering, and based on the Kalman filtering not being enabled, calculate the updated carrier frequency offset based on the estimated carrier frequency offset and the phase difference between the channel estimate and the initial channel estimate.
7. The communication device of claim 3, wherein based on determining that a second predetermined number of data symbols from among the plurality of data symbols have been decoded, the at least one processor is further configured to: calculate a signal to interference and noise ratio (SINR) value based on the compensated data symbol and the equalized compensated data symbol, obtain an updated result of the interference detection based on a comparison between the SINR value and a threshold SINR value.
8. A device for estimating carrier frequency offset, the device comprising: a memory configured to store a plurality of data symbols; and at least one processor configured to: obtain a channel estimate and an estimated carrier frequency offset based on a result of an interference detection indicating whether interference is detected in the plurality of data symbols, obtain a data symbol of the plurality of data symbols, obtain an equalized compensated data symbol corresponding to the data symbol based on the estimated carrier frequency offset and the channel estimate, and demodulate and decode the equalized compensated data symbol to obtain decoded data.
9. The device of claim 8, wherein the plurality of data symbols are included in a payload portion of a packet, and wherein the packet comprises a preamble portion separate from the payload portion.
10. The device of claim 8, wherein based on determining that a first predetermined number of data symbols from among the plurality of data symbols have been decoded, the at least one processor is further configured to: obtain an updated carrier frequency offset and an updated channel estimate based on the result of the interference detection, obtain a new data symbol of the plurality of data symbols, obtain a new equalized compensated data symbol corresponding to the new data symbol based on the updated carrier frequency offset and the updated channel estimate, and demodulate and decode the new equalized compensated data symbol to obtain new decoded data.
11. The device of claim 10, wherein the at least one processor is further configured to: determine an initial channel estimate based on the equalized compensated data symbol, and calculate at least one of the updated channel estimate and the updated carrier frequency offset based on the initial channel estimate and the result of the interference detection.
12. The device of claim 11, wherein based on the result of the interference detection indicating that the interference is detected, the at least one processor is further configured to: calculate the updated channel estimate based on the channel estimate and the estimated carrier frequency offset, based on Kalman filtering being enabled, calculate the updated carrier frequency offset based on the initial channel estimate using the Kalman filtering, and based on the Kalman filtering not being enabled, set the updated carrier frequency offset equal to the estimated carrier frequency offset.
13. The device of claim 11, wherein based on the result of the interference detection indicating that the interference is not detected, the at least one processor is further configured to: calculate the updated channel estimate based on the channel estimate and a phase difference between the channel estimate and the initial channel estimate, based on Kalman filtering being enabled, calculate the updated carrier frequency offset using the Kalman filtering, and based on the Kalman filtering not being enabled, calculate the updated carrier frequency offset based on the estimated carrier frequency offset and the phase difference between the channel estimate and the initial channel estimate.
14. The device of claim 10, wherein based on determining that a second predetermined number of data symbols from among the plurality of data symbols have been decoded, the at least one processor is further configured to: calculate a signal to interference and noise ratio (SINR) value based on the equalized compensated data symbol, and obtain an updated result of the interference detection based on a comparison between the SINR value and a threshold SINR value.
15. A communication method for operating a communication device, the communication method being performed by at least one processor and comprising: receiving, by a receiver from a transmitter, a plurality of data symbols; obtaining a channel estimate and an estimated carrier frequency offset based on a result of an interference detection indicating whether interference is detected in the plurality of data symbols; obtaining a data symbol from among the plurality of data symbols; obtaining a compensated data symbol corresponding to the data symbol based on the estimated carrier frequency offset; obtaining an equalized compensated data symbol by performing channel equalization on the compensated data symbol based on the channel estimate; and demodulating and decoding the equalized compensated data symbol to obtain decoded data.
16. The communication method of claim 15, further comprising receiving, by the receiver from the transmitter, a packet comprising a training portion and a payload portion, wherein the plurality of data symbols are included in the payload portion.
17. The communication method of claim 15, wherein based on determining that a first predetermined number of data symbols from among the plurality of data symbols have been decoded, the method further comprises: obtaining an updated carrier frequency offset and an updated channel estimate based on the result of the interference detection; obtaining a new data symbol of the plurality of data symbols; obtaining a new compensated data symbol corresponding to the new data symbol based on the updated carrier frequency offset; obtaining a new equalized compensated data symbol by performing the channel equalization on the new compensated data symbol based on the updated channel estimate; and demodulating and decoding the new equalized compensated data symbol to obtain new decoded data.
18. The communication method of claim 17, further comprising: determining an initial channel estimate based on the compensated data symbol and the equalized compensated data symbol; and calculating at least one of the updated channel estimate and the updated carrier frequency offset based on the initial channel estimate and the result of the interference detection.
19. The communication method of claim 18, wherein based on the result of the interference detection indicating that the interference is detected, the method further comprises: calculating the updated channel estimate based on the channel estimate and the estimated carrier frequency offset; based on Kalman filtering being enabled, calculating the updated carrier frequency offset based on the initial channel estimate using the Kalman filtering; and based on the Kalman filtering not being enabled, setting the updated carrier frequency offset equal to the estimated carrier frequency offset.
20. The communication method of claim 18, wherein based on the result of the interference detection indicating that the interference is not detected, the method further comprises: calculating the updated channel estimate based on the channel estimate and a phase difference between the channel estimate and the initial channel estimate; based on Kalman filtering being enabled, calculating the updated carrier frequency offset using the Kalman filtering; and based on the Kalman filtering not being enabled, calculating the updated carrier frequency offset based on the estimated carrier frequency offset and the phase difference between the channel estimate and the initial channel estimate.
21. The communication method of claim 17, wherein based on determining that a second predetermined number of data symbols from among the plurality of data symbols have been decoded, the method further comprises: calculating a signal to interference and noise ratio (SINR) value based on the compensated data symbol and the equalized compensated data symbol; and obtaining an updated result of the interference detection based on a comparison between the SINR value and a threshold SINR value.
22. A method for estimating carrier frequency offset, the method being performed by at least one processor and comprising: receiving, by a receiver from a transmitter, a plurality of data symbols; obtaining a channel estimate and an estimated carrier frequency offset based on a result of an interference detection indicating whether interference is detected in the plurality of data symbols; obtaining a data symbol of the plurality of data symbols; obtaining an equalized compensated data symbol corresponding to the data symbol based on the estimated carrier frequency offset and the channel estimate; and demodulating and decoding the equalized compensated data symbol to obtain decoded data.
23. The method of claim 22, wherein the plurality of data symbols are included in a payload portion of a packet, and wherein the packet comprises a preamble portion separate from the payload portion.
24. The method of claim 22, wherein based on determining that a first predetermined number of data symbols from among the plurality of data symbols have been decoded, method further comprises: obtaining an updated carrier frequency offset and an updated channel estimate based on the result of the interference detection; obtaining a new data symbol of the plurality of data symbols; obtaining a new equalized compensated data symbol corresponding to the new data symbol based on the updated carrier frequency offset and the updated channel estimate; and demodulating and decoding the new equalized compensated data symbol to obtain new decoded data.
25. The method of claim 24, further comprising: determining an initial channel estimate based on the equalized compensated data symbol, and calculating at least one of the updated channel estimate and the updated carrier frequency offset based on the initial channel estimate and the result of the interference detection.
26. The method of claim 25, wherein based on the result of the interference detection indicating that the interference is detected, the method further comprises: calculating the updated channel estimate based on the channel estimate and the estimated carrier frequency offset; based on Kalman filtering being enabled, calculating the updated carrier frequency offset based on the initial channel estimate using the Kalman filtering; and based on the Kalman filtering not being enabled, setting the updated carrier frequency offset is equal to the estimated carrier frequency offset.
27. The method of claim 25, wherein based on the result of the interference detection indicating that the interference is not detected, the method further comprises: calculating the updated channel estimate based on the channel estimate and a phase difference between the channel estimate and the initial channel estimate; based on Kalman filtering being enabled, calculating the updated carrier frequency offset using the Kalman filtering; and based on the Kalman filtering not being enabled, calculating the updated carrier frequency offset based on the estimated carrier frequency offset and the phase difference between the channel estimate and the initial channel estimate.
28. The method of claim 24, wherein based on determining that a second predetermined number of data symbols from among the plurality of data symbols have been decoded, the method further comprises: calculating a signal to interference and noise ratio (SINR) value based on the equalized compensated data symbol; and obtaining an updated result of the interference detection based on a comparison between the SINR value and a threshold SINR value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
DETAILED DESCRIPTION
[0021] Embodiments relate to devices and methods for performing carrier frequency (CFO) estimation and channel estimation.
[0022] In particular, embodiments may relate to interference-aware decision-directed CFO and channel phase tracking techniques which may have excellent tracking performance in wireless environments with and without interference. Embodiments may be performed without requiring pilots or training fields to be embedded the packet payload, and may be suitable for narrowband receivers using coherent demodulation.
[0023] Embodiments may be applied in any communication device, system, or method in which CFO error or channel error is relevant to the communication throughput. For example, embodiments may be applied in any communication device, system, or method which uses a time domain modulation scheme.
[0024]
[0025] Although the communication system 100 is illustrated as including the transmitter 102 and the receiver 104, embodiments are not limited thereto. For example, one or more of the transmitter 102 and the receiver 104 may be replaced with a transceiver capable of performing both transmitting and receiving of signals. In embodiments, the transceiver may include an estimation module 108 which may be used to perform CFO estimation and channel estimation when the transceiver operates in a receiving mode. In addition, in embodiments the communication system 100 may include multiple transmitters, receivers, and transceivers which may transmit and receive signals using the communication channel 106.
[0026]
[0027] In contrast, embodiments may perform CFO, phase and interference tracking using the packet payload, which may be included for example in the data portion 204. Therefore, embodiments may be interference-aware, and may be performed based on unknown data symbols included in the data portion 204. For example, according to embodiments the estimation module 108 may obtain an estimated CFO and a channel estimate based on one or more data symbols from the data portion 204. Based on the estimated CFO and the channel estimate, the decoding module 110 may obtain a compensated version of the data portion 204, and then demodulate and decode the data portion to obtain decoded data corresponding to the received signal.
[0028] The packet structure of packet 200 may also be used in slow mobility scenarios, for example wireless local area network (WLAN). WLAN may be used by wideband orthogonal frequency-division multiplexing (OFDM) systems. In WLAN, an error in initial CFO estimation may have two impacts: introducing common phase error (CPE) in the frequency-domain, and causing inter-subcarrier interference (ICI). In wideband systems such as WLAN, the preamble portion 202 may offer an accurate estimate of the CFO in multi-carrier systems, and the ICI may be suppressed to a reasonably low level. The CPE may be relatively more important, because it may lead to phase rotation, which may increase as time elapses. In WLAN standards such as Wi-Fi, the CPE may be tracked by pilots inserted in the payload, for example the data portion 204. The performance of CPE estimation may be not affected by the initial CFO estimation error, because the CFO error only affects the true value of CPE. Therefore, it may be relatively less important track and improve the CFO estimation in the payload duration in Wi-Fi systems, especially when the CFO does not change too much in low mobility scenarios. For other WLAN systems, the CPE can be treated as part of the wireless channel, and can be tracked together with the aid of training fields in the payload, which may be referred to as the midamble. Accordingly, CFO tracking in the payload duration may not be considered in these other WLAN systems.
[0029] However, this may not be the case for narrowband systems. For example, unlike WLANs, ICI may not be present in narrowband systems. However, narrowband systems may still experience phase rotation which may be introduced by CFO estimation errors, which may also affect the phase estimation performance.
[0030] Accordingly, narrowband receiver design may present many challenges. For example, some narrowband receivers may operate based on coherent demodulation, which may require simultaneous CFO and channel phase tracking in the payload duration. In addition, some narrowband systems may use relatively short preambles, which may limit the performance of initial CFO estimation, and may therefore increase the importance of CFO and phase tracking. In addition, some narrowband receivers may use relatively long data portions 204, and therefore may need to minimize the impact from interference appearing in the long payload period. For example, in environments in which wideband systems and narrowband systems coexist, the wideband systems may cause interference in the narrowband systems.
[0031] As discussed above, embodiments may relate to a narrowband wireless communication system with packet structure of the packet 200, in which the data portion 204 does not contain any pilot or training fields. After timing synchronization and multipath channel equalization, an n-th received payload symbol r.sub.n may be modeled as signal corrupted by additive white Gaussian noise (AWGN), as shown for example in Equation 1 below:
r.sub.n=h.sub.0s.sub.ne.sup.j?(n?1)+?.sub.n, n=1, . . . , N Equation 1
[0032] In Equation 1, h.sub.0 may denote the flat channel at the starting point of the packet payload, ? may denote the true CFO, ?.sub.n may denote the noise (and interference), and s.sub.n may denote the transmitted symbols. Using the preamble portion 202, a channel estimate ?.sub.0 and an initial CFO estimate {circumflex over (?)}.sub.0 may be obtained at the starting point of the payload, for example the starting point of the data portion 204. In embodiments, the decoding module may be used to estimate the transmitted symbol s.sub.n based on the received symbol r.sub.n, and the performance may be affected by the estimation performance of both channel and CFO.
[0033]
[0034] A channel estimate ? may be used for channel equalization and a CFO estimate {circumflex over (?)} may be used for CFO removal for all of the symbols r.sub.n in a block. The channel estimate ? may be initialized as ?=?.sub.0, and the CFO estimate {circumflex over (?)} may be initialized as {circumflex over (?)}={circumflex over (?)}.sub.0. The kth update of ? and {circumflex over (?)} may be performed at the kDth symbol with the aid of the symbols in Block k, and the symbols in the Block (k+1) may use the updated estimates for CFO removal and channel equalization. The kth update of ? may be used to estimate the true flat channel according to Equation 2 below:
h.sub.k=h.sub.k?1e.sup.j?D (Equation 2)
[0035] Therefore, the channel tracking problem may be equivalent to a phase tracking problem, and flat channel equalization may be used to remove phase rotation due to CFO. Examples of such channel equalization according to embodiments are provided below. In embodiments, the above modeling can be extended to time-variant CFO due to clock drift and/or Doppler. This does not affect the design of embodiments, and the above modeling is an example to explain various embodiments.
[0036] In general, estimation may be performed according to a number of different techniques. For example, some estimation techniques are described in J. Ran, R. Gr?nheid, H. Rohling, Edgar Bolinth, Ralf Kern Decision-directed Channel Estimation Method for OFDM systems with high velocities, IEEE 58th Vehicular Technology Conference (VTC), 2003, and EP1389861A1 of Bolinth, the contents of which are incorporated herein by reference in their entireties. Ran and Bolinth use a 1.sup.st order technique to solve the channel tracking problem in wideband multi-carrier systems with pilots/training fields.
[0037] As discussed above, embodiments may relate to narrowband system without pilots/training fields, and as a result the techniques of Ran and Bolinth cannot be directly applied. However, the techniques of Ran and Bolinth may be modified in order to be applied to narrowband systems without pilots/training fields. These modified techniques may be referred to as Comparative Example 1.
[0038] According to Comparative Example 1, the 1.sup.st-order filtering in Ran and Bolinth may be used to estimate the channel at the k-th update, according to Equation 3 below:
?=(1??.sub.c)?.sub.old+?.sub.c?.sub.cur (Equation 3)
[0039] In Equation 3, ?.sub.old=?e.sup.j{circumflex over (?)}D may denote the old estimate, ?.sub.cur may denote the current decision directed estimate using symbols from Block k, and ?.sub.c may denote the channel forgetting factor. All of the symbols in Block k may be used to obtain the decision directed channel estimate ?.sub.cur, and ?.sub.c may be computed according to Equation 4 below:
[0040] In Equation 4,
C may denote the number of modulated symbols for a modulation scheme (e.g., 4 for QPSK, 8 for 8 PSK),
[0041] Equation 4 of Comparative Example 1 may differ from equation (3.8) in Ran, in that a mean probability p.sub.mean is used rather than a single probability p(
[0042] Another estimation technique is described in A. Patapoutian, On Phase-Locked Loops and Kalman Filters, IEEE Trans. Commun., vol. 47, no. 5, pp. 670-672, May 1999, the contents of which is incorporated herein by reference in its entirety.
[0043] Patapoutian uses a 2.sup.nd order filtering technique which may be used to jointly track CFO and phase. The technique of Patapoutian is based on a Kalman filter (KF), an example of which is described below.
[0044] KF may use a process model F and a measurement model H, which may be defined according to Equation 5 and Equation 6 below:
?.sub.k=F?.sub.k?1+w.sub.k?1 (Equation 5)
y.sub.k=H?.sub.k+v.sub.k (Equation 6)
[0045] In Equation 5, w.sub.k may denote AWGN with covariance matrix Q.sub.k, and in Equation 6 v.sub.k may denote AWGN with covariance matrix R.sub.k. KF uses the following procedure to estimate the tracking parameter ?.sub.k iteratively. KF may use 2.sup.nd order statistical information such as mean square error (MSE), denoted as MSE matrix M, to control the update gain, which may be referred to as the Kalman gain G.sub.k.
[0046] According to KF, first a predicted tracking parameter {circumflex over (?)}.sub.k|k?1 is determined according to Equation 7 below:
{circumflex over (?)}.sub.k|k?1=F{circumflex over (?)}.sub.k?1 (Equation 7)
[0047] Then, a predicted MSE matrix M.sub.k|k?1 is determined according to Equation 8 below:
M.sub.k|k?1=FM.sub.k?1F.sup.T+Q.sub.k (Equation 8)
[0048] Then, the Kalman gain is determined according to Equation 9 below:
G.sub.k=M.sub.k|k?1H.sup.T(HM.sub.k|k?1H.sup.T+R.sub.k).sup.?1 (Equation 9)
[0049] An updated estimate {circumflex over (?)}.sub.k is then determined according to Equation 10 below:
{circumflex over (?)}.sub.k={circumflex over (?)}.sub.k|k?1+G.sub.k(y.sub.k?H{circumflex over (?)}.sub.k|k?1) (Equation 10)
[0050] Then, the updated MSE matrix M.sub.k is determined according to Equation 11 below:
M.sub.k=M.sub.k|k?1?G.sub.kHM.sub.k|k?1 (Equation 11)
[0051] In Patapoutian, the process model is defined as
the measurement model is defined as H=[1 0], the tracking parameter is defined as
where ?.sub.k=arg(h.sub.k) denotes the channel phase, ?.sub.k denotes the true CFO at the at the kth update. y.sub.k denotes a single phase estimate, and therefore the matrix form of y.sub.k, v.sub.k and R.sub.k may be written as scalars y.sub.k, v.sub.k and R.sub.k, respectively. R.sub.k denotes the variance of phase measurement noise v.sub.k.
[0052] Then, the Kalman gain equation may be simplified according to Equation 12 below:
G.sub.k=M.sub.k|k?1H.sup.T/(HM.sub.k|k?1H.sup.T+R.sub.k) (Equation 12)
[0053] When considering time-invariant CFO (for example such that ?=?.sub.0=?.sub.1= . . . =?.sub.k= . . . ), w.sub.k?1 can be treated as very small values and Q.sub.k can be set to
The MSE of the estimation error in {circumflex over (?)}.sub.0=arg(?.sub.0) and {circumflex over (?)}.sub.0 can be obtained using simulation in AWGN channel with a defined signal-to-noise ratio (SNR) condition, so that M.sub.0 can be pre-computed. The MSE of v.sub.k can be also obtained using simulation in AWGN channel with a defined SNR.
[0054] As another comparative example, referred to herein as Comparative Example 2, for a given SNR a constant R may be defined to represent R.sub.k for all k at a given SNR. Then
may be calculated iteratively to obtain the kth update of the channel ?=|?.sub.0|e.sup.j{circumflex over (?)}.sup.
[0055]
[0056] As shown in
[0057] Accordingly, embodiments may differ from Comparative Example 1 and Comparative Example 2 in that embodiments may use packet payload, for example data symbols, to track CFO and phase. Further, embodiments may differ from Comparative Example 1 and Comparative Example 2 in that embodiments may consider interference when tracking CFO and phase.
[0058] For example, embodiments according to Example 1 may differ from the techniques of Ran, Bolinth, and Comparative Example 1, in that Example 1 may perform CFO tracking. In contrast, the techniques of Ran, Bolinth, and Comparative Example 1 do not update or track the CFO.
[0059] Further, embodiments according to Example 2 may differ from the techniques of Patapoutian and Comparative Example 2, in that Example 2 may perform phase update using 1.sup.st order techniques, and may perform only CFO tracking using KF. In contrast, the techniques the techniques of Patapoutian and Comparative Example 2 update both CFO and phase using KF. Accordingly, embodiments according to Example 2 may have increased performance in comparison with the techniques of Patapoutian and Comparative Example 2.
[0060] Referring to
[0061] According to the system initialization procedure, one or more system parameters may be selected. For example, the system initialization procedure may include selecting one or more of a CFO/phase update period D, a SINR update period S, a number B of symbols used to update SINR, a channel update forgetting factor ?.sub.c, a buffer length M?max(D, B), a SINR threshold SINR.sub.min in dB for interference detection, and a minimum number {tilde over (B)}.sub.min of symbols which may be used for SINR estimation. In embodiments, CFO/phase update period D and the SINR update period S may be specified in units of symbols.
[0062] In embodiments, the system initialization procedure may also include determining whether to operate the estimation module 108 according to Example 1 or Example 2. For example, if a parameter kf_enabled is set to false, KF may be disabled, and the estimation module may be operated using a 1.sup.st order technique, for example according to Example 1. Further, if the parameter kf_enabled is set to true, KF may be enabled, and the estimation module may be operated using a 2.sup.nd order technique, for example according to Example 2.
[0063] If the parameter kf_enabled is set to true, the system initialization procedure may include defining reference SINR points SINR.sub.dB, preparing variance vector ?.sub.f.sup.2 of initial CFO errors at all SINR points in SINR.sub.dB, and preparing a variance vector ?.sub.p.sup.2 of initial phase errors at all SINR points in SINR.sub.dB.
[0064] In embodiments, the variance vectors ?.sub.f.sup.2 and ?.sub.p.sup.2 may be obtained by simulation in an AWGN channel without interference at a SNR point defined by SINR.sub.dB. The values of D, ?.sub.f.sup.2 and ?.sub.p.sup.2 may depend on the length of training sequence (for example from the preamble portion 202) used for initial CFO and phase estimation.
[0065] If the parameter kf_enabled is set to false, the system initialization procedure may include choosing an initial CFO update forgetting factor ?.sub.f.sup.0, choosing a parameter M.sub.minInterfSymb, a parameter P.sub.coolDown, and a parameter ?.sub.coolDown, and calculating a parameter M.sub.minInterfUpdate according to Equation 13 below:
M.sub.minInterfUpdate=?M.sub.minInterfSymb/D?(Equation 13)
[0066] In embodiments, the parameter M.sub.minInterfSymb may indicate a minimum duration of detected consecutive interference (in symbols) which may trigger a cooldown operation. In embodiments, the parameter M.sub.minInterfSymb may be set to a relatively large value to disable the cooldown operation. Further, the parameter P.sub.coolDown may indicate a percentage of cooldown duration with respect to the duration of the detected consecutive interference. In addition, the parameter ?.sub.coolDown may indicate a percentage of CFO tracking forgetting factor with respect to the initial value when cooldown operation is triggered. Further, the parameter M.sub.minInterfUpdate may indicate a minimum duration of detected consecutive interference (in number of CFO/phase updates) which may trigger the cooldown operation
[0067] According to the packet payload reception initialization procedure, a parameter interference_detected may be set to false. In addition, an instant SINR estimate .sub.dB, an initial channel estimate ?.sub.0, and an initial CFO estimate {circumflex over (?)}.sub.0 may be obtained from the preamble portion 202 of the packet 200, and the channel estimate ? and the estimated CFO {circumflex over (?)} may be initialized according to Equation 14 and Equation 15 below:
?=?.sub.0 (Equation 14)
{circumflex over (?)}={circumflex over (?)}.sub.0 (Equation 15)
[0068] In embodiments, the packet payload reception initialization procedure may include initializing the buffers BUFF_RX, BUFF_EQ, BUFF_HD, BUFF_SLCT to a value of zero (0). In embodiments, the buffers BUFF_RX, BUFF_EQ, BUFF_HD, BUFF_SLCT may each have a size M. In embodiments, the buffers BUFF_RX, BUFF_EQ, and BUFF_HD may store complex values, and the buffer BUFF_SLCT may store real values. Each buffer may use indices i?[1, M] to locate data, where i indicates the relative time instant the data is stored. For example, the newest or most recent value may be stored at location with index i=M, and the oldest value may be stored at location with index i=1. Although
[0069] If the parameter kf_enabled is set to true, the packet payload reception initialization procedure may include determining a SINR index i.sub.sinr which minimizes .sub.dB?SINR.sub.dB|, and then determining M, Q, and ?.sub.0 according to Equation 16, Equation 17, and Equation 18 below:
[0070] If the parameter kf_enabled is set to false, the packet payload reception initialization procedure may include setting parameters C.sub.interfUpdate and C.sub.coolDown to zero (0), and setting the parameter cooldown to false. In embodiments, the parameter C.sub.interfUpdate may be a counter which indicates the detected consecutive interference duration in number of CFO/phase updates, and the parameter C.sub.coolDown may indicate a cooldown counter. The parameter cooldown may indicate whether cooldown is enabled or not.
[0071] Referring to
q.sub.n=r.sub.ne.sup.j{circumflex over (?)}d, d=mod(n?1, D) (Equation 19)
[0072] In Equation 19, d may denote the relative symbol index in an CFO/phase update block, and may be reset to zero (0) at the first symbol of an update block, e.g. at symbol index indices n=(k?1)D+1, k?[1, K]. Compensated symbol q.sub.n may be stored in the buffer BUFF_RX, which may contain M consecutive symbols in time, for example compensated symbols q.sub.n?M+1, q.sub.n?M+2, . . . , q.sub.n.
[0073] The estimation module 108 may further include a channel equalization module 414. The channel equalization module 414 may calculate an equalized compensated symbol ?.sub.n according to Equation 20 below:
?.sub.n=q.sub.n/?(Equation 20)
[0074] In Equation 20, ? may denote the latest or most recent updated channel estimate for processing the n-th symbol. Equalized compensated symbol ?.sub.n may be stored in the buffer BUFF_EQ which may contain M consecutive symbols in time, for example equalized compensated symbols ?.sub.n?M+1, ?.sub.n?M+2, . . . , ?.sub.n. In embodiments, the channel equalization may refer not to removing multipath channel, and instead may refer to removing phase rotation due to CFO, for example based on treating the phase as part of the flat channel, as discussed above.
[0075] The equalized compensated symbol ?.sub.n may be provided to the soft decision module 415 and the hard decision module 416
[0076] The soft decision module 415 may output soft bits obtained from equalized compensated symbol ?.sub.n. A soft bit output may be an approximate log-likelihood ratio (LLR), and may be calculated according to Equation 21 below:
[0077] In Equation 21, S.sub.0 may denote a set to collect all possible transmitted symbols when the transmitted hard bit is 0, and S.sub.1 may denote a set to collect all possible transmitted symbols when the transmitted hard bit is 1. For each ?.sub.n, there are O LLR soft bits, where O denotes the modulation order. In embodiments, the soft bits may be provided as inputs to a channel decoder, for example the decoding module 110.
[0078] The hard decision module 416 may output hard decision symbol
[0079] Hard decision symbol
[0080] In embodiments, the soft decision module 415 and the hard decision module 416 may share the computations in |
[0081] The estimation module 108 may further include a symbol selection module 417. The symbol selection module 417 may select a received symbol to be used for decision directed phase update. For example, the symbol selection module 417 may select a symbol based on the symbol based on all of the absolute values of the LLR soft bits corresponding to the symbol being larger than a threshold ?.sub.dd, for example such that |LLR|>?.sub.dd. In embodiments, a selection flag, which may for example have a value of one (1) if a symbol is selected, and a value of zero (0) if the symbol is not selected, may be stored in the buffer BUFF_SLCT.
[0082] The estimation module 108 may further include interference-aware CFO/phase update module 418, which may be activated or operated by the estimation module 108 every D symbols, for example at symbol n=kD (k?[1, K]).
[0083]
[0084] In embodiments, a decision feedback channel estimation procedure may be performed by the soft decision module 415, the hard decision module 416, the symbol selection module 417, and the initial channel estimation module 421. The initial channel estimation module 421 may calculate an initial channel estimate ?.sub.dd for a next CFO/phase update block according to Equation 22 and Equation 23 below:
[0085] In Equation 22 and Equation 23, i (i?[1, M]) may denote the index for data stored in the buffer 413, {tilde over (D)} may denote the number of selected symbols which contribute to ?.sub.dd, i.e., the number of entries having a value of one (1) in BUFF_SLCT for i?[M?D+1, M]. In embodiments, the initial channel estimation module 421 may rotate the phase to obtain a channel estimate for the (k+1)-th update block (for example at the (n+1)th symbol) according to Equation 24 below:
?.sub.dd=?.sub.dde.sup.j{circumflex over (?)}D (Equation 23)
[0086] According to embodiments, the interference-aware channel update module 422 and the interference-aware CFO update module 423 may operate as follows. First, the interference-aware channel update module 422 may predict channel estimate for the next update block according to Equation 24 below:
?.sub.old=?e.sup.j{circumflex over (?)}D (Equation 24)
[0087] If the parameter interference_detected is set to true, the interference-aware channel update module 422 may update the channel estimate according to Equation 25 below:
?=?.sub.old (Equation 25)
[0088] Then, if the parameter kf_enabled is set to true, the interference-aware CFO update module 423 may operate according to Example 2, and may update the estimated CFO {circumflex over (?)} using Equations 5-11, using a value of R=4?.sup.2, and using y.sub.k=arg(?.sub.dd). If the parameter kf_enabled is set to false, the interference-aware CFO update module 423 may operate according to Example 1, and may not update the estimated CFO {circumflex over (?)}, and may increment the parameter C.sub.interfUpdate.
[0089] If the parameter interference_detected is set to false, the interference-aware channel update module 422 may obtain a phase difference ? according to Equation 26 below:
?=arg(?.sub.dd?*) (Equation 26)
[0090] The interference-aware channel update module 422 may then obtain a decision directed channel estimate ?.sub.cur for the next block according to Equation 27 below:
?.sub.cur=?e.sup.j?(Equation 27)
[0091] The interference-aware channel update module 422 may then obtain a final updated channel estimate for the next block according to Equation 28 below:
?=(1??.sub.c)?.sub.old+?.sub.c?.sub.cur (Equation 28)
[0092] Then, if the parameter kf_enabled is set to true, the interference-aware CFO update module 423 may operate according to Example 2, and may find an SINR index i.sub.sinr to minimize |.sub.dB?SINR.sub.dB|, where
.sub.dB is the latest SINR estimate. Then, the interference-aware CFO update module 423 may update the estimated CFO {circumflex over (?)} using Equations 5-11, using a value of R=?.sub.p.sup.2(i.sub.sinr), and using y.sub.k=arg(?.sub.dd).
[0093] If the parameter kf_enabled is set to false, the interference-aware CFO update module 423 may operate according to Example 1, and may determine whether a value of the parameter C.sub.interfUpdate is greater than or equal to a value of the parameter M.sub.minInterfUpdate. If so, the interference-aware CFO update module 423 may set the parameter cooldown to true, may set the parameter C.sub.coolDown equal to zero (0), and may set the parameter M.sub.durCoolDown according to Equation 29 below:
M.sub.durCoolDown=?C.sub.interfUpdate*P.sub.coolDown?(Equation 29)
[0094] The interference-aware CFO update module 423 may then set the parameter C.sub.interfUpdate equal to zero (0).
[0095] If the parameter cooldown is set to true, the interference-aware CFO update module 423 may perform a cooldown procedure. For example, the interference-aware CFO update module 423 may determine whether a value of the parameter C.sub.coolDown is less than a value of the parameter M.sub.durCoolDown. If so, the interference-aware CFO update module 423 may increment the parameter C.sub.coolDown, and may set a value of the CFO update forgetting factor ?.sub.f according to Equation 30 below:
?.sub.f=?.sub.coolDown?.sub.f.sup.0 (Equation 30)
[0096] If the value of the parameter C.sub.coolDown is not less than the value of the parameter M.sub.durCoolDown, the interference-aware CFO update module 423 may reset the value of the CFO update forgetting factor ?.sub.f to be equal to the initial CFO update forgetting factor ?.sub.f.sup.0, and may set the parameter cooldown equal to false in order to end the cooldown procedure.
[0097] Next, the interference-aware CFO update module 423 may update the CFO estimate {circumflex over (?)} according to Equation 31 below:
{circumflex over (?)}=(1??.sub.f){circumflex over (?)}+?.sub.f(?/D) (Equation 31)
[0098] Referring again to
[0099] First, the SINR tracking and interference status update module 419 may update the instant SINR estimate .sub.dB according to Equation 32 below:
[0100] In Equation 32, {circumflex over (?)}.sub.n.sup.2 may denote the variance of noise and interference, and may be determined according to Equation 33 below:
[0101] In Equation 33, {tilde over (B)} may denote a number of selected symbols which contribute to the SINR estimation, for example the number entries having a value of one (1) in the buffer BUFF_SLCT at indices i?[M?B+1, M].
[0102] Further,
[0103] In Equation 32, {circumflex over (?)}.sub.sn.sup.2 may denote the variance of signal, noise and interference, and may be determined according to Equation 35 below:
[0104] In Equation 35,
[0105] Then, if .sub.dB?SINR.sub.min, the SINR tracking and interference status update module 419 may set the parameter interference_detected equal to false, and may otherwise set the parameter interference_detected equal to true.
[0106] Example values of some of the parameters discussed above are shown in Table 1 below.
TABLE-US-00001 TABLE 1 Example Values of Parameters Parameter Parameter explanation Example Value D CFO/phase update period in symbols 12 S SINR update period in symbols (the parameter 1 affects the SINR estimation latency) B Maximum number of symbols used for SINR 24 estimation M The length of buffers in symbols 24 ?.sub.c Channel update forgetting factor 1 ?.sub.f.sup.0 Initial CFO update forgetting factor 1/16 {tilde over (B)}.sub.min Minimum number of symbols used for SINR 5 estimation SINR.sub.dB Defined discrete reference SINR points in dB 3, 4, 5, . . . , 18, 19 SINR.sub.min Minimum SINR value (dB) to make decision 1 that there is no interference .sub.dB Instant SINR estimate in dB N/A ?.sub.dd LLR soft bit threshold to select a symbol for 0.6 for QPSK, 0.2 for decision directed channel/phase estimation 8PSK, 0.09 for 16QAM M.sub.minInterfSymb Minimum duration of detected consecutive 60 interference (in symbols) required to trigger the cool down operation (set to a relatively large value to disable the cool down operation) P.sub.coolDown Percentage of cool down duration with respect 0.8 to the duration of the detected consecutive interference ?.sub.coolDown Percentage of CFO tracking forgetting factor 0.5 with respect to the initial value when cool down is triggered
[0107]
[0108] As shown in
[0109] Embodiments described above, for example according to Example 1 and Example 2, may outperform other techniques, for example the techniques corresponding to Comparative Example 1 and Comparative Example 2, in interference-free environments, and may therefore provide improved communication quality and increased throughput. Evidence of this is provided below with respect to
[0110] In addition, embodiments described above, for example according to Example 1 and Example 2, may suppress error propagation caused by interference, thus further improving communication quality and further increasing throughput under interference environments. Other techniques, for example the techniques corresponding to Comparative Example 1 and Comparative Example 2, may not have interference-awareness in terms of CFO/phase tracking. Evidence of this is provided below with respect to
[0111] The proposed tracking methods may not require pilot/training field inserted in the payload, and thus may improve the spectral efficiency of wireless communication systems. In embodiments, Example 1 may exhibit lower performance than Example 2, however Example 2 may have a higher computational complexity than Example 1.
[0112]
[0113]
[0114] As shown in
[0115] As shown in
[0116]
[0117]
[0118]
[0119]
[0120]
[0121] As shown in
[0122] As further shown in
[0123] As further shown in
[0124] As further shown in
[0125] As further shown in
[0126] As further shown in
[0127]
[0128] As shown in
[0129] As further shown in
[0130] As further shown in
[0131] As further shown in
[0132] As further shown in
[0133] In embodiments, an initial channel estimate may be determined based on the compensated data symbol and the equalized compensated data symbol, and at least one of the updated channel estimate and the updated carrier frequency offset may be calculated based on the initial channel estimate and the result of the interference detection. In embodiments, the initial channel estimate may correspond to the initial channel estimate ?.sub.dd discussed above.
[0134] In embodiments, based on the result of the interference detection indicating that the interference is detected the updated channel estimate may be calculated based on the channel estimate and the estimated carrier frequency offset; based on Kalman filtering being enabled, calculating the updated carrier frequency offset based on the initial channel estimate using the Kalman filtering; and based on the Kalman filtering not being enabled, setting the updated carrier frequency offset equal to the estimated carrier frequency offset. In embodiments, the Kalman filtering being enabled may correspond to Example 2 discussed above, and the Kalman filtering not being enabled may correspond to Example 1 discussed above.
[0135] In embodiments, based on the result of the interference detection indicating that the interference is not detected, the updated channel estimate may be calculated based on the channel estimate and a phase difference between the channel estimate and the initial channel estimate; based on Kalman filtering being enabled, the updated carrier frequency offset may be calculated using the Kalman filtering; and based on the Kalman filtering not being enabled, the updated carrier frequency offset may be calculated based on the estimated carrier frequency offset and the phase difference between the channel estimate and the initial channel estimate. In embodiments, the Kalman filtering being enabled may correspond to Example 2 discussed above, and the Kalman filtering not being enabled may correspond to Example 1 discussed above.
[0136]
[0137] As shown in
[0138] As further shown in
[0139] As further shown in
[0140] Although
[0141]
[0142] According to an embodiment, the electronic device 1201 may include a processor 1220, memory 1230, an input module 1250, a sound output module 1255, a display module 1260, an audio module 1270, a sensor module 1276, an interface 1277, a connecting terminal 1278, a haptic module 1279, a camera module 1280, a power management module 1288, a battery 1289, a communication module 1290, or an antenna module 1297. In some embodiments, at least one of the components may be omitted from the electronic device 1201, or one or more other components may be added in the electronic device 1201. In some embodiments, some of the components (e.g., the sensor module 1276, the camera module 1280, or the antenna module 1297) may be implemented as a single component (e.g., the display module 1260).
[0143] The processor 1220 may execute, for example, software (e.g., a program 1240) to control at least one other component (e.g., a hardware or software component) of the electronic device 1201 coupled with the processor 1220, and may perform various data processing or computation. According to one embodiment, as at least part of the data processing or computation, the processor 1220 may store a command or data received from another component (e.g., the sensor module 1276 or the communication module 1290) in volatile memory 1232, process the command or the data stored in the volatile memory 1232, and store resulting data in non-volatile memory 1234. According to an embodiment, the processor 1220 may include a a central processing unit (CPU) or an application processor (AP), a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP).
[0144] The memory 1230 may store various data used by at least one component (e.g., the processor 1220 or the sensor module 1276) of the electronic device 1201. The various data may include, for example, software (e.g., the program 1240) and input data or output data for a command related thereto. The memory 1230 may include the volatile memory 1232 or the non-volatile memory 1234.
[0145] The program 1240 may be stored in the memory 1230 as software, and may include, for example, an operating system (OS) 1242, middleware 1244, or an application 1246.
[0146] The input module 1250 may receive a command or data to be used by another component (e.g., the processor 1220) of the electronic device 1201, from the outside (e.g., a user) of the electronic device 1201. The input module 1250 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0147] The sound output module 1255 may output sound signals to the outside of the electronic device 1201. The sound output module 1255 may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing record. The receiver may be used for receiving incoming calls. According to an embodiment, the receiver may be implemented as separate from, or as part of the speaker.
[0148] The display module 1260 may visually provide information to the outside (e.g., a user) of the electronic device 1201. The display module 1260 may include, for example, a display, a hologram device, or a projector and control circuitry to control a corresponding one of the display, hologram device, and projector. According to an embodiment, the display module 1260 may include a touch sensor adapted to detect a touch, or a pressure sensor adapted to measure the intensity of force incurred by the touch.
[0149] The audio module 1270 may convert a sound into an electrical signal and vice versa. According to an embodiment, the audio module 1270 may obtain the sound via the input module 1250, or output the sound via the sound output module 1255 or a headphone of an external electronic device (e.g., an electronic device 1202) directly (e.g., wiredly) or wirelessly coupled with the electronic device 1201.
[0150] The sensor module 1276 may detect an operational state (e.g., power or temperature) of the electronic device 1201 or an environmental state (e.g., a state of a user) external to the electronic device 1201, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 1276 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0151] The interface 1277 may support one or more specified protocols to be used for the electronic device 1201 to be coupled with the external electronic device (e.g., the electronic device 1202) directly (e.g., wiredly) or wirelessly. According to an embodiment, the interface 1277 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0152] The haptic module 1279 may convert an electrical signal into a mechanical stimulus (e.g., a vibration or a movement) or electrical stimulus which may be recognized by a user via his tactile sensation or kinesthetic sensation. According to an embodiment, the haptic module 1279 may include, for example, a motor, a piezoelectric element, or an electric stimulator.
[0153] The camera module 1280 may capture a still image or moving images. According to an embodiment, the camera module 1280 may include one or more lenses, image sensors, image signal processors, or flashes.
[0154] The power management module 1288 may manage power supplied to the electronic device 1201. According to one embodiment, the power management module 1288 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0155] The battery 1289 may supply power to at least one component of the electronic device 1201. According to an embodiment, the battery 1289 may include, for example, a primary cell which is not rechargeable, a secondary cell which is rechargeable, or a fuel cell.
[0156] The communication module 1290 may support establishing the communication channel 1204, which may be a direct (e.g., wired) communication channel or a wireless communication channel, between the electronic device 1201 and am external electronic device (e.g., the electronic device 1202) and performing communication via the communication channel 1204. The communication module 1290 may include one or more communication processors that are operable independently from the processor 1220 (e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication. According to an embodiment, the communication module 1290 may include a wireless communication module 1292 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 1294 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic device 1202 via the communication channel 1204, which operate according to, for example a short-range communication network, such as Bluetooth?, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA), a long-range communication network, such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multi components (e.g., multi chips) separate from each other.
[0157] The wireless communication module 1292 may support a 5G network, after a 4G network, and next-generation communication technology, e.g., new radio (NR) access technology. The NR access technology may support enhanced mobile broadband (eMBB), massive machine type communications (mMTC), or ultra-reliable and low-latency communications (URLLC). The wireless communication module 1292 may support a high-frequency band (e.g., the mmWave band) to achieve, e.g., a high data transmission rate. The wireless communication module 1292 may support various technologies for securing performance on a high-frequency band, such as, e.g., beamforming, massive multiple-input and multiple-output (massive MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 1292 may support various requirements specified in the electronic device 1201, an external electronic device (e.g., the electronic device 1202), or a network system. According to an embodiment, the wireless communication module 1292 may support a peak data rate (e.g., 20 Gbps or more) for implementing eMBB, loss coverage (e.g., 1064 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of downlink (DL) and uplink (UL), or a round trip of 8 ms or less) for implementing URLLC.
[0158] The antenna module 1297 may transmit or receive a signal or power to or from the outside (e.g., the external electronic device) of the electronic device 1201. According to an embodiment, the antenna module 1297 may include an antenna including a radiating element composed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 1297 may include a plurality of antennas (e.g., array antennas). In such a case, at least one antenna appropriate for a communication scheme used in a communication network may be selected, for example, by the communication module 1290 (e.g., the wireless communication module 1292) from the plurality of antennas. The signal or the power may then be transmitted or received between the communication module 1290 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 1297.
[0159] At least some of the above-described components may be coupled mutually and communicate signals (e.g., commands or data) therebetween via an inter-peripheral communication scheme (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)).
[0160] According to an embodiment, commands or data may be transmitted or received between the electronic device 1201 and the electronic device 1202 via a server coupled with the communication channel 1204. The electronic device 1202 may be a device of a same type as, or a different type, from the electronic device 1201. According to an embodiment, all or some of operations to be executed at the electronic device 1201 may be executed at the external electronic device 1202. For example, if the electronic device 1201 should perform a function or a service automatically, or in response to a request from a user or another device, the electronic device 1201, instead of, or in addition to, executing the function or the service, may request one or more external electronic devices to perform at least part of the function or the service. The one or more external electronic devices receiving the request may perform the at least part of the function or the service requested, or an additional function or an additional service related to the request, and transfer an outcome of the performing to the electronic device 1201. The electronic device 1201 may provide the outcome, with or without further processing of the outcome, as at least part of a reply to the request. To that end, a cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device 1201 may provide ultra low-latency services using, e.g., distributed computing or mobile edge computing. In another embodiment, the external electronic device 1202 may include an internet-of-things (IoT) device. The server may be an intelligent server using machine learning and/or a neural network. The electronic device 1201 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology or IoT-related technology.
[0161] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic devices may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the disclosure, the electronic devices are not limited to those described above.
[0162] As is traditional in the field, the embodiments are described, and illustrated in the drawings, in terms of functional blocks, units and/or modules. Those skilled in the art will appreciate that these blocks, units and/or modules are physically implemented by electronic (or optical) circuits such as logic circuits, discrete components, microprocessors, hard-wired circuits, memory elements, wiring connections, and the like, which may be formed using semiconductor-based fabrication techniques or other manufacturing technologies. In the case of the blocks, units and/or modules being implemented by microprocessors or similar, they may be programmed using software (e.g., microcode) to perform various functions discussed herein and may optionally be driven by firmware and/or software. Alternatively, each block, unit and/or module may be implemented by dedicated hardware, or as a combination of dedicated hardware to perform some functions and a processor (e.g., one or more programmed microprocessors and associated circuitry) to perform other functions. Also, each block, unit and/or module of the embodiments may be physically separated into two or more interacting and discrete blocks, units and/or modules without departing from the present scope. Further, the blocks, units and/or modules of the embodiments may be physically combined into more complex blocks, units and/or modules without departing from the present scope.
[0163] The various operations of methods described above may be performed by any suitable means capable of performing the operations, such as various hardware and/or software component(s), circuits, and/or module(s).
[0164] The software may include an ordered listing of executable instructions for implementing logical functions, and can be embodied in any processor-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a single or multiple-core processor or processor-containing system.
[0165] The blocks or steps of a method or algorithm and functions described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a tangible, non-transitory computer-readable medium. A software module may reside in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, hard disk, a removable disk, a CD ROM, or any other form of storage medium known in the art.
[0166] The foregoing is illustrative of the embodiments and is not to be construed as limiting thereof. Although a few embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the embodiments without materially departing from the present scope.