Patent Description:
Embodiments pertain to floating point numbers. Embodiments pertain to decibel (dB) numbers. Embodiments relate to conversion from floating point to dB. Embodiments relate to compression of floating point numbers to dB numbers. Embodiments pertain to telemetry, range Doppler maps (RDMs), telemetry links and/or transmission of data (including RDMs) over telemetry links.

In some systems, feedback sent from a device may be subject to various performance requirements in terms of latency, bandwidth and/or other factors. In a non-limiting example, instantaneous operating parameters of an airborne device may be processed by a receiving station to control the speed, path, destination and/or other aspects of the airborne device. This process may be performed in near real-time, in some scenarios, meaning that a target latency of the feedback sent from the airborne device may be very low. Factors such as the latency, available bandwidth, reliability and/or others may be crucial in this scenario and in other scenarios.

<CIT> discloses a digital detector that processes at least one received digital signal to generate a squared signal, encodes the squared signal, applies first and second portions of the encoded signal to a multiplier and a look-up element, respectively, and processes outputs of the multiplier and look-up element to generate a detector output signal representative of a power level of the received digital signal. In an illustrative embodiment, the digital detector is configured so as to exhibit a waveform dependence substantially the same as that of an analog logarithmic amplifier detector. The digital detector and analog logarithmic amplifier detector are utilizable in a closed-loop gain control arrangement for providing a desired gain for a signal path of a base station transmitter in a wireless communication system.

In an aspect, the present disclosure provides a telemetry device that communicates with a receiving station, the telemetry device comprising: processing circuitry; and memory storing instructions that, when executed by the processing circuitry, cause the telemetry device to: receive, from a sensor, a range Doppler map 'RDM' value which is a power value in a binary floating point format, the RDM value comprising an exponent comprising bits, the RDM value comprising a mantissa comprising bits; convert the RDM value to a compressed RDM value in decibels 'dB', the compressed RDM value comprising a plurality of bits, wherein the processing circuitry is configured to: determine a first number based on a product of the exponent and a constant, wherein the constant is proportional to a logarithm of the number two; determine a second number using one or more bits of the mantissa as an index into a predetermined lookup table, wherein values of the lookup table are proportional to logarithms of candidate mantissa values; and determine the compressed RDM value based on rounding of a sum, wherein the sum includes the first and second numbers, wherein the rounding is based on a predetermined step size in dB; and transmit the compressed RDM value over a telemetry link to the receiving station, wherein: the constant used to determine the first number, the values of the lookup table, the compressed number and the step size are in decibels 'dB', the logarithm of the number two that is used to determine the first number is a base-<NUM> logarithm, and the logarithms of the candidate mantissa values that are used to determine the second number are base-<NUM> logarithms.

In another aspect, the present disclosure provides a method, comprising: receiving, from a sensor, a range Doppler map 'RDM' value which is a power value in a binary floating point format, the RDM value comprising an exponent comprising bits, the RDM value comprising a mantissa comprising bits; determining a first number based on a product of: a sum of the exponent and a predetermined bias term, the number <NUM>, and a base-<NUM> logarithm of the number <NUM>; determining a second number using one or more most significant bits 'MSBs' of the mantissa as an index into a predetermined lookup table, wherein values of the lookup table are equal to products of: the number <NUM>, and a base-<NUM> logarithm of a range of candidate mantissa values; determining a compressed number in decibels 'dB' by rounding, in accordance with a predetermined step size in dB, of a sum that includes the first number and the second number, and transmitting (<NUM>) the compressed RDM value over a telemetry link (<NUM>) to a receiving station (<NUM>), wherein the compressed RDM value comprises a plurality of bits.

In yet another aspect, the present disclosure provides a non-transitory computer-readable storage medium that stores instructions for execution by processing circuitry of a telemetry device, the operations to configure the processing circuitry to: convert a binary floating point number which is a range Doppler map 'RDM' value which is a power value to a compressed number, wherein the binary floating point number comprises an exponent comprising bits, wherein the binary floating point number further comprises a mantissa comprising bits, wherein the method comprises: determine a first number based on a product of the exponent and a constant, wherein the constant is proportional to a logarithm of the number two; determine a second number using one or more bits of the mantissa as an index into a predetermined lookup table, wherein values of the lookup table are proportional to logarithms of candidate mantissa values; determine the compressed number based on rounding of a sum, wherein the sum includes the first number and the second number, wherein the rounding is based on a predetermined step size and transmit (<NUM>) the compressed RDM value over a telemetry link (<NUM>) to a receiving station (<NUM>), wherein: the constant used to determine the first number, the values of the lookup table, the compressed number and the step size are in decibels 'dB', the logarithm of the number two that is used to determine the first number is a base-<NUM> logarithm, and the logarithms of the candidate mantissa values that are used to determine the second number are base-<NUM> logarithms.

