SYSTEM AND METHODS FOR SUPPRESSING CHANNEL REPLICA
20260128928 ยท 2026-05-07
Inventors
Cpc classification
International classification
H04L25/02
ELECTRICITY
Abstract
Embodiments of the present disclosure provide a method for suppressing channel replica caused by carrier frequency offset (CFO). The method includes: generating, by an analog-to-digital converter (ADC), a plurality of samples after receiving a sequence of chips by an antenna; accumulating, by an accumulator, the plurality of samples to generate an initial channel impulse response (CIR); comparing the CFO with a threshold value; in response to the CFO being greater than the threshold value, applying a filtering operation on the initial CIR estimate, the filtering operation configured to reduce an intensity of a sidelobe in the initial CIR estimate while maintaining an intensity of a main lobe in the initial CIR estimate; and generating a final estimated CIR based on the filtered initial CIR estimate.
Claims
1. A method for suppressing channel replica caused by carrier frequency offset (CFO), comprising: generating, by an analog-to-digital converter (ADC), a plurality of samples after receiving a sequence of chips by an antenna; accumulating, by an accumulator, the plurality of samples to generate an initial channel impulse response (CIR) estimate; comparing the CFO with a threshold value; in response to the CFO being greater than the threshold value, applying a filtering operation on the initial CIR estimate, the filtering operation configured to reduce an intensity of a sidelobe in the initial CIR estimate while maintaining an intensity of a main lobe in the initial CIR estimate; and generating a final estimated CIR based on the filtered initial CIR estimate.
2. The method of claim 1, further comprising: determining an ambiguity function of the sequence; determining an analytical model of the initial CIR estimate based on the ambiguity function and a channel response of the sequence; and generating a set of filter coefficient vectors of the filter based on the ambiguity function, wherein the set of the filter coefficient vectors each correspond to a respective one of the plurality of samples.
3. The method of claim 2, wherein the applying of the filtering operation comprises generating an inner product of each of the filter coefficient vector with the initial CIR estimate.
4. The method of claim 2, wherein the ambiguity function comprises samples arranged in a Toeplitz matrix and comprises a pseudo-circulant matrix.
5. The method of claim 2, wherein the generating of the set of filter coefficient vectors comprises: generating one filter coefficient vector of the filter coefficient vectors; and generating an adjacent filter coefficient vector of the one filter coefficient vectors based on the pseudo-circulant matrix.
6. The method of claim 5, wherein the generating of the set of filter coefficients comprises: generating a first filter coefficient vector of the filter coefficient vectors; and generating a next filter coefficient vector by: multiplying a last element of a previous filter coefficient vector with a phase factor to generate a product, and shifting the product to be a first element and a remaining of elements by one position to the right.
7. The method of claim 5, wherein the generating of the set of filter coefficient vectors comprises: generating a last filter coefficient vector of the filter coefficient vectors; and generating a previous filter coefficient vector by: multiplying a first element of a next filter coefficient vector with a phase factor to generate a product, and shifting the product to be a last element and a remaining of elements by one position to the left.
8. The method of claim 5, wherein a first filter coefficient vector or a last filter coefficient vector is pre-computed based on a total sidelobe suppression or a convex optimization.
9. The method of claim 5, wherein the shifting is performed in a shift register.
10. The method of claim 1, wherein the sequence comprises a synchronization header (SHR) of a radio frequency (RF) packet.
11. The method of claim 1, further comprising computing one or more of a time of arrival (ToA) or a position of arrival (PoA) based on the final CIR estimate.
12. An ultra-wideband (UWB) device, comprising a UWB receiver comprising an analog-to-digital converter (ADC), wherein the UWB receiver is configured to: generate, by the ADC, a plurality of samples after receiving a sequence of chips by an antenna; accumulate, by an accumulator, the plurality of samples to generate an initial channel impulse response (CIR) estimate; compare the CFO with a threshold value; in response to the CFO being greater than the threshold value, apply a filtering operation on the initial CIR, the filtering operation configured to reduce an intensity of a sidelobe in the initial CIR estimate while maintaining an intensity of a main lobe in the initial CIR estimate; and generate a final estimated CIR based on the filtered initial CIR estimate.
13. The UWB device of claim 12, wherein the UWB receiver is further configured to: determine an ambiguity function of the sequence; determine an analytical model of the initial CIR estimate based on the ambiguity function; and generate a set of filter coefficient vectors of the filter based on the ambiguity function, wherein the set of the filter coefficient vectors each correspond to a respective one of the plurality of samples.
14. The UWB device of claim 13, wherein to apply the filtering operation comprises generating an inner product of each of the filter coefficient vector with a respective part of the initial CIR estimate that corresponds to the respective one of the plurality of samples.
15. The UWB device of claim 13, wherein the ambiguity function comprise samples arranged in a Toeplitz matrix and comprises a pseudo-circulant matrix.
16. The UWB device of claim 13, wherein to generate the set of filter coefficient vectors comprises: generating one filter coefficient vector of the filter coefficient vectors; and generating an adjacent filter coefficient vector of the one filter coefficient vectors based on the pseudo-circulant matrix.
17. The UWB device of claim 16, wherein to generate the set of filter coefficients comprises: generating a first filter coefficient vector of the filter coefficient vectors; and generating a next filter coefficient vector by: multiplying a last element of a previous filter coefficient vector with a phase factor to generate a product, and shifting the product to be a first element and a remaining of elements by one position to the right.
18. The UWB device of claim 16, wherein to generate the set of filter coefficient vectors comprises: generating a last filter coefficient vector of the filter coefficient vectors; and generating a previous filter coefficient vector by: multiplying a first element of a next filter coefficient vector with a phase factor to generate a product, and shifting the product to be a last element and a remaining of elements by one position to the left.
19. The UWB device of claim 16, wherein the shifting is performed in a shift register.
20. A non-transitory computer-readable medium (CRM) having program code recorded thereon, the program code comprising: code for causing an ultra-wide band (UWB) device to generate, by an analog-to-digital converter (ADC), a plurality of samples after receiving a sequence of chips by an antenna; code for causing the UWB device to accumulate, by an accumulator, the plurality of samples to generate an initial channel impulse response (CIR); code for causing the UWB device to compare the CFO with a threshold value; code for causing the UWB device to, in response to the CFO being greater than the threshold value, apply a filtering operation on the initial CIR estimate, the filtering operation configured to reduce an intensity of a sidelobe in the initial CIR estimate while maintaining an intensity of a main lobe in the initial CIR estimate; and code for causing the UWB device to generate an estimated CIR based on the filtered initial CIR estimate.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTION
[0035] The following detailed description is illustrative in nature and is not intended to limit the scope, applicability, or configuration of inventive embodiments disclosed herein in any way. Rather, the following description provides practical examples, and those skilled in the art will recognize that some of the examples may have suitable alternatives. Embodiments will hereinafter be described in conjunction with the appended drawings, which are not to scale (unless so stated), wherein like numerals/letters denote like elements. However, it will be understood that the use of a number to refer to a component in a given drawing is not intended to limit the component in another drawing labeled with the same number. In addition, the use of different numbers to refer to components in different drawings is not intended to indicate that the different numbered components cannot be the same or similar to other numbered components. Examples of constructions, materials, dimensions and fabrication processes are provided for select elements and all other elements employ that which is known by those skilled in the art.
[0036] As used herein, the term about refers to a given amount of value that may vary based on the particular technology node associated with the semiconductor device. Based on a particular technology node, the term about can refer to a given amount of value that varies, for example, within 10-30% of the value (e.g., 10%, 20%, or 20% of that value, or 30%).
[0037] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. As used herein, the term and/or includes any and all combinations of one or more of the associated listed items.
[0038] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms a, an, and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms comprises, comprising, includes, and/or including when used herein specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0039] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Additionally, like reference numerals denote like features throughout specification and drawings.
[0040] It should be appreciated that the blocks in each signaling diagram or flowchart and combinations of the signaling diagrams or flowcharts may be performed by computer program instructions. Since the computer program instructions may be equipped in a processor of a general-use computer, a special-use computer or other programmable data processing devices, the instructions executed through a processor of a computer or other programmable data processing devices generate means for performing the functions described in connection with a block(s) of each signaling diagram or flowchart. Since the computer program instructions may be stored in a computer-available or computer-readable memory that may be oriented to a computer or other programmable data processing devices to implement a function in a specified manner, the instructions stored in the computer-available or computer-readable memory may produce a product including an instruction for performing the functions described in connection with a block(s) in each signaling diagram or flowchart. Since the computer program instructions may be equipped in a computer or other programmable data processing devices, instructions that generate a process executed by a computer as a series of operational steps are performed by the computer or other programmable data processing devices and operate the computer or other programmable data processing devices may provide steps for executing the functions described in connection with a block(s) in each signaling diagram or flowchart.
[0041] Each block may represent a module, segment, or part of a code including one or more executable instructions for executing a specified logical function(s). Further, it should also be noted that in some replacement execution examples, the functions mentioned in the blocks may occur in different orders. For example, two blocks that are consecutively shown may be performed substantially simultaneously or in a reverse order depending on corresponding functions.
[0042] Reference will now be made in greater detail to various embodiments of the subject matter of the present disclosure, some embodiments of which are illustrated in the accompanying drawings.
[0043] Performance limitations of the SHR over the CFO, due to the correlation before the CFO removal, is a known problem in UWB technology. The cause of the problem is found in the periodic sequence being distorted by the CFO before the correlation. The sequence loses its favorable periodic autocorrelation (PACR) properties giving rise to sidelobes, which manifest as CIR replica or channel replica in the accumulator. The channel replica can limit the detection performance of the weaker paths, since they can be hidden in the sidelobes of the stronger paths.
[0044] Previous effort has been made to alleviate the problem in the correlator domain or de-rotation domain. However, these approaches often require a more complex architecture of the receiver. The complexity of the approaches can make it more costly to be implemented in the existing receiver architecture.
[0045] Embodiments of the present disclosure provide a novel method of per accumulator path linear filtering. Specifically, the output (e.g., initial CIR estimate) of an accumulator undergoes a post-processing filtering that suppresses (filters out) the sidelobes in the output and maintains the intensity of the main lobe. The generated final CIR estimate, which is an estimate of the initial CIR estimate, can be used to determine parameters such as ToA with higher precision due to the suppression of sidelobes. Because the sidelobes are suppressed, information on the path can be more accurately obtained. Accordingly, parameters (e.g., ToA) calculated based on the final CIR estimate can have improved accuracy and precision. Also, the module for implementing the post-processing filtering is compatible with the existing receiver architecture. For example, the module can process/filter the output of an existing accumulator to provide a final CIR estimate with suppressed sidelobes. The cost to implement the filtering operation is thus minimized.
[0046] The method of the present disclosure includes determining an analytical model of the output of the accumulator based on an ambiguity function of the SHR sequence, and generating filter coefficients for the post-processing filtering based on the ambiguity function. The method also includes applying the filter coefficients on the output of the accumulator to suppress the sidelobes (e.g., channel replica) while maintaining the main lobe. Specifically, the filter coefficients (e.g., coefficient vectors) may iteratively change per accumulator path in a pseudo-circular fashion, consistent with the analytical model of the accumulator. The reason why this technique effectively suppress the sidelobes can be found in the analytical model of the output of the accumulator, which is partly based on an ambiguity function of the sequence and includes pseudo-circulation characteristics. The filter coefficients, which are vectors corresponding to respective samples, can be pre-computed in a computer or by a shift register.
[0047]
[0048] Receiver 100 may further include a post-processing module 102 that receives initial CIR estimate 105, performs a filtering operation on initial CIR estimate 105, and generates a final CIR estimate 111. To generate final CIR estimate 111, post-processing module 102 may access pre-computed data 109 from memory 116. In some embodiments, pre-computed data 109 includes an ambiguity function of the sequence, an analytical model of the output of accumulator 114, and filter coefficients (e.g., coefficient vectors) for the filtering operation. Final CIR estimate 111 may be a filtered/processed version of initial CIR estimate 105. Compared to initial CIR estimate 105, final CIR estimate 111 may have a main lobe of similar intensity and sidelobes of reduced intensity. For example, the intensity of sidelobes can be reduced by at least about 30 dB or approximately 32 times. In other words, sidelobes are suppressed in final CIR estimate 111, e.g., for the detection of weaker, useful paths. In the present disclosure, the analytical model of the output of accumulator 114, as well as the filter coefficients are pre-computed and pre-stored. Although not shown, final CIR estimate 111 may be used to further compute other parameters such as ToA, position of arrival (PoA), etc.
[0049] In some embodiments, post-processing module 102 may include a processor, such as a central processing unit (CPU), a graphics processing unit (GPU), and/or a microprocessor. Memory 116 may include a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), an optical disk storage, a magnetic disk storage, and/or the like. Operating software, data, and/or signal symbols may be stored/buffered in memory 116 for use.
[0050]
[0051] It is assumed that a transmitter transmits s(n) as an infinite periodic preamble, to receiver 100. s(n) may modulated by a CFO, which denoted v. In the baseband discrete-time transmitter equivalent, s(n) may be represented by equation (1):
for <n<+. In equation (1), a(n) is the preamble codeword of length M and v is a discrete-time frequency of CFO. s(n) may pass through the channel with the complex discrete-time baseband-equivalent channel impulse response (CIR) h(n), which includes both transmitter and receiver impulse responses.
[0052] Transmitter and receiver 100 may be coarsely synchronized at the time of CIR estimation, therefore, h(n) can be non-zero only for 0nM1.
[0053] At the receiver, s(n) and h(n) may produce a baseband-equivalent complex signal r(n, v):
where .Math. denotes convolution.
[0054] The received signal goes through the correlator with the impulse response a*(n) to produce the signal c(n, v):
[0055] Equation (3) can be rearranged as
[0056] Here, (n, v) may represent periodic ambiguity function (PAF) of a(n) with a single integration period, as disclosed by Freedman et al. (A. Freedman and N. Levanon, Properties of the periodic ambiguity function, IEEE Transactions on Aerospace and Electronic Systems, vol. 30, pp. 938-941, July 1994.) and Levanon (N. Levanon, The periodic ambiguity functionIts validity and value, in 2010 IEEE Radar Conference, 2010.):
for <n<+.
[0057] A property of (n, v), derived from (5), may be its pseudo-periodicity in time, as shown in equation (6):
for integer k and =2vM.
[0058] The pseudo-periodicity property can be exploited in the rotation and accumulation. For example, receiver 100 may rotate and accumulate K preamble symbols at the output of correlator 110 to obtain the scaled channel estimate, which is also referred to the output of an accumulator, denoted g(n, v):
for n{0, 1, . . . , M1}.
[0059] Another property of the PAF for a real sequence, derived from equation (5), is symmetry in frequency:
[0060] As shown in
[0061] The goal of the disclosed method is to estimate a frequency channel, especially low-level paths, masked by sidelobes of high-level paths. In other words, the goal is to calculate the estimate of h(n), for n{0, 1, . . . , M1}, denoted (n), from g(n, v). This can be done using filtering by post-processing module 102. The filter can be designed for each path index, and this may be done before the filtering operation, e.g., without knowing g(n, v).
[0062] Ambiguity function 200 may be used by receiver 100 to compute an analytical model of the output of accumulator 114, e.g., which can include a vector representation of accumulator 114. The analytical model may be pre-computed and pre-stored in memory 116, and may be accessed by post-processing module 102 for filtering/processing initial CIR estimate 105.
[0063] Equation (7) can be written in a column-vector form to represent the analytical model of the output of an accumulator (e.g., 114) as:
Here
is the accumulator column-vector and .sub.n(v), for n=0, 1, . . . , M1, represent column-vectors of ambiguity function (or ambiguity function samples as elements of discrete-time vectors or discrete-time sequences):
[0064] Furthermore, (9) can be written in a matrix-vector form as:
[0065] X(v) in equation (11) may represent the ambiguity function of the sequence, and equations (9) and (11) can each represent the analytical model of the output (e.g., initial CIR estimate 105) of accumulator 114. In some embodiments, initial CIR estimate 105 includes g(v). Here,
is the channel column-vector and X(v), which is a MM matrix:
[0066] In some embodiments, X(v) is a Toeplitz matrix, in which each descending diagonal from left to right is constant. Furthermore, X(v) is a pseudo-circulant matrix, as (n, v)=exp(j)(Mn,v) for n{1, 2, . . . , M1}. X(v) may exhibit a structure similar to a circulant matrix but with some deviation from the strict circulant property. For a real sequence, X(v)=X*(v) holds due to (8). In some embodiments, the pseudo-circularity property of X(v), (e.g., as part of g(v)) may be used to determine filter coefficients (e.g., coefficient vectors) of post-processing module 102.
[0067] The following pseudo-circularity property of .sub.n(v) vectors can be derived from (6) and (10):
[0068] Here, P(v) represents the following pseudo-circulation matrix:
[0069] The matrix inverse of P(v) is: P.sup.1(v)=P.sup.H(v), where superscript H denotes Hermitian transposition. Therefore, [P.sup.1(v)].sup.T=P*(v) holds, as well as P.sup.M(v)=exp(j) I.sub.M.
[0070] The filtering operation by post-processing module 102 may be described as follows. A set of M column-vector filters: w.sub.n(v) is defined, for n=0, 1, . . . , M1, where:
[0071] As shown in equation (15), w.sub.n(v) is designed with the aim to estimate h(n) from g(v). (n) may represent a final CIR estimate (e.g., 111) computed based on the post-processing or filtering of the initial CIR estimate (e.g., 105), and may have suppressed sidelobes to more accurately reflect the paths information of the frequency channel. In some embodiments, each w.sub.n(v) is referred to a filter coefficient or a coefficient vector for a respective sample being accumulated in accumulator 114. Since the initial CIR estimate (e.g., 105) is not known when designing w.sub.n(v), the influence of n-th path to k-th path estimate after filtering can be quantified as:
[0072] In other words, l.sub.n=k,k(v) may represent the main lobe, and l.sub.nk,k(v) may represent the sidelobe.
[0073] It is noted that for a real sequence, if
is chosen, que to (8), (16) becomes:
[0074] Therefore, in this case, a coefficient vector intended for one frequency can be used for its inverse with the same results by conjugating it.
[0075] If w.sub.k(v) is chosen in the following way:
for k=1, 2, . . . , M1, the following main lobe and sidelobe recursion can be derived from (13), (16), and (18):
[0076] From the above recursion, the main lobe and the sidelobes with regards to those for k=0 are:
[0077] Therefore, the main lobe and the pre-cursor sidelobes (e.g., sidelobes that appear before the main lobe), when their position is viewed relatively to the main lobe, will always be the same as for k=0. On the other hand, the post-cursor sidelobes (e.g., sidelobes that appear after the main lobe), when wrapping around from the pre-cursor sidelobes, will be rotated by exp(j). Since the sidelobes phases are generally not important for the performance, only w.sub.0(v) may be designed, and then equation (18) may be used to obtain w.sub.k(v). Another approach to implement equation (18) is circular shifting with a multiplication by exp(j), as shown in
[0078]
[0079] For example, assuming M is equal to 6, there may be 6 coefficient vectors with indices 0-5, =/2 so that exp(j)=1j:
[0080] Similarly, w.sub.M1 (v) can be designed and w.sub.k(v) can be calculated as:
for k=0, 1, . . . , M2.
[0081] As shown in
[0082] For example, assuming M is equal to 6, there may be 6 coefficient vectors with indices 0-5, q=/2 so that exp(j)=1j:
[0083] In some embodiments, w.sub.k(v) for any k{0, 1, . . . , M1} can be generated first to generate the rest of the coefficient vectors. In this case, equations (18) or (21) may be used to calculate all the others. In various embodiments, calculating w.sub.0(v) directly from w.sub.M1(v) and vice versa (e.g., as shown in equations (18) and (21)) is possible. In some embodiments, when using (18), w.sub.0(v) can be determined as:
[0084] In some embodiments, when using (21), which can be derived from (22), w.sub.M1(v) can be determined as:
[0085] Equations (24)-(27) are described below to show the design and calculation of w.sub.0(v), assuming all sidelobes on a single frequency v.sub.0 are totally suppressed. In some embodiments, w.sub.0(v) is designed for a single frequency v.sub.0, or an interval of frequencies v E [v.sub.0v, v.sub.0+v]. In the latter case, v.sub.0 is the central frequency of the interval and w.sub.0(v)=w.sub.0(v.sub.0), V[v.sub.0v, v.sub.0+v]. In other words, the same initial coefficient vector may be used for CFO in [v.sub.0v, v.sub.0+v]. It is noted that, however, that the subsequent coefficient vectors may be different, calculated using (18), which is v-dependent.
[0086] To design post-processing module 102 (e.g., the filter or the filter coefficients), signal-to-noise ratio (SNR) affected by the filtering operation is considered. The SNR may be kept in a desirably high level in the design. It can be shown that the SNR loss of the filtering, in white accumulator noise, denoted (v), is equal to:
[0087] It is noted that equation (18) keeps the energy of the filter coefficient vectors constant, as well as the main lobe level, therefore, (v) does not change with the path index.
[0088] The scaling of the filter may be chosen so the gain of the main lobe at v.sub.0 equals to unity:
[0089] Therefore, from equations (24) and (25), the following may hold:
[0090] In some embodiments, equation (27) may be used to totally suppress all the sidelobes on a single frequency v.sub.0:
for n=1, 2, . . . , M1.
[0091] The expressions (25) and (27) represent a system of M linear equations with M unknowns, which, generally, can be solved for w.sub.0(v.sub.0). It is noted that w.sub.0(v.sub.0) can be solved by using Levinson-Durbin recursion as X(v) is a Toeplitz matrix with a non-zero main diagonal. In some embodiments, equations (25) and/or (27) are used to compute w.sub.0(v), which may be used in equations (18) and/or (21) to compute coefficient vectors corresponding to other samples.
[0092] In some embodiments, as there will be non-idealities of the system that will give rise to the accumulator artefacts with a certain level regardless of the input SNR, a second-order cone program (SOCP), as mentioned by Dotlic et al (I. Dotlic and R. Kohno, Design of the Family of Orthogonal and Spectrally Efficient UWB Waveforms, IEEE Journal of Selected Topics in Signal Processing, vol. 1, pp. 21-30, 2007.), which is convenient since it is a convex optimization method (S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004.) is used to compute w.sub.0(v). By using the convex optimization method, w.sub.0(v) may converge to the unique optimal solution, provided the problem is solvable. As an example, peak sidelobe level can be constrained to be below a certain level, which should be chosen to be below other accumulator artefacts, as:
for n=1, 2, . . . , M1, where y is the peak sidelobe level in dB. Then, SNR loss is minimized in a SOCP as:
[0093] In other words, the norm of coefficients vector is minimized under the equality constraint (25) and the non-equality constraints (28).
[0094] In some embodiments, the coefficient vectors are pre-computed and stored in memory 116. In this case, a coefficient vector may be designed to work sufficiently well for all the frequencies within the frequency interval [v.sub.0v, v.sub.0+v]. In some embodiments, a trade-off may be made between the length of the frequency interval, which indicates the number of the vectors required to be stored in the memory, and the performance.
[0095] One way to do such design for the interval of frequencies v[v.sub.0v, v.sub.0+v], is to formulate a SOCP to constrain the sidelobes, not only for v.sub.0, but for a set of frequencies, v.sub.j[v.sub.0v, v.sub.0+v], j=J, J+1, . . . , 0, . . . , J. The frequencies v; may or may not be uniformly distributed over the interval. The absolute value of a sidelobe may be represented as:
for n=1, 2, . . . , M1, and j=J, J+1, . . . , 0, . . . , J. Then, SNR loss at v.sub.0 is minimized in a SOCP as:
may the be used as
v[v.sub.0v, v.sub.0+v]. The norm of coefficients vector is minimized under the equality constraint (25) and the non-equality constraints (30). It is noted that in equation (30) the main lobe for Vito is not constrained. Also, the sidelobes for v.sub.j0 are constrained in level with regards to the main lobe for v.sub.0 and not their corresponding main lobe. These facts may considerably simplify the SOCP formulation.
[0096]
[0097] At step 402, packet reception is performed. Referring back to
[0098] At step 404, if receiver 100 determines the absolute value of CFO | v| is higher than a threshold value v.sub.min, receiver 100 may proceed to step 406, at which receiver 100 starts filtering initial CIR estimate 105 (shown as SHR Accumulator Filter). After step 406, e.g., the filtering, is completed, method 400 may proceed to step 408, at which an final CIR estimate 111, obtained from the filtering of initial CIR estimate 105, may be used for further processing to compute parameters such as ToA and/or position of arrival (PoA) estimation (shown as Further SHR Accumulator Processing). If receiver 100 determines the absolute value of CFO |v| is equal to or lower than threshold value v.sub.min, receiver 100 may proceed directly to step 408, at which initial CIR estimate 105 may be used for further processing to compute parameters such as ToA and/or position of arrival (PoA) estimation.
[0099] In some embodiments, for perfect PACF sequences, or sequences with good but not perfect PACF, such as m-sequences, the accumulator filtering might not be needed for low absolute values of v (e.g., |v|v.sub.min).
[0100]
[0101]
[0102] At step 502, method 500 starts with index number k=0, corresponding to the first sample.
[0103] At step 504, post-processing module 102 may acquire w.sub.0(v), e.g., from memory 116. In some embodiments, w.sub.0(v) is pre-computed and stored in memory 116.
[0104] At step 506, post-processing module 102 may calculate a final CIR estimate (n) (e.g., 111) based on the value of the accumulator g(v) (e.g., 114) and the filter coefficients w.sub.k(v): (n)=g.sup.T(v) w.sub.k(v), e.g., equation (15) for the current k value (or current sample).
[0105] At step 508, post-processing module 102 may increase the k value by 1, e.g., for the computation for the next sample.
[0106] At step 510, post-processing module 102 may determine whether k is equal to M. If k is equal to M, method 500 may proceed to step 514, which is the end of filtering. If k is not equal to M, e.g., k is less than M, method 500 may proceed to step 512, at which post-processing module 102 may calculate w.sub.k(v)=[P.sup.1(v)].sup.T w.sub.k1 (v), e.g., equation (18) for the current k value (or the next sample). After step 512 is completed, method 500 may be directed back step 506. In some embodiments, step 512 may be implemented in a shift register, as described in
[0107]
[0108] At step 503, method 501 starts with index number k=M1, corresponding to the last sample.
[0109] At step 505, post-processing module 102 may acquire w.sub.M1(v), e.g., from memory 116. In some embodiments, w.sub.M1(v) is pre-computed and stored in memory 116.
[0110] At step 507, post-processing module 102 may calculate a final CIR estimate (n) (e.g., 111) based on the analytical model g(v) of the output of accumulator (e.g., 114) and the filter coefficients w.sub.k(v): (n)=g.sup.T(v) w.sub.k(v), e.g., equation (15) for the current k value (or current sample).
[0111] At step 509, post-processing module 102 may decrease the k value by 1, e.g., for the computation for the previous sample.
[0112] At step 511, post-processing module 102 may determine whether k is equal to 1.
[0113] If k is equal to 1, method 500 may proceed to step 515, which is the end of filtering. If k is not equal to 1, e.g., k is greater than 1, method 500 may proceed to step 513, at which post-processing module 102 may calculate w.sub.k(v)=[P(v)].sup.Tw.sub.k+1(v), e.g., equation (21) for the current k value (or the previous sample). After step 513 is completed, method 501 may be directed back step 507. In some embodiments, step 513 may be implemented in a shift register, as described in
[0114]
[0115] At step 602, an ADC (e.g., 108) may generate a plurality of samples after receiving a sequence of chips (e.g., the SHR of RF signal 101) by an antenna (e.g., 104).
[0116] At step 604, an accumulator (e.g., 114) may accumulate the plurality of samples to generate an initial CIR estimate (e.g., 105).
[0117] At step 606, de-rotation module 112 may compare the CFO with a threshold value (e.g., v.sub.min).
[0118] At step 608, in response to the CFO being greater than the threshold value, post-processing module 102 may apply a filtering operation (e.g., step 406) on the initial CIR estimate, the filtering operation configured to reduce an intensity of a sidelobe in the initial CIR estimate while maintaining an intensity of a main lobe in the initial CIR estimate.
[0119] At step 610, the post-processing module 102 may generate a final CIR estimate (e.g., 111) based on the filtered initial CIR estimate.
[0120]
[0121] It should be noted that, in the present disclosure, at least one of the operations (e.g., front-end processing, I/Q sampling, de-rotation, cross-correlation, accumulation, post-processing, etc.) performed by a receiver or a module (e.g., 102, 106, 108, 110, 112, and/or 114) are implemented by a specialized hardware (such as an application-specific integrated circuit (ASIC) and/or a digital signal processor (DSP)), and/or or a general-purpose processor.
[0122] Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.