Demodulate the modulated signal
Through the optimization processing, the frequency offset and modulation index are determined jointly by optimizing and processing, the problem of insufficient demodulation signal accuracy in the prior art is solved, the accuracy of signal demodulation and the sensitivity of the receiver are improved, and it is suitable for a variety of modulation types.
Patent Information
- Application Number
- CN202180050242.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-16
- Filing Date
- 2021-06-16
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-06-16
AI Technical Summary
In the prior art, when demodulating the modulated signal, the accuracy of frequency offset and modulation index estimation is insufficient, resulting in inaccurate demodulation, especially under the influence of manufacturing tolerances and temperature changes, which affect the sensitivity and detection performance of the receiver.
Through optimization processing, the frequency offset and modulation index valuation is determined jointly, and the cost function is minimized, combined with the data of the preamble and message part, the accuracy of the frequency offset and modulation index is improved, and it is suitable for different types of modulation signals.
Improves the accuracy of the modulation signal and the sensitivity of the receiver, and is able to receive signals over a wider frequency tuning range, suitable for a variety of modulation types, including BLE, Bluetooth™ and IEEE802.15.4OQPSK.
Smart Images

Figure CN115956356B_ABST
Abstract
Description
Background Art
[0001] The present invention relates to a method and a device for demodulating a modulated signal.
[0002] Transmission systems are known for sending signals from a transmitter to a receiver. In some systems, digital message data is modulated onto a frequency modulated or phase modulated carrier signal. Examples include Bluetooth TM and Bluetooth Low Energy (BLE) TM , they use Gaussian FSK (GFSK) modulation. In binary frequency shift keying (FSK) modulation, data is encoded by the transmitter sending one of two different frequencies offset to either side of the carrier frequency. Modulation can be applied using continuous phase FSK (CP-FSK) so that the phase of the transmitted signal is continuous. GFSK is a type of CP-FSK in which spectral leakage is reduced by Gaussian shaping of the modulated data signal.
[0003] The receiver may use coherent detection, where the receiver uses knowledge of the carrier phase to demodulate the signal, or non-coherent detection, where no phase reference is used. One known method of non-coherently demodulating a signal is to use a matched filter bank (MFB), which cross-correlates the incoming sampled signal with a set of predetermined filter sequences representing various waveforms corresponding to different modulation data to determine the most likely symbol sequence conveyed by a particular portion of the incoming signal.
[0004] If the reference clock used by the receiver is not locked to the reference clock of the transmitter, there is the possibility of a frequency mismatch or offset. This frequency offset may cause the receiver to inaccurately demodulate modulated message data such as frequency modulated data or phase modulated data.
[0005] Knowing that a predetermined, known preamble or training sequence is provided in an incoming data packet (usually at or near the beginning of the packet), the receiver can process it to determine a frequency offset estimate. The receiver can then use this frequency offset estimate to apply appropriate compensation to subsequently received sample points (e.g., by rotating the complex sample points by an appropriate phase angle) to be able to more accurately demodulate the unknown message data from the data packet.
[0006] Various methods of estimating carrier frequency are known. For example, the applicant's earlier patent application WO 2014 / 167318 describes the use of correlators to determine both timing information and carrier frequency offset, while McKilliam et al.'s paper "Frequency Estimation by Phase Unwrapping" (IEEE Transactions on Signal Processing, Vol. 58, No. 6, pp. 2953-2963, 2010) proposes using phase unwrapping and nearest-point lattice search to perform frequency estimation of a single carrier frequency.
[0007] However, the applicant has determined that the accuracy of the known methods may be affected in certain circumstances. The present invention therefore seeks to provide an alternative method for demodulating a modulated signal. Summary of the invention
[0008] According to a first aspect, the present invention provides a method for demodulating a modulated signal, the method comprising:
[0009] receiving data representing a preamble portion of a modulated signal, wherein the preamble portion is modulated using predetermined preamble data;
[0010] jointly determining a frequency offset estimate and a modulation index estimate by performing an optimization process using the received data, wherein the optimization process minimizes a cost function that is a function of the received data and is parameterized by a frequency offset parameter and by a modulation index parameter;
[0011] receiving data representing a message portion of a modulated signal, wherein the message portion is modulated using the message data; and
[0012] The frequency offset estimate is used when demodulating the message portion.
[0013] According to a second aspect, the present invention provides an apparatus for demodulating a modulated signal, the apparatus comprising:
[0014] a joint frequency offset and modulation index estimator; and
[0015] Signal demodulator,
[0016] Wherein, the joint frequency offset and modulation index estimator is configured as:
[0017] receiving data representing a preamble portion of a modulated signal, wherein the preamble portion is modulated using predetermined preamble data; and
[0018] jointly determining a frequency offset estimate and a modulation index estimate by performing an optimization process using the received data, wherein the optimization process minimizes a cost function that is a function of the received data and is parameterized by a frequency offset parameter and by a modulation index parameter,
[0019] and wherein the signal demodulator is configured to:
[0020] receiving data representing a message portion of a modulated signal, wherein the message portion is modulated using the message data; and
[0021] The frequency offset estimate is used to demodulate the message.
[0022] Thus, it will be seen that according to the present invention, both the frequency offset and the modulation index (i.e., the frequency spread divided by the symbol rate) of a signal can be estimated using the same optimization process by minimizing a cost function for the received data. This not only results in an estimate of the modulation index, which is useful for accurately demodulating the message, but can also improve the accuracy of the frequency offset estimate in the event that, for example, the modulation index used by the transmitter deviates from the modulation index expected by the receiver. This situation often occurs in practice, for example due to manufacturing tolerances and / or temperature-related effects in the transmitter. Having an accurate estimate of the modulation index used by the transmitter can also improve the sensitivity of the receiver by preventing phase errors from accumulating over time.
[0023] If the receiver uses an incorrect frequency offset estimate and / or an incorrect modulation index value, this can significantly affect the accuracy of demodulation, especially for high performance detectors that observe multiple symbols simultaneously, such as a matched filter bank (MFB) that outputs soft bits to decision logic such as a Viterbi decoder.
[0024] In at least some embodiments, compared to known methods for estimating frequency independently of the modulation index, such as the correlator-based method disclosed in WO2014 / 167318, which has a frequency range Δf limited by a selected autocorrelation delay D such that max|Δf|<1 / (2D), the present method can enable a receiver to receive signals over a wider frequency tuning range.
[0025] In some embodiments, it may allow the same device to be able to detect signals modulated using various different types of modulation, such as being able to detect BLE packets having a modulation index in the range of 0.45-0.55; Bluetooth TM Basic Rate / Enhanced Data Rate GFSK modulated packets with a modulation index in the range of 0.28-0.35; and IEEE802.15.4 OQPSK modulated packets (equivalent to MSK with a modulation index of 0.5). This is possible because the device may only need to know the symbol timing offset and the symbol rate in order to estimate the frequency offset and the modulation index.
[0026] In some embodiments, the modulation index estimate may be determined as an offset relative to a predetermined value, for example as an offset relative to 0.5 or 0.45. The modulation index parameter may be a modulation index offset parameter.
[0027] When demodulating a message, in addition to the frequency offset estimate, a modulation index estimate may also be used.
[0028] The modulated signal may be modulated using any modulation. It may be a phase modulated signal (with or without amplitude modulation, such as PSK or QAM modulation). However, in a preferred embodiment, the signal is a frequency modulated signal. It may be modulated using a varying amplitude; however, in a preferred embodiment, it is modulated using constant amplitude modulation. Constant amplitude is more typical of frequency modulated signals than phase modulated signals. Estimation processing may be particularly effective for constant amplitude signals because limited information is lost when such a signal is converted to the phase domain. The modulated signal may be a frequency shift keying (FSK) modulated signal. It may be a binary FSK signal. It may be a CP-FSK signal. It may be a GFSK signal.
[0029] The data representing the preamble portion may include a sequence of complex sample point values. The optimization process may determine phase information based on the data representing the preamble portion. The optimization process may determine a phase angle of each complex sample point value. The optimization process may determine an optimal unwrapping of the phase of the complex sample point values.
[0030] The apparatus may be configured to process data representing the preamble portion in the phase domain.It may be configured to generate phase domain data representing the preamble portion from time domain data representing the preamble portion.
[0031] The cost function may also be parameterized by a phase unwrapping parameter. In some implementations, the optimization process may minimize the cost function with respect to the phase unwrapping parameter.
[0032] The cost function may be a least squares cost function.The optimization process may be arranged to find a solution to a least squares minimization problem.
[0033] The device may be configured to store or access data related to predetermined preamble data. The data may be related to a modulated signal, such as an expected preamble portion of a signal sent by a transmitter device. Before the device receives the modulated signal, the data may be stored in a memory of the device. The device may use the stored data when performing an optimization process. The cost function may be a function of the stored data. The stored data may represent phase information of a signal modulated using predetermined preamble data. It may include a sequence of accumulated phase offsets of the signal, a function of the sequence, such as a phase offset accumulated at regular sampling intervals on the preamble portion when the preamble data is modulated onto a carrier signal. The stored data may encode a matrix as a function of a vector of accumulated phase offset values of predetermined preamble data. The matrix may be a function of one or more matrices, at least one of which has rows or columns containing a series of accumulated phase offset values depending on predetermined preamble data.
[0034] In some embodiments, one or both of the frequency offset parameter and the modulation index parameter may be held constant during some or all of the optimization process. The frequency offset and / or modulation index parameter held constant may then be determined by back substitution, for example, after the optimization process has determined the optimal value of the phase unwrapping parameter.
[0035] In a first set of embodiments, the frequency offset estimate and the modulation index estimate are determined by performing an optimization process, wherein the frequency offset parameter is set to a first constant value (e.g., zero) and the modulation index parameter is set to a second constant value (e.g., 0.5, or zero offset). The frequency offset estimate and the modulation index estimate may then be determined by back substitution.
[0036] In a second group of embodiments, the joint frequency offset and modulation index estimator comprises a frequency estimator, which may be a coarse frequency estimator of low complexity. The frequency estimator may be used to determine a first estimate of the frequency offset. The device may be configured to apply frequency offset compensation to data representing the preamble portion using the first estimate, for example by rotating the complex sampling points in the data. The optimization process may then be performed using a frequency offset parameter set to zero; the modulation index parameter may be set to a second constant value (e.g., 0.5, or zero offset). Alternatively, the optimization process may be performed using a frequency offset parameter set to the first estimate; the modulation index parameter may be set to a second constant value (e.g., 0.5, or zero offset). In both cases, the (final) frequency offset estimate and the modulation index estimate may then be determined by back substitution.
[0037] In a third group of embodiments, the frequency offset estimate and the modulation index estimate are determined by performing the optimization process multiple times, wherein the frequency offset parameter and the modulation index parameter are set to different corresponding tuples (value pairs) each time. The optimization process can be performed for each tuple in a predetermined set of tuples. The joint estimator can access a memory storing the set of tuples. The tuples can cover a rectangular grid. The frequency offset estimate and the modulation index estimate can be determined based on the optimal solution that leads to the optimization process, i.e., the tuple with the lowest minimum cost value.
[0038] In some embodiments, the joint frequency offset and modulation index estimator can be configured to perform back substitution using one-dimensional vector operations; it can perform back substitution without performing any matrix inversion operations. This can reduce complexity and improve numerical stability.
[0039] The optimization process can be configured to minimize the cost function by identifying the closest point in the grid. It can implement the closest grid point search. It can be configured to target grid A. n * Searches for the closest point, where n can be 2, or where n can be any other value. It can be configured to perform the closest point search using an algorithm with O(N) complexity. This can lead to particularly efficient implementations.
[0040] In some embodiments, a receiver can be configured to receive a modulated signal (e.g., an FSK modulated signal) having a predetermined modulation index known to the receiver, and then the methods disclosed herein can be used to adjust the tolerance in the transmitter. However, the methods disclosed herein can advantageously enable the receiver to successfully demodulate a signal whose modulation index is unknown.
[0041] The message portions may be demodulated using any suitable technique.
[0042] The data representing the received modulated signal may include a sequence of sample point values, which may be complex values. The data representing the preamble portion and / or the message portion may be stored in a memory (e.g., RAM) or a register. The sample points may be at baseband. The apparatus may include an analog-to-digital converter (ADC) for sampling the received modulated signal. It may include an analog or digital mixer for down-mixing the received signal, for example, down-mixing to baseband.
[0043] The signal may be received by the device via a wired or wireless channel, for example from a separate transmitter device. It may be received at an antenna of the device. The device may include a radio receiver for receiving a modulated radio signal and for generating data representing a preamble portion and a message portion (e.g., by complex down-mixing and sampling of the received signal). The method disclosed herein may include receiving a modulated signal. The received modulated signal may be a radio signal. It may be modulated around a carrier frequency, for example around 2.4 GHz. It may be a Bluetooth TM or BLE signal.
[0044] The apparatus may be or include a radio receiver or transceiver. The apparatus may include one or more of: an antenna; a low noise amplifier; an ADC; a local oscillator; and a mixer. The apparatus may include a processor and a memory for storing software instructions executed by the processor. The joint frequency offset and modulation index estimator may be implemented in whole or in part in software, but in one set of embodiments it is a dedicated hardware circuit distinct from the processor. Similarly, the signal demodulator may be implemented at least in part in software, but in one set of embodiments it is implemented as a dedicated hardware circuit.
[0045] In some embodiments, the apparatus may be configured to demodulate signals modulated using a plurality of different modulation types, for example, FSK modulated signals having different ranges of transmit modulation indices; or both frequency modulated signals and phase modulated signals.
[0046] The signal may encode part or all of a data packet, such as a BLE baseband packet. The preamble portion may be located at or near the beginning of the signal. The preamble data may include part or all of a predetermined synchronization sequence (e.g., part or all of a BLE access code or synchronization word). It may additionally or alternatively include part or all of a device or connection identifier, such as a receiver address field or a link layer connection identifier.
[0047] The signal demodulator may include a matched filter bank (MFB) for demodulating the message portion. The MFB may be different from the joint frequency offset and modulation index estimator. It may include a set of correlators configured to cross-correlate some or all of the message portion data with corresponding filters. Each filter may be at least partially determined by a set of filter coefficients that may be stored in registers of the signal demodulator. Data representing a modulation index estimate may be output by the joint frequency offset and modulation index estimator and may be used to determine what filter coefficients the signal demodulator uses.
[0048] The signal demodulator may include a frequency correction circuit that may be configured to apply a rotation operation to at least a portion of the data representing the received modulated signal. The frequency correction circuit may include one or more CORDICs. The rotation may depend at least in part on a frequency offset estimate, and the frequency correction circuit may be arranged to receive the frequency offset estimate from a joint frequency offset and modulation index estimator. In some embodiments, the rotated data output by the frequency correction circuit may be received by the MFB.
[0049] The apparatus may include a frequency estimator different from the joint frequency offset and modulation index estimator, which may be configured to generate a series of additional frequency offset estimates by processing data representing the message portion. These may be used when demodulating the message portion. They may optimize or replace the preamble-based frequency offset estimate determined by the joint frequency offset and modulation index estimator.
[0050] The signal demodulator may include a decision circuit for demodulating the received modulated signal. The decision circuit may receive correlation coefficient data from the MFB. It may include majority voting logic, or any other suitable demodulation and / or decoding logic. It may include a Viterbi decoder.
[0051] The device may include a memory for storing the demodulated message portion. It may further process the demodulated signal, such as decoding the message data from the message portion. In some cases, the received signal may control the operation of the device, such as causing the device to display information on a display screen, or control a peripheral device.
[0052] The apparatus may be or include an integrated circuit device, such as a silicon chip. The joint frequency offset and modulation index estimator and the signal demodulator may be integrated on a system-on-chip device. The apparatus may include any one or more of the following: a power supply, an antenna, a crystal, discrete capacitors, discrete resistors, etc. The apparatus may include a digital radio receiver or transceiver. It may include one or more processors, DSPs, logic gates, amplifiers, filters, digital components, analog components, non-volatile memory (e.g., for storing software instructions), volatile memory, memory buses, peripherals, inputs, outputs, and any other related electronic components or features.
[0053] Features of any aspect or embodiment described herein may, where appropriate, be applied to any other aspect or embodiment described herein.Where reference is made to different embodiments or groups of embodiments, it should be understood that these are not necessarily different but may overlap. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Certain preferred embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0055] Figure 1 is a schematic diagram of a radio communication system including a radio receiver embodying the present invention;
[0056] Figure 2 yes Figure 1 a schematic diagram of functional units within a receiver circuit of a radio receiver of; and
[0057] Figure 3 Is Figure 1 A flow chart of operations performed by a receiver circuit of a radio receiver. DETAILED DESCRIPTION
[0058] Figure 1 A radio transmitter device 1 is shown communicating with a radio receiver device 15. The radio receiver device 15 embodies the present invention.
[0059] The radio transmitter device 1 has a sensor 3 (eg a temperature sensor) connected to a system on a chip (SoC) 5. The SoC 5 comprises a radio transceiver circuit 7 and a microprocessor 9, such as an ARM TM Cortex M series processor, used to execute the software stored in the memory 11. The device 1 may also include other components, such as batteries, crystal oscillators, discrete components, etc., which are Figure 1 The radio transceiver circuit 7 is connected to a radio antenna 13 for transmitting and receiving radio signals.
[0060] The radio receiver device 15 has a system on chip (SoC) 17 including a radio transceiver circuit 19, a microprocessor 21, such as an ARM TM The SoC 17 is connected to an output peripheral device 27, such as a display screen, for outputting a response that may be based at least in part on data received by the radio transceiver circuit 19 via the antenna 25. The receiver device 15 may include other components (not shown), such as a battery, a crystal oscillator, discrete components, another microprocessor, etc.
[0061] In use, the radio transmitter device 1 transmits from the antenna 13 a data packet modulated on a radio frequency carrier (e.g., at about 2.4 GHz) using secondary GFSK modulation with a modulation index h. (The modulation index h is the difference between the two frequencies in the secondary FSK signal divided by the bit rate of the encoded data stream.) The data packet includes a predetermined synchronization sequence and a message data portion. It may also include one or more of address data, a link layer identifier, packet length data, and any other suitable elements. For the purposes of cross-correlation described below, the preamble portion of the packet may include some or all of the synchronization sequence and / or some or all of the address or link layer data. The radio receiver device 15 is configured to receive, demodulate (i.e., detect) and decode such data packets. It may also send similar data packets. The data packets may conform to Bluetooth Low Energy (BLE) TM The version of the core specification, such as Bluetooth TM 5. The radio receiver device 15 may be a BLE receiver.
[0062] The radio transceiver circuit 19 in the radio receiver device 15 uses a matched filter bank (MFB) to achieve non-coherent detection (i.e. non-coherent demodulation) of the incoming data. The MFB can observe a number of bits, K, at a time. The observation interval can be K = 3, 5 or 7 bits long, or any other suitable length.
[0063] The radio transceiver circuitry 19 demodulates the incoming signal using a clock reference (e.g. derived from a quartz crystal in the receiver device 15). This clock reference is intended to match the clock reference used by the transceiver circuitry 7 in the transmitter device 1. However, there is usually some mismatch in these clock references, resulting in a frequency offset between the expected frequency and the actual incoming frequency of the incoming signal received at the antenna 25 of the receiver device 15. This offset may vary during the transmission of a data packet, for example due to clock drift at the transmitter 1 or the receiver 15, or due to changes in channel conditions, such as relative motion between the transmitter 1 and the receiver 15 (e.g. Doppler shift).
[0064] The receiver device 15 may determine a frequency offset estimate based on the preamble, as described in more detail below. It may also periodically generate an updated estimate of the frequency offset while receiving message data in order to improve the accuracy of demodulation.
[0065] The modulation index h is the difference between the two FSK frequencies divided by the bit rate of the encoded data stream. In order to accurately demodulate the received data packets, the receiver 15 needs to have an accurate estimate of the modulation index used by the transmitter 1. However, the receiver 15 may not know the exact modulation index. In some cases, the transmitter 1 may be able to use any modulation index within a range of values, such as within the range [0.45, 0.55]. The modulation index it uses may also vary over time.
[0066] If the receiver 15 does not have an accurate estimate of the actual modulation index h The sensitivity of the receiver 15 may be reduced. This is because the phase error will accumulate over the observation interval, thus affecting the detector performance. For example, if By mistake, for example, 0.05, this may result in a potential phase shift in the received signal of + / -0.05.K.π, which is equal to π / 4 for K=5. For a K=5 detector, the performance loss may be on the order of 0.7dB for BLE at 1Mbps data rate, and may be even greater for some other radio protocols.
[0067] This problem is alleviated in the embodiments described herein, where the receiver 15 uses a novel method to jointly estimate the modulation index offset and the frequency offset. The estimated modulation index can then be used to improve the accuracy of demodulation of subsequent received signal portions, for example by adjusting the coefficients in the MFB 37 according to the estimated modulation index.
[0068] Figure 2 Various functional blocks provided by the system on chip (SoC) 17 for decoding an incoming secondary CP-FSK encoded radio signal are shown. In other embodiments, different types of modulation may be used. Each of these blocks may be implemented using dedicated circuitry in the radio transceiver circuit 19, such as blocks including dedicated registers and logic gates. However, in some embodiments, one or more operations of one or more blocks may be implemented by software executed, for example, on a microprocessor 21. A pure software implementation is possible, but may be undesirable for performance reasons.
[0069] The radio transceiver circuit 19 may use any combination of amplifiers, mixers, filters, analog-to-digital converters, etc. to generate a sampled radio signal comprising a sequence of complex-valued digital sampling points I and Q at baseband from the received analog radio signal. These sampling points represent a radio signal received in a frequency band around a particular carrier frequency, such as within the 2.4 GHz spectrum. The signal may be oversampled by a factor R. In some examples, R=8, but it may take any suitable value.
[0070] pass Figure 2 The primary signal paths of the components of FIG. 5 for payload message data are shown using solid arrows, while the control, calibration and feedback paths are shown using dashed arrows.
[0071] The stream of complex baseband sampling points is input to each of the frequency correction block 31, the preamble correlator 33, and the joint frequency offset and modulation index estimator 34 (also referred to herein as the "joint estimator").
[0072] The preamble correlator 33 detects the presence of a relevant data packet. The preamble correlator 33 performs timing recovery and frame synchronization to enable the receiver 15 to demodulate the signal more accurately. It does this by cross-correlating the incoming sample points with a stored template. The template comprises a sequence of (complex) coefficients representing the modulated baseband waveform of a fixed preamble that is included in each data packet for the receiver 15.
[0073] The preamble may include part or all of a constant synchronization sequence present in every data packet within the system, and / or part or all of the address of the receiver 15 and / or part or all of a channel or link identifier and / or any other suitable data. When receiving a BLE data packet, the preamble correlator 33 may, for example, use a 16-bit preamble sequence consisting of the last two bits of the BLE preamble field and the first fourteen bits of the address field. The preamble used by the correlator may precede the message data encoded in the data packet, at least for some packets.
[0074] The symbol and frame (i.e., packet) timing information determined by the preamble correlator 33 is output to the frequency correction block 31, and other modules that require it. The frequency correction block 31 performs a complex rotation of the sampling points to compensate for any frequency offset based on the frequency offset estimate information received from the joint estimator 34 and received from the separate frequency offset estimator 35. The frequency correction block 31 may include one or more CORDIC circuits for performing the complex rotation.
[0075] The joint estimator 34 is described in more detail below. It uses a fixed preamble to generate a preamble-based frequency offset estimate (e.g., caused by an offset between the oscillator of the receiver 15 and the oscillator of the transmitter 1) and a modulation index estimate. The modulation index estimate can be expressed as an offset relative to the nominal modulation index expected by the receiver, for example as an offset relative to h0=0.5. As the payload message data portion of the data packet is demodulated, the preamble-based frequency offset estimate can then be optimized or replaced by the output of the frequency estimator 35, which periodically determines the frequency offset estimate in addition.
[0076] The joint estimator 34 provides the modulation index to the matched filter bank (MFB) 37 and the frequency estimator 35 where they are used to adjust the correlation coefficient. The matched filter bank (MFB) 37 and the frequency estimator 35 also receive the timing information from the preamble correlator 33.
[0077] The matched filter bank 37 receives the stream of frequency corrected samples from the frequency correction block 31. It applies a set of filters, each of length K bits, to the incoming samples. Figure 2 In , K = 5, but K can be 3, 4, 7, 11 or any other length. Each filter of MFB 37 performs a complex cross-correlation between the sampled signal and a corresponding sequence of filter coefficients representing a baseband waveform modulated according to a corresponding bit pattern. MFB 37 uses the modulation index estimate received from joint estimator 34 To select the appropriate filter sequence coefficients.
[0078] At each time step, the matched filter bank 37 generates 2 K A set of complex correlation coefficients, one for each filter in the selected filter bank, representing the degree of correlation between the incoming window of sample points and the corresponding template. MFB 37 calculates the real-valued modulus of each coefficient and treats these as 2 K A set of correlation strength values is output to the decision unit 39. In some embodiments, the MFB 37 can be implemented similarly to the MFB disclosed in the applicant's earlier application WO 2019 / 134947, the entire contents of which are incorporated herein by reference, and the modulation index h is determined based on the estimate output by the joint estimator 34.
[0079] The decision unit 39 receives the correlation strength data and processes it to generate a sequence of detected hard bits (i.e., 0 or 1 values). The processing may be similar or identical to the processing described for the decision unit in the applicant's earlier application WO 2019 / 207009, the entire contents of which are incorporated herein by reference. In other embodiments, the MFB output may be processed using a majority voting principle as disclosed in WO 2014 / 167318. In some embodiments, the decision unit 39 may include a Viterbi decoder. The decision unit 39 outputs a demodulated bit value at each bit period. The value of each demodulated bit can be determined based on the output of the MFB 37 at K different symbol (bit) periods, because the same bit position is considered K times at K different bit positions within the filter sequence.
[0080] In some embodiments, the detected bits are fed back to the MFB 37 along the feedback path 41. In such embodiments, these bits may be used by the MFB 37 to help optimize the filter sequence that the MFB 37 cross-correlates with the received samples, for example as described in WO 2019 / 207009.
[0081] The complex correlation coefficients from the matched filter bank 37 are also sent to the frequency estimator 35 while the data packet is demodulated. The frequency estimator 35 uses them to detect the frequency drift that is ongoing after the preamble-based frequency offset estimated by the joint estimator 34. This drift, if not corrected, may have a negative impact on the performance of the demodulation. The estimate of the frequency drift is used to send a control signal to the frequency correction block 31.
[0082] The demodulated bit stream output by the decision unit 39 may be stored in the memory 23 and / or may be further processed by the radio receiver 15 or some other device as appropriate. In some applications, it may determine the output from the peripheral device 27, for example the decoded data from the variable message portion of the data packet may control what is displayed on the display screen of the receiver device 15.
[0083] Figure 3 is a flow chart summarizing some of the key operations performed by the SoC 17 when demodulating a data packet, with emphasis on the novel joint frequency offset and modulation index estimation process.
[0084] The physical radio signal is received 301 and sampled 303. Earlier samples are processed as later samples are still being received. The preamble correlator 33 cross-correlates 305 the incoming samples with a set of one or more templates to detect the preamble portion of the received packet and determine bit-level and frame-level synchronization.
[0085] The joint estimator 34 determines 307 initial values for the frequency offset and the modulation index offset (i.e., as an offset relative to a preconfigured default modulation index value). In some embodiments, these initial offset values are simply set to zero; in other embodiments, a number of different values are used; while in still other embodiments, the modulation index offset is set to zero and a correlator is used to determine a coarse frequency offset estimate, which may determine an initial frequency offset value or may be used to perform an initial rotation of the incoming sampling points.
[0086] The initial offset value is then used by a joint estimator 34 to jointly determine 311 a modulation index offset estimate and a preamble-based frequency offset estimate by solving one or more least squares minimization problems holding the initial offset value constant. The minimization process is implemented in the joint estimator 34 as a grid search.
[0087] The frequency correction block 31 uses the preamble-based (and any subsequent) frequency offset estimate to apply 313 a frequency correction by rotating the incoming sampling points by a corresponding amount to compensate for the frequency offset.
[0088] The MFB 37 is used together with the decision circuit 39 to demodulate 313 the message portion of the data packet. When the message portion is decoded, the frequency offset estimator 35 calculates 315 updated frequency offset estimates based on the output of the MFB 37. These are fed back to the frequency correction block 31 which applies 313 frequency correction to subsequently incoming sampling points using the updated estimates.
[0089] This process is repeated at each incoming sampling point until the end of the data packet.
[0090] Further details of the operation and implementation of the joint estimator 34 are provided below.
[0091] System Model
[0092] A frequency shift keyed (FSK) signal with a modulation index h and an oversampling ratio R can be defined as
[0093]
[0094] in:
[0095] -x k is the transmitted signal at sampling time k = nR + r;
[0096] -n is the number of bits sent in the data packet;
[0097] -r∈[0,R-1] is the index of the sampling point in each bit position;
[0098] -j=√-1;
[0099] -h is the modulation index;
[0100] -β n =2.b n –1 corresponds to bit b which is the nth bit of the data packet. n the sign of the instantaneous phase shift of (i.e., having a value in {-1,1} instead of {0,1}); and
[0101] -P x is the power at x0.
[0102] The addend within the exponent represents the accumulated phase offset of all bits preceding the current bit, accumulated over the entire stream so far, i.e., from the first bit of the data packet (l=0) up to and including the bit just preceding the current bit (n) (l=n-1).
[0103] In some cases, the transmitted signal may employ pulse shaping, such as Gaussian filtering. In these cases, the model is only approximate; however, it is still possible for the coefficients of MFB 37 to be based on the model and successfully demodulate such a signal.
[0104] The received signal is given by
[0105]
[0106] in:
[0107] -y k is the received signal at sampling time k = nR + r;
[0108] -x k is the transmitted signal at sampling time k = nR + r;
[0109] -θ is the constant phase shift due to the channel;
[0110] -Δ f is the constant frequency offset between transmitter 1 and receiver 15; and
[0111] -v k is zero-mean additive white Gaussian noise (AWGN).
[0112] MFB 37 combines the sampled radio signal with 2 K A filter performs non-coherent correlation to demodulate data from the received signal, the 2 K The filters have coefficients corresponding to all possible K-bit sequences of the modulated signal.
[0113] The following definition representing the accumulated phase over the transmitted data packets up to the sampling point nR+r will be useful in the following description:
[0114]
[0115] The first term represents the phase offset at r sampling points of the current bit, and the summand accumulates the phase offsets caused by all received bits before the current bit.
[0116] Joint frequency and modulation index estimation
[0117] The joint estimator 34 implements a method for performing joint modulation index and frequency offset estimation for a known FSK transmitted signal (eg, a predetermined preamble portion of a data packet) using phase unwrapping and a nearest point lattice algorithm.
[0118] Several variant implementations are described below, some of which use suboptimal but less complex variations of the main algorithm.
[0119] Phase Domain Representation of System Model
[0120] The algorithm described below is implemented within the joint estimator 34 in the phase domain.
[0121] z nR+r is defined as a version of the transmitted signal in equation (1) with the nominal desired modulation index h0:
[0122]
[0123] For the fixed preamble part, z nR+r The value of is a constant known before receiving the data packet.
[0124] Considering the phase of the system model in equation (3), we can see
[0125] ∠y k =[∠x k +θ+2πδ f +η k ]mod 2π (6)
[0126] in:
[0127] -∠ represents the angle of the complex variable (argument);
[0128] -[.] mod2π is a modular operation in the range [0; 2π);
[0129] - represents the frequency offset error at the receiver, which needs to be estimated; and
[0130] -η k is due to the angle operation applied to the nR+r The noise term caused by the influence of the received signal.
[0131] Now, define
[0132] and φ=θ / (2π)
[0133] It follows
[0134]
[0135] in represents the modulation index error at the receiver and needs to be estimated.
[0136] Note that k is predetermined and corresponds to the fixed preamble portion sent by transmitter 1, while γ k The correlator in the joint estimator 34 can be used according to the complex I and Q sampling points y k Determine that the correlator will receive the sample point y k The preamble z stored in the representation is sent k If the joint estimator 34 receives timing information from the preamble correlator 33, it may not need to perform a sliding cross-correlation operation, but may instead perform only a vector dot product operation, since the sampling points are already aligned.
[0137] Arrange N symbols in vector form (thus n=NR sampling points):
[0138] γ=[δ h s+φ1+δ f n+η] mod 1 (8)
[0139] in
[0140] γ=[γ1 γ2 … γ NR ]',
[0141] s=[s1 s2 … s NR ]',
[0142] 1 is a column vector of all 1s,
[0143] n = [1 2 … NR]', and
[0144] η=[η1 η2 … η NR ]'.
[0145] Link to nearest grid search
[0146] The joint estimator 34 is designed to find the unknown parameters δ using the least squares method based on the incoming I and Q samples of the preamble portion of the data packet. h , δ f and an estimate of θ.
[0147] Note that the effect of the modulo operation means that there are integer vectors So that:
[0148] γ=δ h s+φ1+δ f n+η-a (9)
[0149] The elements of a represent the number of phase windings.
[0150] In fact, we can choose the vector that minimizes the least squares distance between γ and the noise-free signal on the unit circle: That is, minimize the cost function
[0151]
[0152] against The minimization of determines the optimal phase unwrapping. For simplicity, the metric will be simply expressed as follows:
[0153] The metric Λ can be considered as a type of suboptimal log-likelihood function. The vector of parameters can be expressed as:
[0154] M=[s 1 n ] (11)
[0155] Then the metric Λ becomes
[0156]
[0157] Where [.]' represents the matrix transpose.
[0158] The optimization problem then becomes minimizing the cost function:
[0159]
[0160] where I is the identity matrix of dimension NR.
[0161] Once the joint estimator 34 finds the solution to equation (13) It then uses this solution to calculate the unknown parameters according to:
[0162]
[0163] In embodiments where the data used for joint estimation is known before receiving the data packet (e.g. as a fixed preamble or synchronization word), the matrix M (M T M) -1 M T and store it in memory for reuse on multiple data packets.
[0164] The algorithm for searching for the nearest grid point is used to implement the 's search.
[0165] A grid can be defined as a grid of points generated by applying a transformation to an integer grid. The transformation is specified by a generator matrix. In the general case, the nearest grid point problem can be solved using sphere decoding with a complexity of O(2 N). Algorithms are known in the context of multiple-input multiple-output (MIMO) decoding and precoding, where the generator matrix typically has random elements that result in high complexity. Such algorithms can be used in embodiments of the joint estimator 34, but most of these algorithms require some matrix calculations, such as inversions and reductions, which may be desirable to avoid using here for reasons of complexity and numerical stability.
[0166] Instead, the joint estimator 34 may solve a simplified problem in which the dependence on phase is removed and in which the problem is changed from an N-dimensional "square" grid search to an N-dimensional "hexagonal" grid search.
[0167] McKilliam et al., “Frequency Estimation by Phase Unwrapping” (IEEE Transactions on Signal Processing, Vol. 58, No. 6, pp. 2953-2963, 2010) describes the grid A. n * The nearest grid point search on .
[0168] For example, a review of A can be found in Conway and Sloane, "Fast Quantizing and Decoding Algorithms for Lattice Quantizers and Codes" (IEEE Transactions on Information Theory, Vol. 28, No. 2, pp. 227-232, 1982). n * A general introduction to the grid.
[0169] The joint estimator 34 may implement an algorithm based on the method disclosed in the McKilliam paper. The complexity of the McKilliam algorithm is only O(N), so it can be implemented efficiently compared to the generic-case algorithm.
[0170] However, in some embodiments, the joint estimator 34 may implement one or more optimizations as described below, which may sacrifice optimal performance for reduced complexity.
[0171] Assuming that the other unknown parameters have been estimated, against Differentiation can be used to eliminate the unknown channel phase Dependence to obtain valuation
[0172]
[0173] Substituting it back into equation (10) gives
[0174]
[0175] in
[0176]
[0177] can be considered as a phase removal transform. The matrix It also projects the vector onto a hyperplane whose elements sum to zero. A "phaseless" vector and A similar definition is made:
[0178]
[0179]
[0180]
[0181] It is a well-researched n * The generator matrix is A lattice with a generator matrix G is defined as the set of points Gz where z has integer values. n * According to the A n To define, n Depend on The grid A consists of all integer vectors whose elements sum to zero. n * By A n and an additional n+1 versions of this point set, each offset by a different glue vector:
[0182]
[0183] Where g∈{0,1,…,n}. Grid A2 * , A2 is a two-dimensional hexagonal grid lying on a plane in three dimensions, where the sum of all elements is zero.
[0184] So the problem can be rewritten as
[0185]
[0186] If δ h , δ f If known, we can use The nearest grid point algorithm is used to solve
[0187] Closest Grid Point Algorithm
[0188] Methods for solving this lattice search with O(N) complexity are known, see for example McKilliam et al., "A linear-time nearest point algorithm for the lattice A n *(For A n *)”, ISITA, IEEE International Symposium on Information Theory and Its Applications, pp. 1–5, 2008.
[0189] Given δ h and δ f The joint estimator 34 may use this approach to perform a grid search using some initial estimates of .
[0190] This algorithm makes use of the algorithm proposed by Vaughan and Clarkson in "An Algorithm to Compute a Nearest Point in the Lattice A n *(For use in A n * The algorithm for computing the closest point)" (Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, Springer, 1999, pp. 104-120) and is used in describing lower complexity variants below.
[0191] Clarkson's Theorem:
[0192] definition
[0193]
[0194] So A N-1 * The grid point closest to γ is p or p+r, where r is the correlation vector.
[0195] Correlation vector r∈A N-1 * is the grid point whose multifaceted Voronoi region (i.e., nearest neighbor region) shares a face with the Voronoi region of point 0 at the origin. That is, r is a neighbor of 0.
[0196] The algorithm begins by taking "γ" as an initial estimate, and then sorting the vector of associated rounding errors (i.e., "γ" - γ). The sorting operation is used to increment the elements of "γ" in a specific order so that all related vectors can be iterated when calculating the metric. Because the elements being sorted are indexed 1,...,N, a bucket sort can be used, which has a complexity of only O(N), compared to the complexity of the sorting algorithm for general elements, which is no less than O(N log N). In addition, vector operations are avoided except for initialization.
[0197] accomplish
[0198] The algorithm implemented by the joint estimator 34 can be divided into two steps:
[0199] -Step 1: Search for the nearest grid point to obtain as well as
[0200] -Step 2: Back-substitution to obtain δ h and δ f .
[0201] Various implementations of step 1 are possible, including:
[0202] -Algorithm 1a: In a reasonable range, the tuple (δ h ,δ f ) to perform a grid search;
[0203] -Algorithm 1b: For tuple (δ h ,δ f )=(0,0) to perform a single grid point search; and
[0204] -Algorithm 1c: Assume δ h = 0 and obtain δ f The first valuation.
[0205] Furthermore, various different implementations of step 2 are possible, including:
[0206] -Algorithm 2a: Grid search;
[0207] - Algorithm 2b: Full back generation; and
[0208] -Algorithm 2c: No back-over.
[0209] These different algorithms will now be described in more detail.
[0210] Algorithm 1a: Grid Search
[0211] The algorithm uses (δ h ,δ f ). Note that for practical reasons, δh and δ f Typically, the tuples are restricted to a predetermined range, for example due to requirements imposed by radio communication standards or the bandwidth of analog receivers. In some embodiments, the tuples may be extracted from regular points restricted to a specific range (e.g., a square or hexagonal grid). For each trial tuple, a corresponding lattice search is performed, for example using the McKilliam algorithm mentioned above, and the lattice point with which the minimization is performed is obtained. The Λ value of .
[0212] Algorithm 1b: Single grid point search
[0213] When receiving and δ h , and δ f Deformation can be useful when the deviation from the expected value is relatively small, such as when receiving BLE signals. The BLE specification requires |δ h | < 0.05, and using a clock source with an accuracy of ≤ 50 ppm results in a maximum offset between the transmitter and receiver of 2 × 50 ppm × 2.48e9 = 248 kHz, making |δ f |<248e3 / 1e6=0.248. Therefore, in some embodiments, the joint estimator 34 only uses (δ h ,δ f )=(0,0) as the initial guess to perform a single grid search.
[0214] Algorithm 1c: Suboptimal A N-1 * Grid Search
[0215] In another variation, instead of for multiple (δ h ,δ f ) performs a search, instead, the joint estimator 34 sets δ h = 0 and first perform frequency correction on the incoming data using a low complexity coarse frequency estimator. One embodiment uses the Meyr D interval estimator, using only N = 4 symbols and an interval of D = 1, as described on page 488 of Meyr et al., "Digital Communication Receivers: Synchronization and Channel Estimation Algorithms" (ISBN 0-471-50275-8, John Wiley & Sons, 1998). The residual δ f is usually small. After obtaining a coarse frequency estimate and rotating the incoming samples accordingly, use δh =δ f = 0, a grid search is performed on the compensated sampling points, similar to Algorithm 1b.
[0216] For all of these methods, once the grid search is complete, Used as valuation.
[0217] Simulations show that if the signal-to-noise ratio is high enough, N, δ h , δ f is small enough and provides phase rotation, then Usually by is given. (Note that Clarkson's theorem shows that if p(γ) is not optimal, then for some glue vector g, p+g will be optimal).
[0218] Algorithm 2a: Grid Search
[0219] When using Algorithm 1a, the grid that minimizes the value of Λ can be identified and value and provide it as an estimate. This will be useless if only a single grid point is used (Algorithms 1b and 1c). h ,δ f ) and also for the grid points Solving, we identify the tuple that minimizes the metric
[0220] Algorithm 2b: Full Backward Generation
[0221] In some embodiments, the value of Λ is minimized The value of is substituted back into equation (14), so that and new valuation.
[0222] Alternatively, by defining And following steps similar to those used to obtain equation (14), the joint estimator 34 can determine
[0223]
[0224] Algorithm 2c: No Backward Generation
[0225] An alternative method of obtaining the solution in (24) while avoiding the need for an inversion operation is to further transform Λ with respect to δ h Differentiate and solve to obtain phase-free and frequency-free estimates:
[0226]
[0227]
[0228] The modulation index offset estimate is then
[0229]
[0230] The joint estimator 34 can then be implemented by further transforming Λ to δ f Differentiate and solve to obtain the modulation-free index estimate and the frequency-free estimate:
[0231]
[0232]
[0233] The frequency offset estimate is then
[0234]
[0235] Note that many of the terms in this equation can be calculated prior to receiving the data packet and can be stored in a memory accessible to the joint estimator 34. In particular, the term n'n in equation (25), the entirety of equation (26), the term s's in equation (28), and the entirety of equation (29) can be pre-calculated. This can be done by the receiver 15, or on a computer remote from the receiver 15, with the results loaded onto the receiver 15.
[0236] pseudocode
[0237] The following exemplary pseudocode implements Algorithms 1b and 1c. In both cases, Algorithm 2b is used for step 2.
[0238] / / Nearest grid point search
[0239] If Algorithm 1b
[0240] gammapf=gamma-ones(N*R, 1) / (N*R)*sum(gamma);
[0241] apf=clpAnStar(deltah*spf+deltaf*npf-gammapf, length=N*R-1);
[0242] elseif algorithm 1c
[0243] gamma = gamma-deltafest*(1:N*R) / R; / / Apply frequency correction according to Meyr estimator
[0244] gammapf=gamma-ones(N*R, 1) / (N*R)*sum(gamma);
[0245] wpff = round(-gammapf);
[0246] apf=wpfr-(sum(wpff)) / (N*R)*ones(N*R, 1);
[0247] end
[0248] ypf = gammapf + apf;
[0249] / / Backward
[0250] ypff=ypf-npf*(npf'*ypf) / (npf'*npf);
[0251] spff=spf-npf*(npf'*spf) / (npf'*npf);
[0252] hest = spff'*ypff / (spff'*spff); / / modulation index offset estimation
[0253] yphf=ypf-spf*(spf'*ypf) / (spf'*spf);
[0254] nphf=npf-spf*(spf'*npf) / (spf'*spf);
[0255] fest=nphf'*yphf / (nphf'*nphf); / / Frequency offset index estimation
[0256] The joint estimator 34 may include hardware logic that implements some or all of the steps represented in the pseudo code, or similar steps for any other algorithm or variant thereof. In other embodiments, the joint estimator 34 may be implemented at least in part by software executed on a processor (e.g., processor 21).
[0257] Simulation Results
[0258] The following table provides the simulation results. These simulations receive a symbol rate of 1M symbol / s and h Tx = 0.45 or 0.5 for a transmit modulation index FSK signal. Assume the nominal carrier frequency is 2.5 GHz. For the Meyr D interval estimator, the nominal receiver modulation index h RxThe maximum frequency deviation between the transmitter and receiver is defined in parts per million (ppm) and is simulated over a uniform distribution of + / -50ppm or + / -150ppm. This can be calculated by multiplying the ppm figure by 2.5×10 9 ×10 -6 To calculate the final offset in Hz. SNR is 15dB. Timing synchronization is assumed (i.e., Genie timing synchronization).
[0259] Simulations of search algorithm 1b (single point) and algorithm 1c (Meyr D interval estimator) are shown, both employing back-substitution algorithm 2b. These are denoted "Lattice+Back" and "Meyr N=4, D=1, Round+back, N=16" respectively.
[0260] For comparison purposes, frequency offset estimates obtained directly from a D=1 interval Meyr estimator of length N=4 and from a D=2 interval Meyr estimator of length N=16 are also shown.
[0261]
[0262] It can be seen that when there is no modulation index offset, that is, when h TX = 0.5, at 50 ppm offset, both Algorithms 1b and 1c produce estimates of the true frequency offset f0 that are slightly worse than Meyr N = 16. est (“5.85” and “7.27” versus “4.46”). However, when there is a modulation index offset, both algorithms produce significantly better frequency estimates at 50 ppm (“5.86” and “11.6” versus “16.1”).
[0263] Algorithm 1b outperforms Algorithm 1c for all scenarios. This is expected, as Algorithm 1c is a suboptimal low-complexity variant of Algorithm 1b. Also note that when the maximum frequency offset increases to 150ppm, Algorithms 1b and 1c still provide accurate estimates, and Algorithm 1c performs not much worse than Algorithm 1b, while Meyr's D=2 interval estimator fails. This is because Meyr's algorithm can only provide estimates within a certain tuning range, which decreases as D increases.
[0264] Although some of the above disclosure has been described in the context of binary symbols (ie, bits), it will be appreciated that the same principles may also be applied to systems using higher order modulation, such as quadrature modulation, where each symbol may have four or more possible values.
[0265] Although some of the above disclosure has been described in the context of frequency modulated signals, it will be appreciated that the same basic principles can also be applied to phase modulated signals, especially signals whose amplitudes are kept within a limited range so that their phases do not traverse the unit circle. In this case, the joint frequency offset and modulation index estimator will only consider the phase of the received data.
[0266] Those skilled in the art will recognize that the present invention has been illustrated by describing one or more specific embodiments thereof, but is not limited to these embodiments; many variations and modifications are possible within the scope of the appended claims.
Claims
1. A device for demodulating a frequency modulated signal, the device comprising: Joint frequency offset and modulation index estimator; as well as Signal demodulator, Wherein, the joint frequency offset and modulation index estimator is configured to: receiving data representing a preamble portion of the frequency modulated signal, wherein the preamble portion is modulated using predetermined preamble data; and jointly determining a frequency offset estimate and a modulation index estimate by performing an optimization process using the received data, wherein the optimization process minimizes a cost function, the cost function being a function of the received data and parameterized by a frequency offset parameter, by a modulation index parameter, and by a phase unwrapping parameter; wherein the joint frequency offset and modulation index estimator is further configured to minimize the cost function with respect to the phase unwrapping parameter; And wherein the signal demodulator is configured to: receiving data representing a message portion of the frequency modulated signal, wherein the message portion is modulated using message data; and The message is demodulated using the frequency offset estimate.
2. The device according to claim 1, wherein: The signal demodulator is configured to use the modulation index estimate and the frequency offset estimate when demodulating the message portion.
3. The device according to claim 1, wherein: The data representing the preamble portion comprises a sequence of complex sampling point values, and wherein the joint frequency offset and modulation index estimator is configured to calculate a phase angle of each complex sampling point value for performing the optimization process in the phase domain.
4. The device according to claim 1, wherein: The cost function is a least squares cost function.
5. The apparatus according to claim 1, configured to store or access stored data related to the predetermined preamble data, wherein: The cost function is a function of both the stored data and the received data, and wherein the joint frequency offset and modulation index estimator is configured to use the stored data when performing the optimization process.
6. The device according to claim 5, wherein: The stored data represents a sequence of accumulated phase offsets of a signal modulated using the predetermined preamble data, or a function of a sequence.
7. The device according to claim 5, wherein: The stored data encodes a matrix that is a function of one or more matrices, wherein at least one matrix has a row or column containing a series of accumulated phase offset values that are dependent on the predetermined preamble data.
8. The device according to claim 1, wherein: The joint frequency offset and modulation index estimator is configured to keep the frequency offset parameter constant while performing the optimization process, and is further configured to determine the frequency offset estimate by back substitution after determining an optimal value of the phase unwrapping parameter using the optimization process.
9. The device according to claim 8, wherein: The joint frequency offset and modulation index estimator comprises a frequency estimator configured to determine a first estimate of a frequency offset; and is configured to perform the optimization processing using the frequency offset parameter set to the first estimate, or is configured to apply frequency offset compensation to data representing the preamble code portion using the first estimate and to perform the optimization processing using the frequency offset parameter set to zero.
10. The device according to claim 8 or 9, wherein: The joint frequency offset and modulation index estimator is configured to keep the modulation index parameter constant during the optimization process and is further configured to determine the modulation index estimate by back substitution after determining the optimal value of the phase unwrapping parameter.
11. The device according to any one of claims 1 to 7, wherein: The joint frequency offset and modulation index estimator is configured to determine the frequency offset estimate and the modulation index estimate by performing the optimization process multiple times, the frequency offset parameter and the modulation index parameter being set to different constant value pairs each time, and determining the constant value pair among the constant value pairs that results in the lowest minimum cost of the cost function.
12. The device according to any one of claims 1 to 9, wherein: The joint frequency offset and modulation index estimator is configured to minimize the cost function by performing a nearest lattice point search to identify a nearest point in a lattice.
13. The device according to claim 12, wherein: The joint frequency offset and modulation index estimator is configured to use an algorithm with O(N) complexity for the grid A for integer n. n * Search for the nearest point.
14. The device according to any one of claims 1 to 9, wherein: The frequency modulated signal is a radio signal, and wherein the apparatus comprises a radio receiver for receiving the modulated radio signal and for generating data representing the preamble part and the message part.
15. The device according to any one of claims 1 to 9, wherein: The frequency modulated signal is a Gaussian frequency shift keying (GFSK) modulated signal.
16. The device according to any one of claims 1 to 9, wherein: The frequency modulated signal is modulated using a constant amplitude.
17. A method for demodulating a frequency modulated signal, the method comprising: receiving data representing a preamble portion of the frequency modulated signal, wherein the preamble portion is modulated using predetermined preamble data; jointly determining a frequency offset estimate and a modulation index estimate by performing an optimization process using the received data, wherein the optimization process minimizes a cost function that is a function of the received data and is parameterized by a frequency offset parameter, by a modulation index parameter, and by a phase unwrapping parameter, and wherein the cost function is minimized with respect to the phase unwrapping parameter; receiving data representing a message portion of the frequency modulated signal, wherein the message portion is modulated using message data; and The frequency offset estimate is used when demodulating the message portion.
18. The method according to claim 17, wherein: The frequency modulated signal is a Gaussian frequency shift keying (GFSK) modulated signal.
19. The method according to claim 17 or 18, wherein: The frequency modulated signal is modulated using a constant amplitude.
Citation Information
Patent Citations
Digital radio transmissions
WO2014167318A2
Matched-filter radio receiver
WO2019134947A2
Matched filter bank
WO2019207009A1
Method and system for estimating modulation index and frequency offset
CN105827551A