The following description and the drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. Embodiments set forth in the claims encompass all available equivalents of those claims.

<FIG> illustrates an example scenario in accordance with some embodiments. In the scenario <NUM>, a telemetry device <NUM> may transmit information to a receiving station <NUM> over a telemetry link <NUM>. The telemetry device <NUM> may perform one or more operations described herein, such as conversion of numbers from binary floating point format to a compressed format. Although some techniques, operations and/or methods may be described herein in terms of the scenario <NUM>, the scope of embodiments is not limited to the scenario <NUM>. The scope of embodiments is also not limited to the number, type, arrangement or other aspects of the components shown in <FIG>. Some embodiments may not necessarily include all components shown in the example scenario <NUM>. Some embodiments may include additional components not shown in the example scenario <NUM>.

In an example not forming part of the claimed invention, a device other than the telemetry device <NUM> may perform one or more of the techniques, operations and/or methods described herein.

In another non-limiting example, the telemetry device <NUM> and/or other device may perform one or more of the techniques, operations and/or methods described herein. Information (such as a compressed number, which is described herein) may be generated as a result of the techniques, operations and/or methods. In an example not forming part of the claimed invention, the telemetry device <NUM> and/or other device may not necessarily communicate that information to another device (such as the receiving station <NUM> and/or other device). For instance, the telemetry device <NUM> and/or other device may store that information without necessarily sending it to another device. In an example not forming part of the claimed invention, the telemetry device <NUM> and/or other device may communicate that information with another device (such as the receiving station <NUM> and/or other device) over a medium other than the telemetry link <NUM> (such as another wireless link, a wired link and/or other medium). In an example not forming part of the claimed invention, the telemetry device <NUM> and/or other device may communicate that information to a device other than the receiving station <NUM>.

<FIG> illustrates example packets that may be transmitted in accordance with some embodiments. In a non-limiting example, one or more packets <NUM> may be transmitted. The packet <NUM> may include one or more of: a header <NUM>, a payload <NUM>, a footer <NUM> and/or other element(s).

The scope of embodiments is not limited to the number, type, arrangement and/or other aspects of the elements (such as the packets <NUM> and/or fields of the packets <NUM>) shown in <FIG>. One or more of the techniques, operations and/or methods described herein may be performed using the payload <NUM> (such as conversion/compression of the payload <NUM> and/or other), although the scope of embodiments is not limited in this respect. One or more of the techniques, operations and/or methods described herein may be performed using a packet (such as a packet <NUM> and/or other), although the scope of embodiments is not limited in this respect. For instance, one or more of the techniques, operations and/or methods described herein (such as conversion, compression and/or other) may be performed on an element other than a packet, such as a number, a value, a field and/or other, in some embodiments.

In some embodiments, the packets may be sent in real time (and/or in near real time), although the scope of embodiments is not limited in this respect. In some embodiments, the packets may be sent over the telemetry link <NUM>, although the scope of embodiments is not limited in this respect.

Embodiments described herein may be implemented into a system using any suitably configured hardware and/or software.

<FIG> illustrates a block diagram of an example machine in accordance with some embodiments. In some embodiments, the telemetry device <NUM> and/or other device may include one or more components shown in <FIG>. For instance, the machine readable medium <NUM> may be used to implement one or more operations of the telemetry device <NUM> and/or other device, in some cases. In some embodiments, the machine <NUM> may be a device that includes the telemetry device <NUM>. As an example, the telemetry device <NUM>, an airborne device, an aircraft, a missile and/or other device may perform communication operations using one or more components from <FIG>. In some embodiments, the machine <NUM> or one or more components of the machine <NUM> may be configurable to transmit elements such as packets, numbers, values, fields, compressed numbers and/or other.

Any one or more of the techniques (e.g., methodologies) discussed herein may be performed on such a machine <NUM>, in some embodiments. In some embodiments, the machine <NUM> may be a telemetry device, an airborne device, a missile, an aircraft, a cryptographic device, personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a base station, an access point (AP) arranged to operate in accordance with an IEEE <NUM> protocol and/or a wireless local area network (WLAN) protocol, a station (STA) arranged to operate in accordance with an IEEE <NUM> protocol and/or a wireless local area network (WLAN) protocol, a User Equipment (UE) arranged to operate in accordance with a Third Generation Partnership Project (3GPP) protocol (including Long Term Evolution (LTE) protocols), an Evolved Node-B (eNB) arranged to operate in accordance with a 3GPP protocol (including LTE protocols), a mobile telephone, a smart phone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.

As a non-limiting example, a module may include a group of components connected to (permanently, temporarily and/or semi-permanently) a circuit board, processor board and/or other medium.

In some embodiments, components of the machine <NUM> may communicate with each other via optical interfaces, waveguides and/or other circuitry configured to exchange optical signals. In some embodiments, the interconnect <NUM> may be configured to communicate optical signals and/or other signals between components of the machine <NUM>.

The machine <NUM> may include an output controller <NUM>, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).

The term "machine readable medium" may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine <NUM> and that cause the machine <NUM> to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine readable medium examples may include solid-state memories, and optical and magnetic media. Specific examples of machine readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; Random Access Memory (RAM); and CD-ROM and DVD-ROM disks. In some examples, machine readable media may include non-transitory machine readable media. In some examples, machine readable media may include machine readable media that is not a transitory propagating signal.

The instructions <NUM> may further be transmitted or received over a communications network <NUM> using a transmission medium via the network interface device <NUM> utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) <NUM> family of standards known as Wi-Fi®, IEEE <NUM> family of standards known as WiMax®), IEEE <NUM>. <NUM> family of standards, a Long Term Evolution (LTE) family of standards, a Universal Mobile Telecommunications System (UMTS) family of standards, peer-to-peer (P2P) networks, among others. In an example, the network interface device <NUM> may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network <NUM>. In an example, the network interface device <NUM> may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. In some examples, the network interface device <NUM> may wirelessly communicate using Multiple User MIMO techniques. The term "transmission medium" shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine <NUM>, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.

Although the telemetry device <NUM> and machine <NUM> may be illustrated as having several separate functional elements, one or more of the functional elements may be combined and may be implemented by combinations of software-configured elements, such as processing elements including digital signal processors (DSPs), and/or other hardware elements. For example, some elements may comprise one or more microprocessors, DSPs, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), radio-frequency integrated circuits (RFICs) and combinations of various hardware and logic circuitry for performing at least the functions described herein. In some embodiments, the functional elements may refer to one or more processes operating on one or more processing elements. Embodiments may be implemented in one or a combination of hardware, firmware and software. Embodiments may also be implemented as instructions stored on a computer-readable storage device, which may be read and executed by at least one processor to perform the operations described herein. A computer-readable storage device may include any non-transitory mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a computer-readable storage device may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and other storage devices and media. Some embodiments may include one or more processors and may be configured with instructions stored on a computer-readable storage device.

It should be noted that in some embodiments, an apparatus of a telemetry device <NUM> may include various components of the example machine <NUM> shown in <FIG> and/or other component(s). Accordingly, in some cases, techniques and operations described herein that refer to the telemetry device <NUM> may be applicable to an apparatus of a telemetry device.

In accordance with some embodiments, the telemetry device <NUM> may receive, from a sensor, a range Doppler map (RDM) value in a binary floating point format. The RDM value may comprise an exponent comprising bits. The RDM value may comprise a mantissa comprising bits. The telemetry device <NUM> may convert the RDM value to a compressed RDM value in decibels (dB). The compressed RDM value may comprise a plurality of bits. The telemetry device <NUM> may determine a first number based on a product of the exponent and a constant. The constant may be proportional to a logarithm of the number two. The telemetry device <NUM> may determine a second number using one or more bits of the mantissa as an index into a predetermined lookup table. Values of the lookup table may be proportional to logarithms of candidate mantissa values. The telemetry device <NUM> may determine the compressed RDM value based on rounding of a sum. The sum may include the first and second numbers. The rounding may be based on a predetermined step size in dB. The telemetry device <NUM> may transmit the compressed RDM value over a telemetry link to a receiving station <NUM>. These embodiments will be described in more detail below.

<FIG> illustrates the operation of an example method in accordance with some embodiments. In some embodiments, the method <NUM> may be performed by the telemetry device <NUM>, although the scope of embodiments is not limited in this respect. The method <NUM> may be performed by other devices and/or components in some embodiments. In some embodiments, operations of the method <NUM> may be performed by one or more components, including but not limited to one or more of the components of the machine <NUM> shown in <FIG>. Those components may be included in the telemetry device <NUM> in some embodiments, although the scope of embodiments is not limited in this respect. In descriptions herein of techniques and/or operations, references may be made to components of the telemetry device <NUM>, but such references are not limiting. The techniques and/or operations may be performed by other components (such as components shown in and/or described by any of <FIG>) which may or may not necessarily be included in a telemetry device <NUM>, in some embodiments.

It is important to note that embodiments of the method <NUM> may include additional or even fewer operations or processes in comparison to what is illustrated in <FIG>. In addition, embodiments of the method <NUM> are not necessarily limited to the chronological order that is shown in <FIG>. In describing the method <NUM>, reference may be made to <FIG> and <FIG>, although it is understood that the method <NUM> may be practiced with any other suitable systems, interfaces and components.

It should also be noted that the method <NUM> may be applicable to an apparatus for a telemetry device (such as <NUM> and/or other), in some embodiments. In some embodiments, the telemetry device <NUM> (and/or components of the telemetry device <NUM>) may operate as part of a system such as an airborne device, aircraft, missile, computing device, computer, switch, router, mobile device and/or other device. Embodiments are not limited to these examples, however.

At operation <NUM>, the telemetry device <NUM> may determine and/or receive a floating point number. In some embodiments, the floating point number may be determined and/or received with intention that it be transmitted to another device (including but not limited to the receiving station <NUM>), although the scope of embodiments is not limited in this respect.

In some embodiments, the telemetry device <NUM> may determine the floating point number using one or more operations. In some embodiments, a component of the telemetry device (such as a sensor, processing circuitry and/or other) may generate/determine the floating point number.

In some embodiments, the telemetry device <NUM> may receive the floating point number from a component (such as a sensor and/or other component), although the scope of embodiments is not limited in this respect. In some embodiments, a component (such as a sensor and/or other component) may determine the floating point number, although the scope of embodiments is not limited in this respect. In a non-limiting example, the sensor and/or other component may be external to the telemetry device <NUM>. In another non-limiting example, the sensor and/or other component may be included in the telemetry device <NUM>. In another non-limiting example, the sensor and/or other component may be included in the telemetry device <NUM>, may be part of the telemetry device <NUM>.

The floating point number is a binary floating point number. The binary floating point number includes a mantissa and an exponent. The binary floating point number is a product of: the mantissa, and the number two raised to a power equal to the exponent. The binary floating point number is based on a base value of two. The mantissa and the exponent are binary numbers comprising bits.

Different options/variations in floating point formats are possible. In some embodiments, a floating point number may comprise a sign bit, although the scope of embodiments is not limited in this respect. In some embodiments, an exponent of the floating point number may be a biased exponent, although the scope of embodiments is not limited in this respect. In some embodiments, a floating point number may be based on a hidden value of the mantissa, although the scope of embodiments is not limited in this respect. In a non-limiting example, the hidden value may be always set to a value of <NUM> (binary). Accordingly, the bits of the mantissa given in the floating point format may represent a fractional portion that is less than <NUM>. The mantissa may be considered as a sum of <NUM> and the fractional portion, in some cases. For instance, if the mantissa M is (<NUM> + fractional portion), and the exponent is N, the number represented by the floating point format may be M*<NUM>^N.

In a non-limiting example, the binary floating point format may include one or more of: a sign bit, <NUM> bits for the exponent, and <NUM> variable bits for the mantissa. The mantissa may be equal to a sum of the number <NUM> and a fractional portion based on the <NUM> variable bits for the mantissa, although the scope of embodiments is not limited in this respect. In some embodiments, the above values may be related to a standard, including but not limited to an IEEE <NUM> standard. The scope of embodiments is not limited to usage of floating point numbers that are included in a standard, however.

Embodiments are limited to usage of binary floating point numbers and to usage of a base value of two. One or more of the techniques, operations and/or methods described herein may be performed using floating point numbers that are not binary, these not forming part of the claimed invention. One or more of the techniques, operations and/or methods described herein may be performed using a base other than two, these not forming part of the claimed invention.

One or more of the techniques, operations and/or methods described herein (such as conversion, compression and/or other) are performed using a range Doppler map (RDM) value in a floating point format. Some descriptions herein may refer to a floating point number, including but not limited to operations performed on a floating point number, operations to generate a floating point number and/or other. In embodiments, the floating point number is an RDM value. One or more of the techniques, operations and/or methods described herein may be performed on other numbers/values, these not forming part of the claimed invention. For instance, a floating point number (binary or otherwise) may be converted to a compressed number using one or more of the techniques, operations and/or methods described herein, and the floating point number may not necessarily be an RDM value and may not even be related to RDM values, this not forming part of the claimed invention. Some descriptions herein may refer to a compressed number, including but not limited to operations performed on a compressed number, operations to generate a compressed number and/or other. In embodiments, the compressed number is a compressed RDM value.

At operation <NUM>, the telemetry device <NUM> may convert the floating point number to a compressed number. In some embodiments, the telemetry device <NUM> may perform one or more operations (including but not limited to one or more of operations <NUM>-<NUM> and/or other operation(s)) as part of the conversion of the floating point number to the compressed number, although the scope of embodiments is not limited in this respect.

In embodiments, the compressed number is in decibels (dB). In embodiments, the compressed number comprises bits. The floating point number is an RDM value and the compressed number is a compressed RDM value.

In embodiments, the floating point number (the RDM value) comprises a number of bits and the compressed number (the compressed RDM value) comprises a number of bits. In some embodiments, the number of bits of the compressed number may be less than the number of bits of the floating point number, although the scope of embodiments is not limited in this respect. In a non-limiting example, a compression ratio between the number of bits of the floating point number and the number of bits of the compressed number may be greater than one. For instance, if the floating point number comprises <NUM> bits and the compressed number comprises <NUM> bits, the compression ratio may be <NUM>. Such a conversion from the floating point number to the compressed number may be referred to as <NUM>:<NUM> compression, in some cases.

In some embodiments, the compression ratio may be fixed, wherein the floating point number comprises a fixed number of bits (including but not limited to <NUM>) and the compressed number also comprises a fixed number of bits (including but not limited to <NUM>). For instance, a compression ratio between a size of the floating point number and a size of the compressed number may be constant, in some embodiments. Continuing the example above, the floating point number may comprise <NUM> bits, the compressed number may comprise <NUM> bits, and a fixed compression ratio of <NUM>:<NUM> may be used.

At operation <NUM>, the telemetry device <NUM> may determine a first number based on an exponent of the floating point number. At operation <NUM>, the telemetry device <NUM> may determine a second number based on a mantissa of the floating point number. At operation <NUM>, the telemetry device <NUM> may determine a sum that is based on the first number and the second number. At operation <NUM>, the telemetry device <NUM> may round the sum to determine the compressed number.

It should be noted that references to the "first number" and the "second number" herein are used for clarity, but are not limiting. In some cases, the term "first number" may be replaced by other terms, including but not limited to "first value," "first dB value," and/or other. In some cases, the term "second number" may be replaced by other terms, including but not limited to "second value," "second dB value," and/or other. It is understood that references herein to the "first number" are related to the first number determined at operation <NUM>, and references herein to the "second number" are related to the second number determined at operation <NUM>.

In some embodiments, the telemetry device <NUM> may perform one or more of operations <NUM>-<NUM> as part of the conversion of the floating point number to the compressed number, although the scope of embodiments is not limited in this respect. A non-limiting overview related to operations <NUM>-<NUM> is given below for clarity and organizational purposes, but this overview is not limiting.

In the overview, a binary floating point number may be represented by a mantissa M and an exponent N, and may be equal to M*<NUM>^N. The first number used in operations <NUM>-<NUM> may be related to compression, conversion, conversion to dB and/or other of the term <NUM>^N. The second number used in operations <NUM>-<NUM> may be related to compression, conversion, conversion to dB and/or other of the term M. Recall that a logarithm of a product of two terms can be written as a sum of individual logarithms of the two terms. Accordingly, the sum determined in operation <NUM> may be related to compression, conversion, conversion to dB and/or other of the term M*<NUM>^N. At operation <NUM>, the sum may be rounded to a nearest dB, to a nearest half-dB and/or other step size.

Some embodiments may be based at least partly on the above overview, along with potential variations related to scaling, biases, additive terms, constants of proportionality, implementation aspects and/or other, some of which are described below.

In embodiments, the telemetry device <NUM> determines the first number based on a product of the exponent and a constant. The constant is proportional to a logarithm of the number two. A base-<NUM> logarithm is used. In some embodiments, the constant may be pre-computed and/or predetermined.

In embodiments, the constant is equal to a product of: the number <NUM>, and a base-<NUM> logarithm of the number two. Embodiments are limited to usage of the number <NUM> and are limited to usage of a base of <NUM>. Embodiments are also limited to usage of the number two.

It should be noted that variations to the above numbers related to the constant are included in embodiments described herein. For instance, a constant that is similar to <NUM>*log10(<NUM>) may be used. Modifications (including but not limited to small modifications) to the numbers (<NUM>, <NUM>, and <NUM>) in the formula <NUM>*log10(<NUM>) are considered to be included in embodiments described herein. In a non-limiting example, a constant determined as <NUM>*log10(<NUM>) is considered to be included in embodiments described herein.

In embodiments, the telemetry device <NUM> determines the first number based on a product of the number <NUM>, the exponent and a base-<NUM> logarithm of the number two. In this example, the first number may be equal to <NUM>*log10(<NUM>^N), wherein N is the exponent of the floating point number, which may be a value in dB.

In some embodiments, the exponent may be a biased exponent. The telemetry device <NUM> may determine the first number based on a product of: a sum of the exponent and a predetermined bias term; and a constant (including but not limited to those described above). Accordingly, the telemetry device <NUM> may add the bias term to the exponent before multiplication by the constant, in some embodiments. In some embodiments, the bias term may be added or subtracted to the exponent in the above (that is, the telemetry device <NUM> may determine the first number based on a product of: a difference between the exponent and the predetermined bias term; and the constant). In some embodiments, the bias term may be equal to a negation of the bias term described above. In a non-limiting example, the bias term may be equal to a difference between: a) the number two raised to a power, wherein the power may be equal to the number of bits of the exponent minus the number one; and b) the number one. For instance, if the exponent is N, the bias term may be <NUM>^(N - <NUM>) - <NUM>. The bias term may also be a negation of the above, such as -(<NUM>^(N-<NUM>) - <NUM>). In a non-limiting example, if N = <NUM>, the bias term may be <NUM> or -<NUM>. One or more operations such as the following may be performed: addition of the bias; subtraction of the bias; and /or other.

In some embodiments, the telemetry device <NUM> may determine the first number based on a product of: a sum of the exponent and a predetermined bias term; the number <NUM>; and a base-<NUM> logarithm of the number <NUM>.

Examples of determination of the second number are given below. In embodiments, the telemetry device <NUM> determines the second number using one or more bits of the mantissa as an index into a predetermined lookup table. In a non-limiting example, the one or more bits used as the index may be most significant bits (MSBs) of the mantissa.

In a non-limiting example, values of the lookup table may be proportional to logarithms of candidate mantissa values. In embodiments, a base-<NUM> logarithm is used. Embodiments are limited to usage of a base-<NUM> logarithm. In some embodiments, the lookup table may be pre-computed and/or predetermined.

It should be noted that in some embodiments, at least some of the values of the lookup table may be proportional to logarithms of candidate mantissa values. Consider a lookup table for which some values of the lookup table are proportional to logarithms of candidate mantissa values, and some values of the lookup table are not necessarily proportional to the logarithms of candidate mantissa values. It is understood that such a lookup table may be considered a variation of the lookup table described herein, and usage of such a lookup table in operation <NUM> is included in the embodiments described herein. For instance, a lookup table for which a large number of values are proportional to logarithms of candidate mantissa values, but a small number of values are not proportional to logarithms of candidate mantissa values, is considered to be included in embodiments described herein.

In some embodiments, candidate mantissa values may be uniformly spaced. A spacing of the candidate mantissa values may be equal to a reciprocal of the number two raised to a power. The power may be equal to the number of bits of the mantissa used as the index into the lookup table. The candidate mantissa values may range/vary between: the number one, and a number equal to the number two minus the spacing. For instance, if <NUM> bits are used as the index into the lookup table, the spacing may be <NUM>/(<NUM>^<NUM>) = <NUM>/<NUM>, and the candidate mantissa values may range/vary between <NUM> and (<NUM> - <NUM>/<NUM>).

In a non-limiting example, the entries of the lookup table may be equal to products of: the number <NUM>, and base-<NUM> logarithms of the candidate mantissa values. Accordingly, the entries may correspond to dB values of the candidate mantissa values. Embodiments are not limited to usage of the number <NUM> and are not limited to usage of a base of <NUM>.

In some embodiments, a number of entries in the lookup table may be equal to the number two raised to a power equal to the number of bits of the mantissa used as the index into the lookup table. For instance, if <NUM> bits are used, the number of entries of the lookup table may be <NUM>^<NUM> = <NUM>.

The telemetry device <NUM> determines the compressed number based on rounding of a sum. The sum includes the first and second numbers. In embodiments, the rounding is based on a predetermined step size. In embodiments, the step size is in dB. In a non-limiting example, the step size may be <NUM> dB, <NUM> dB and/or other.

In embodiments, a sum that includes the first and second numbers (including but not limited to a sum of the first and second numbers) is used to determine the compressed number. In some embodiments, the sum may further include a power gain scale factor. In a non-limiting example, the power gain scale factor may be based on one or more factors related to implementation, such as a number of bit shifts used to implement one or more operations of the conversion to the compressed value. In some embodiments, the factor may be equal to a product of: the number ten, and a base-<NUM> logarithm of a number that is equal to the number two raised to a power, wherein the power is: equal to the number of bit shifts, or based on the number of bit shifts. In a non-limiting example, if the number of bit shifts is <NUM>, then the power gain scale factor may be equal to <NUM>*log10(<NUM>^<NUM>) = <NUM>. And if the number of bit shifts is <NUM>, then the power gain scale factor may be equal to <NUM>*log10(<NUM>).

Embodiments are not limited to the power gain scale factor described above. In some embodiments, the power gain scale factor may be used to limit a number (including but not limited to the first number described above) to a predetermined dynamic range. In some embodiments, the power gain scale factor may be based on one or more other aspects.

In some embodiments, the floating point number may comprise a sign bit, <NUM> bits for the exponent, and <NUM> bits for the mantissa. The bias term may be equal to negative <NUM>. The number of MSBs of the mantissa used as the index into the lookup table may be <NUM>. The compressed number may comprise <NUM> bits. A compression ratio between the number of bits of the floating point number and the number of bits of the compressed number may be <NUM>-to-<NUM>.

The techniques, operations and/or methods to determine the compressed number are limited to usage of dB values. Base-<NUM> logarithms are used and the compressed number is in dB. If logarithms of other bases are used, the compressed number may not necessarily be in dB, this not forming part of the claimed invention. In embodiments, the telemetry device <NUM> converts the binary floating point number to a compressed number, wherein the binary floating point number comprises an exponent comprising bits, wherein the binary floating point number further comprises a mantissa comprising bits. The telemetry device <NUM> may determine the first number (of operation <NUM>) based on a product of the exponent and a constant, wherein the constant is proportional to a logarithm of the number two. The telemetry device <NUM> may determine the second number (of operation <NUM>) using one or more bits of the mantissa as an index into a predetermined lookup table, wherein values of the lookup table are proportional to logarithms of candidate mantissa values. The telemetry device <NUM> may determine the compressed number based on rounding of a sum, wherein the sum includes the first number and the second number, wherein the rounding is based on a predetermined step size. In some embodiments, a same base is used for: the logarithm of the number two that is used to determine the first number; and the logarithms of the candidate mantissa values that are used to determine the second number.

The constant used to determine the first number, the values of the lookup table, the compressed number and the step size are in decibels (dB). The logarithm of the number two that is used to determine the first number is a base-<NUM> logarithm. The logarithms of the candidate mantissa values that are used to determine the second number may be base-<NUM> logarithms.

At operation <NUM>, the telemetry device <NUM> may transmit the compressed number. The telemetry device <NUM> transmits the compressed number to the receiving station <NUM>. In some embodiments, the telemetry device <NUM> may transmit the compressed number on a telemetry link in wireless spectrum that is reserved for telemetry operation, although the scope of embodiments is not limited in this respect. As described herein, the compressed number is a compressed RDM value.

Although descriptions may refer to generation and/or transmission of a compressed number, it is understood that the telemetry device <NUM> may transmit one or more compressed numbers, a packet that includes one or more compressed numbers and/or other element(s) related to compressed numbers.

It should be noted that in a telemetry device which does not form part of the claimed invention the telemetry device may not necessarily transmit the compressed number. For instance, the telemetry device <NUM> may store the compressed number in memory.

<FIG> illustrates example operations that may be used for compression of power values in accordance with some embodiments. <FIG> illustrates example operations that may be used for compression of power values in accordance with some embodiments. <FIG> illustrates example operations that may be used for compression of magnitude values in accordance with some embodiments. <FIG> illustrates example operations that may be used for compression of magnitude values in accordance with some embodiments. It should be noted that the examples shown in <FIG> may illustrate some or all of the concepts and techniques described herein in some cases, but embodiments are not limited by the examples. For instance, embodiments are not limited by the name, number, type, size, ordering, arrangement of elements (such as devices, operations, messages and/or other elements) shown in <FIG>.

Some embodiments may not necessarily include all operations shown. For instance, the telemetry device <NUM> may perform one or more operations shown in <FIG>, but may not necessarily perform all of those operations, in some embodiments. In some embodiments, the telemetry device <NUM> may perform one or more additional operations not shown in <FIG>. For instance, the telemetry device <NUM> may perform one or more operations shown in <FIG>, and one or more additional operations. In some embodiments, the telemetry device <NUM> may perform one or more operations that are similar to one or more operations shown in <FIG>.

In some embodiments, the floating point numbers <NUM>, <NUM> may not necessarily include all fields shown. In some embodiments, the floating point numbers <NUM>, <NUM> may include one or more additional fields not shown. Embodiments are not limited to the name, size, type and/or other aspects of the fields of the floating point numbers <NUM>, <NUM> shown.

Referring to <FIG>, the floating point number <NUM> is a power value, and is converted to a dB value <NUM>. It should be recalled that a power value P is converted to dB as <NUM>*log10(P). The floating point number <NUM> includes a sign bit <NUM>, an exponent (a biased exponent in this case, although embodiments are not limited as such) <NUM>, a hidden bit <NUM>, and a mantissa <NUM>. A bias of -<NUM> (indicated by <NUM>) is added to the exponent <NUM> as indicated by <NUM>. The result <NUM> is multiplied by a constant <NUM> of value equal to <NUM>*log10(<NUM>) to generate the result <NUM>.

The <NUM> MSBs of the mantissa <NUM> (indicated by <NUM>) are input to a lookup table <NUM> to generate the result <NUM>. A different number of MSBs may be used. The lookup table has <NUM> (<NUM>^<NUM>) rows in this example. The lookup table <NUM> has <NUM> bits of precision in this example, although other sizes may be used.

The biased exponent <NUM> may be in a range of -<NUM>,. <NUM>, and the exponent <NUM> may be in a range of <NUM>,. The values of <NUM> and <NUM> may correspond to special meanings of <NUM> and infinity, respectively.

The result <NUM>, the result <NUM>, and a constant <NUM> are added together to generate the result <NUM>. In a non-limiting example, the constant <NUM> is equal to <NUM>*log10(k), wherein k may be equal to <NUM>^<NUM> = <NUM>, or <NUM>^<NUM> = <NUM>. As indicated by <NUM>, the result <NUM> is rounded based on a step size in dB (<NUM> dB or <NUM> dB in this example) to generate the output <NUM> in dB.

It should be noted that the constant <NUM> is not limited to the above example. Any number may be used, including but not limited to a number that causes a dynamic range to not be exceeded. In some embodiments, the dynamic range may be the dynamic range of <NUM> (in <FIG>), although the scope of embodiments is not limited in this respect.

In some embodiments, the first number described regarding the method <NUM> may be related to <NUM>, and the second number described regarding the method <NUM> may be related to <NUM>. The scope of embodiments is not limited in this respect, however.

<FIG> illustrates, for the conversion of power values from floating point to dB, non-limiting examples of: usage of the lookup table (<NUM>), rounding to a step size of <NUM> dB (<NUM>), and rounding to a step size of <NUM> dB (<NUM>). In some embodiments, truncation may be used for the conversion of power values from floating point to dB. For instance, truncation may be used instead of rounding in <NUM>, <NUM> and/or other operations described herein, in some embodiments. In some cases, the truncation may cause some loss of precision.

For conversion of magnitude values (referred to as "V" for clarity) using <NUM>*log10(V), examples in <FIG> are similar to those shown in <FIG>.

Claim 1:
A telemetry device (<NUM>) that communicates with a receiving station (<NUM>), the telemetry device comprising:
processing circuitry (<NUM>); and
memory (<NUM>) storing instructions (<NUM>) that, when executed by the processing circuitry, cause the telemetry device to:
receive (<NUM>), from a sensor, a range Doppler map 'RDM' value (<NUM>, <NUM>) which is a power value in a binary floating point format, the RDM value comprising an exponent (<NUM>) comprising bits, the RDM value comprising a mantissa (<NUM>) comprising bits;
convert (<NUM>) the RDM value to a compressed RDM value in decibels 'dB' (<NUM>), the compressed RDM value comprising a plurality of bits, wherein the processing circuitry is configured to:
determine (<NUM>) a first number (<NUM>) based on a product of the exponent and a constant (<NUM>), wherein the constant is proportional to a logarithm of the number two;
determine (<NUM>) a second number (<NUM>) using one or more bits of the mantissa as an index into a predetermined lookup table (<NUM>), wherein values of the lookup table are proportional to logarithms of candidate mantissa values; and
determine (<NUM>) the compressed RDM value based on rounding (<NUM>) of a sum (<NUM>), wherein the sum includes the first and second numbers, wherein the rounding is based on a predetermined step size in dB; and
transmit (<NUM>) the compressed RDM value over a telemetry link (<NUM>) to the receiving station,
wherein:
the constant used to determine the first number, the values of the lookup table, the compressed number and the step size are in decibels 'dB',
the logarithm of the number two that is used to determine the first number is a base-<NUM> logarithm, and
the logarithms of the candidate mantissa values that are used to determine the second number are base-<NUM> logarithms.