Coding and filtering for machine-type communication
Encoding and decoding schemes at an encoding device/transmitter and decoder device/receiver, respectively, for use in communicating the state of a system. In an example method carried out by an encoding device, state information x(k), which represents the current state of a monitored system, is measured. The encoding device calculates a state update parameter, based on: a message power constraint P; the covariance N of measurement noise associated with the channel over which encoded state information is to be transmitted; and the norm of the signal vector [s(k), x(k)], where s(k) is a stored state information parameter. The encoding device then calculates a message signal z(k)=G(k)*(x(k)−s(k)), which may then be transmitted to a remote decoder device, and calculates an updated version of the stored information s(k+1)=A*(s(k)+F(k)*z(k)). The encoding device replaces the stored state information s(k) with s(k+1).
Latest Telefonaktiebolaget LM Ericsson (publ) Patents:
The present disclosure relates generally to wireless communication systems, and more specifically relates to signal coding for messages that encode the state of a dynamical system.
BACKGROUNDThe 3rd Generation Partnership Project (3GPP) is responsible for the standardization of the Universal Mobile Telecommunication System (UMTS) and the fourth-generation wireless system commonly known as Long Term Evolution (LTE). The 3GPP work on LTE is also referred to as Evolved Universal Terrestrial Access Network (E-UTRAN). LTE is a technology for realizing high-speed packet-based communication that can reach high data rates both in the downlink and in the uplink, and is thought of as a next generation mobile communication system, relative to UMTS. In order to support high data rates, LTE allows for a system bandwidth of 20 MHz, or up to 100 Hz when carrier aggregation is employed. LTE is also able to operate in different frequency bands and can operate in at least Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes.
In a future “Networked Society” scenario there are expected to be a very large number of machine-type-communication (MTC) devices supported by wide-area wireless networks. Many of these devices will transmit a small amount of uplink data, e.g., 100 bits or so, very infrequently, e.g., once per hour.
Some MTC devices may be installed in locations that are inaccessible to or only occasionally used by people, and which may not have robust coverage from traditional wireless networks. 3GPP, in its continuing standardization of technology for LTE, plans to introduce a new solution for “enhanced MTC coverage,” with a goal of improving the link budget under enhanced MTC coverage by approximately 15-20 dB, compared to what is supported with the legacy LTE standard. (See, for example, 3GPP Tdoc RP-121441, available at http://www.3gpp.org/ftp/tsg_ran/TSG_RAN/TSGR_57//Docs/.) This is expected to make LTE even more attractive for MTC type of solutions.
Machine-to-machine (M2M) communication, also known as machine-type communication (MTC), is used for establishing communication between machines and between machines and humans. The communication may comprise an exchange of data, signaling, measurement data, configuration information, etc. The device sizes may vary from that of a wallet to that of a base station. M2M devices are quite often used for applications like sensing environmental conditions (e.g., temperature reading), metering or measurement (e.g., electricity usage, etc.), fault finding or error detection, etc. In these applications, the M2M devices are active very infrequently, but over a particular duration that depends upon the type of service, e.g., about 200 milliseconds once every 2 seconds, about 500 milliseconds every 60 minutes, etc.
Machine-type-communication (MTC) involves the monitoring of dynamical systems in many cases, such as vehicle-to-vehicle communications, industrial control applications, and machine-to-machine communications. The communication involved in these applications generally includes messaging of the current state of the monitored system, which is dynamical, i.e., changing in time.
The current state in a dynamical system is dependent on the past states. As a result, knowledge about past states for the system can be used to improve an estimate of the current state. Generally, more information regarding the system's past states allows more accurate estimation of the system's present state. However, due to memory limitations, it is often desired that only a small portion of the system's entire state history is stored. This may be a particular issue in MTC applications, where the resources of a given device may be limited.
The dynamical nature of the systems monitored in MTC applications may be exploited to improve the encoding and decoding of the messages sent to indicate the systems' current states. Encoding and decoding techniques that do this while using as little memory as possible for storing prior state information are needed.
SUMMARYEmbodiments of the presently disclosed techniques include new encoding and decoding schemes at an encoding device/transmitter and decoder device/receiver, respectively, for use in communicating the state of a dynamical system. With these new schemes, the complexity of the algorithm is constant, and thus independent of the size of the time horizon K. Also, the memory needed for the encoder is fixed and is equal to the size of the state x(k). Likewise, the memory of the decoder is also constant and equal to the size of x(k). One example method is carried out by an encoding device, which might be found in a transmitter device such as an MTC device. The encoding device receives measured state information x(k), which represents the current state of a monitored system. The encoding device calculates a state update parameter, based on: a message power constraint P; the covariance N of measurement noise associated with the channel over which encoded state information is to be transmitted; and the norm of the signal vector [s(k), x(k)], where s(k) is a stored state information parameter. In some embodiments, the norm is computed according to sigma(k)=√(V11(k)−2*V12(k)+V22(k)), where
is the covariance matrix for the signal vector [s(k), x(k)]. In these embodiments, the state update parameter may be computed according to parameter F(k)=sigma(k)*√P/(P+N). The encoding device also calculates a gain parameter G(k), as a function of the message power constraint P and the norm of (x(k)−s(k)).
The encoding device then calculates a message signal z(k)=G(k)*(x(k)−s(k)), which may then be transmitted to a remote decoder device, and calculates an updated version of the stored information s(k+1)=A*(s(k)+F(k)*z(k)). The encoding device replaces the stored state information s(k) with s(k+1) when an acknowledgment is obtained from the remote decoder device that the transmitted message has been successfully decoded.
A corresponding method is carried out by a decoder device, such as might be found in a receiver device such as a base station. The decoder device measures the (delayed) output y(k−1) obtained by a signal receiver, and calculates a state update parameter F(k) in the same manner described above for the encoding device. The decoder device then calculates a state estimate from a stored state estimate and the state update parameter, e.g., according to {circumflex over (x)}(k)=A*({circumflex over (x)}(k−1)+F(k)*y(k−1)). The decoder device replaces the stored state estimate {circumflex over (x)}(k−1) with the newly computed, most recent, state estimate {circumflex over (x)}(k), and may send an acknowledgement to the encoding device when the message has been successfully decoded.
Further objects, features, and advantages of the present disclosure will become apparent from the following detailed description taken in conjunction with the accompanying Figures showing illustrative and/or exemplary embodiments, in which:
In the discussion that follows, specific details of particular embodiments of the presently disclosed techniques and apparatus are set forth for purposes of explanation and not limitation. It will be appreciated by those skilled in the art that other embodiments may be employed apart from these specific details. Furthermore, in some instances detailed descriptions of well-known methods, nodes, interfaces, circuits, and devices are omitted so as not to obscure the description with unnecessary detail. Those skilled in the art will appreciate that the functions described may be implemented in one or in several nodes.
Some or all of the functions described may be implemented using hardware circuitry, such as analog and/or discrete logic gates interconnected to perform a specialized function, ASICs, PLAs, etc. Likewise, some or all of the functions may be implemented using software programs and data in conjunction with one or more digital microprocessors or general purpose computers. Where nodes that communicate using the air interface are described, it will be appreciated that those nodes also have suitable radio communications circuitry. Moreover, the technology can additionally be considered to be embodied entirely within any form of computer-readable memory, including non-transitory embodiments such as solid-state memory, magnetic disk, or optical disk containing an appropriate set of computer instructions that would cause a processor to carry out the techniques described herein.
Hardware implementations may include or encompass, without limitation, digital signal processor (DSP) hardware, a reduced instruction set processor, hardware (e.g., digital or analog) circuitry including but not limited to application specific integrated circuit(s) (ASIC) and/or field programmable gate array(s) (FPGA(s)), and (where appropriate) state machines capable of performing such functions.
In terms of computer implementation, a computer is generally understood to comprise one or more processors or one or more controllers, and the terms computer, processor, and controller may be employed interchangeably. When provided by a computer, processor, or controller, the functions may be provided by a single dedicated computer or processor or controller, by a single shared computer or processor or controller, or by a plurality of individual computers or processors or controllers, some of which may be shared or distributed. Moreover, the term “processor” or “controller” also refers to other hardware capable of performing such functions and/or executing software, such as the example hardware recited above.
References throughout the specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification are not necessarily all referring to the same embodiment. Further, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
While the following examples are described in the context of LTE systems, the principles described in the following disclosure may be equally applied to other cellular networks. Likewise, it should be understood that while the specific encoding and decoding techniques described herein are explained in the context of MTC devices and may be particularly beneficial for MTC applications, these techniques are more generally applicable to other types of devices, including wireless devices, where it is necessary or useful to transmit a series of messages that encode the changing state of a dynamical system.
In some of the embodiments described herein, the non-limiting terms “user equipment” and “UE” are used. A UE, as that term is used herein, can be any type of wireless device capable of communicating with a network node or another UE over radio signals, including an MTC device or M2M device. A UE may also be referred to as a radio communication device, or a target device, and the term is intended to include device-to-device UEs, machine-type UEs or UEs capable of machine-to-machine communication, sensors equipped with a UE, wireless-enabled table computers, mobile terminals, smart phones, laptop-embedded equipped (LEE), laptop-mounted equipment (LME), USB dongles, wireless customer-premises equipment (CPE), etc. In the discussion that follows, the terms M2M device, MTC device, wireless sensor, and sensor are used interchangeably. It should be understood that these devices are UEs, but are generally configured to transmit and/or receive data without direct human interaction. The term “wireless node,” as used herein may be understood to more generally refer to wireless devices, UEs, MTC devices, and the like, as well as wireless base stations, access points, etc.
More specifically, in an MTC scenario, the UE 12 may be configured to carry out one or more of the techniques described below for encoding the state of a monitored system and transmitting the resulting message to a remote receiver, e.g., in a NodeB. However, a UE 12 may also be configured to carry out the techniques described below for decoding the state of a monitored system from a received message, which may be received from, for example, another wireless device or a base station. Some UEs may be configured to carry out both techniques.
Also, in the description of some embodiments below, the generic terminology “radio network node” or simply “network node (NW node)” is used. These terms refer to any kind of wireless network node, such as a base station, a radio base station, a base transceiver station, a base station controller, a network controller, an evolved Node B (eNB), a Node B, a relay node, a positioning node, a E-SMLC, a location server, a repeater, an access point, a radio access point, a Remote Radio Unit (RRU) Remote Radio Head (RRH), a multi-standard radio (MSR) radio node such as MSR BS nodes in distributed antenna system (DAS), a SON node, an O&M, OSS, or MDT node, a core network node, an MME, etc.
The illustrated base station 10 comprises a processing module 40 that controls the operation of the base station 10. The processing module 40, which may comprise one or more microprocessors, microcontrollers, digital signal processors, specialized digital logic, etc., is connected to a transceiver module 42 with associated antenna(s) 44, which are used to transmit signals to, and receive signals from, user equipments 12 in the network 2. The base station 10 also comprises a memory module 46 that is connected to the processing module 40 and that stores program and other information and data required for the operation of the base station 10. Together, the processing module 40 and memory module 46 may be referred to as a “processing circuit,” and are adapted, in various embodiments, to carry out one or more of the network-based techniques described below.
More specifically, in an MTC scenario, the processing circuit of base station 10 may be configured to carry out all or part of one or more of the techniques described below for decoding the state of a monitored system from a message received from a remote transmitter, e.g., a UE. However, a base station 10 may also be configured to carry out the techniques described below for encoding the state of a monitored system for transmission to another device. Some base stations may be configured to carry out both techniques.
The base station 10 also includes components and/or circuitry 48 for allowing the base station 10 to exchange information with other base stations 10 (for example, via an X2 interface) and components and/or circuitry 49 for allowing the base station 10 to exchange information with nodes in the core network 4 (for example, via the S1 interface). It will be appreciated that base stations for use in other types of network (e.g., UTRAN or WCDMA RAN) will include similar components to those shown in
In an MTC application, it is desirable to minimize the size and/or number of the messages transmitted from the MTC device to report the state of the monitored system. Furthermore, it is desirable to minimize the memory resources needed to support the application. Accordingly, the problem under consideration here is the design of a reliable encoding and decoding scheme, suitable for wireless transmission, which uses as small a memory as possible to communicate and estimate the system state.
x(k+1)=Ax(k)+Bw(k)
where x(k) represents the state of the system, w(k) is the input to the system, and A and B are scalars. A and B may or may not be constant over time.
An encoding and decoding system that takes into account this system state representation can be implemented. It is assumed that the scalars A and B are available to the encoder and decoder. At each time step k, the state at time k is obtained at the encoding end of the system (e.g., at an MTC device monitoring an industrial system.) The encoding of the system's current state depends on the state history. In other words, the encoding of the current state is a function g of the state history x(k), x(k−1), . . . , x(0). The resulting message,
z(k)=g(x(k),x(k−1), . . . ,x(0)),
is subject to a power constraint and is transmitted, e.g., via an LTE network, to a desired receiver, which receives a corrupted version given by
y(k)=z(k)+n(k)
where n(k) is white noise.
Given unlimited resources, the decoder at the receiving end of the transmission may have access to the entire history of the received messages y(k), y(k−1), . . . , y(0). The estimated value of the state x(k) is then given by
{circumflex over (x)}(k)=f(y(k),y(k−1), . . . y(0))
The problem to be solved is the development of an encoder/decoder scheme that allows for efficient encoding of the state x(k), transmission of the resulting message, and decoding of the received message. More generally, the problem to be solved is the joint design of optimal linear encoders and decoders for filtering and transmission of a signal over a wireless communication link, subject to memory constraints with respect to the prior states of the system.
Previous designs undertaken from a theoretical perspective rely on the encoder storing the entire history of the transmitted messages z(k), z(k−1), z(0) and the decoder storing the entire history of the received messages y(k), y(k−1), . . . , y(0). The linear optimal encoder and decoder are obtained by solving a convex optimization problem (semi-definite program) that scales with the size of the time k. Note that this problem resembles the problem of Kalman filtering, with an important difference being that the measurement is obtained from a wireless channel where the encoder is part of the filter design.
One design is given by Johannesson et al., “Encoder and Decoder Design for Signal Estimation,” 2010 American Control Conference, Baltimore, Md., USA, Jun. 30-Jul. 2, 2010, pp. 2132-2137. The method proposed therein requires an unlimited memory size, however, which is of course not realizable in practice. Also, the computation of the optimal encoder and decoder grows with the size of the memory (that is, with increasing time). Hence, the computational complexity also grows without limit, which is indeed problematic because of the increasing number of iterations.
Embodiments of the presently disclosed techniques include new encoding and decoding schemes at an encoder/transmitter device and decoder/receiver device, respectively, where the complexity of the algorithm is constant, and thus independent of the size of the time horizon k. Also, the memory needed for the encoder is fixed and is equal to the size of the state x(k). Likewise, the memory of the decoder is also constant and equal to the size of x(k). Note that the terms “transmitter device” and “receiver device” are used herein to refer to the devices that instantiate the encoder and decoder, respectively, which can likewise be referred to as “encoding devices” and “decoding devices.” A particular device, such as an MTC device, might include both, in which case that device would be both a “transmitter device” and “receiver device,” as those terms are used herein.
The signal flow diagrams in
The decoder calculates F(k) and F(k)*y(k), and then calculates the best estimate {circumflex over (x)}(k) of x(k) based on its previous estimate {circumflex over (x)}(k−1) and F(k)*y(k).
The encoding and decoding process assumes that certain parameters are known at both the transmitter device and receiver device, and are thus available to the encoder and decoder, respectively. These include:
-
- The parameters A, B, of the linear system x(k+1)=Ax(k)+Bw(k).
- The covariance N of the measurement noise n(k).
- The power constraint on the transmitted message z(k), which is given by P.
- The time horizon K.
These parameters may be communicated from one device to the other or otherwise agreed upon, using conventional means.
The encoding and decoding of a message that conveys the state of the dynamical system is described in detail, as follows. First, following are initializations and the general form of several calculations that are performed by both ends of the system, i.e., at the encoder and decoder.
The quantity sigma(k), as given above, is the norm of (x(k)−s(k)). The matrix
is the covariance matrix of the signal vector [s(k), x(k)].
Operations and Calculations Carried Out by the Encoder, at a Transmitter Device, Such as an MTC Device:
-
- 1. The encoder receives the state information x(k), which represents the current state of the monitored system.
- 2. The encoder calculates F(k)=sigma(k)*√P)/(P+N) and G(k)=√P/sigma(k), where sigma(k) is calculated according to the formulation given above. As noted above, G(k) is a gain parameter that accounts for the transmitter power constraint. F(k) may be considered a state update parameter—as seen below, it is used to update the stored state information s(k).
- 3. The encoder calculates and transmits the message signal z(k)=G(k)*(x(k)−s(k)). In some embodiments, the message z(k) will be represented using a fixed number of bits, e.g., according to a floating point representation, and may be transmitted over a channel using conventional modulation schemes, channel coding, and the like.
- 4. The encoder creates the signal s(k+1)=A*(s(k)+F(k)*z(k)).
- 5. The encoder replaces the stored state information s(k) with s(k+1) when an acknowledgment is obtained from the receiver that the transmitted message has been successfully decoded.
Operations and Calculations Carried Out by the Decoder, at a Receiver Device, Such as at a Base Station or at Another MTC Device: - 1. The decoder measures the (delayed) output y(k−1) obtained by the signal receiver.
- 2. The decoder calculates the state update parameter F(k)=sigma(k)*√P/(P+N).
- 3. The decoder calculates the state estimate {circumflex over (x)}(k)=A*({circumflex over (x)}(k−1)+F(k)*y(k−1)).
- 4. The decoder replaces the stored state estimate {circumflex over (x)}(k−1) with the newly computed, most recent, state estimate {circumflex over (x)}(k).
- 5. An acknowledgement is sent from receiver to transmitter when the message has been successfully decoded.
Disclosed above are an algorithm and corresponding encoding and decoding techniques suitable for transmission, e.g., from an MTC device to a receiver device, of a message that encodes the state of a dynamical system. The algorithm, which is non-iterative, is efficient, fast converging, and easy to implement, with a memory at the decoder and decoder that is equal to the size of the state of the system.
Referring first to
As seen at block 720, a state update parameter F(k) is calculated, based on a message power constraint P, a covariance N(k) of measurement noise associated with the channel over which encoded state information is to be transmitted, and the norm of the signal vector [s(k), x(k)], where s(k) is a stored state information parameter. As illustrated at block 730, a gain parameter G(k) is also calculated, as a function of the message power constraint P and the norm of the difference of x(k) and s(k). A message signal z(k) is then calculated, according to z(k)=G(k)*(x(k)−s(k)), as shown at block 740, and the message signal z(k) is transmitted to the decoder device, as shown at block 750.
In some embodiments, as shown at block 760, the encoding device receives an acknowledgement message from the remote decoder device, the acknowledgement message indicating that the message signal was received and decoded. It should be understood that this operation is not essential to all embodiments or instances, and may be omitted. As shown at block 770, the encoding device calculates an updated version s(k+1) of the stored state information parameter according to s(k+1)=A*(s(k)+F(k)*z(k)), and stores the updated version s(k+1) of the stored state information parameter in place of the previously stored state information parameter s(k), for use in forming subsequent encoded messages. In some embodiments, the calculating and storing of the updated version of the stored state information parameter is performed in response to receiving the acknowledgement message.
Blocks 710-770 illustrate one iteration of measuring state information for a monitored system, encoding the state information, transmitting the encoded information to a remote decoder device, and storing an updated version of a state information parameter for use in a subsequent update. These operations can be reported, of course, so that changes in the monitored system's state can be tracked by a remote system. Thus, in some embodiments of the method illustrated in
As described in detail above, the state update parameter F(k) referenced in block 720 of
The gain parameter G(k) may be calculated according to G(k)=√P/sigma(k).
As shown at block 810, the illustrated method begins with obtaining a received signal y(k−1). As shown at block 820, a state update parameter F(k) is calculated, based on a message power constraint P, a covariance N(k) of measurement noise associated with the channel over which encoded state information is to be transmitted, and a parameter sigma(k)=√(V11(k)−2*V12(k)+V22(k)), where V11(0)=V12(0)=V22(0)=0 and, for k=0 to a time horizon K,
Next, as shown at block 830, a state estimate {circumflex over (x)}(k) is calculated, according to {circumflex over (x)}(k)=A*({circumflex over (x)}(k−1)+F(k)*y(k−1), where {circumflex over (x)}(k−1) is a previously stored state estimate.
If the illustrated method is to be repeated for a subsequent message, the state estimate {circumflex over (x)}(k) should then be stored in place of the previously stored state estimate {circumflex over (x)}(k−1), as shown at block 840. An acknowledgement may then be sent to the remote encoder device in response to calculating the state estimate {circumflex over (x)}(k), as shown at block 850. However, this latter operation is not essential, and thus may be omitted from some embodiments or instances of the illustrated method.
As discussed above, the decoding or encoding techniques described above, or both, may be implemented in a wireless device, base station, or other node, typically using a programmed processing node.
A computer program for controlling the node 1 to carry out a method embodying any of the presently disclosed techniques is stored in a program storage 35, which comprises one or several memory devices. Data used during the performance of a method embodying the present invention is stored in a data storage 25, which also comprises one or more memory devices. During performance of a method embodying the present invention, program steps are fetched from the program storage 35 and executed by a Central Processing Unit (CPU) 15, retrieving data as required from the data storage 25. Output information resulting from performance of a method embodying the present invention, such as the estimated state information, can be stored back in the data storage 25, or sent to an Input/Output (I/O) interface 45, which may include a network interface for sending and receiving data to and from other network nodes. The CPU 15 and its associated data storage 25 and program storage 25 may collectively be referred to as a “processing circuit.” It will be appreciated that variations of this processing circuit are possible, including circuits include one or more of various types of programmable circuit elements, e.g., microprocessors, microcontrollers, digital signal processors, field-programmable application-specific integrated circuits, and the like, as well as processing circuits where all or part of the processing functionality described herein is performed using dedicated digital logic.
Accordingly, in various embodiments of the invention, processing circuits, such as the CPU 15, data storage 25, and program storage 35 in
It will further be appreciated that various aspects of the above-described embodiments can be understood as being carried out by functional “modules,” which may be program instructions executing on an appropriate processor circuit, hard-coded digital circuitry and/or analog circuitry, or appropriate combinations thereof.
The encoder circuit 1000 of
The encoder circuit 1000 further includes a calculator module 1020 configured to calculate a state update parameter F(k), based on a message power constraint P, a covariance N(k) of measurement noise associated with the channel over which encoded state information is to be transmitted, and the norm of the signal vector [s(k), x(k)], where s(k) is a stored state information parameter, to calculate a gain parameter G(k) as a function of the message power constraint P and the norm of the difference of x(k) and s(k), and to calculate a message signal z(k), according to z(k)=G(k)*(x(k)−s(k)). In some embodiments, the calculator module 1020 is further configured to send the message signal z(k) to a remote decoder device, via a transmitter circuit 1030.
Similarly, the decoder circuit 1100 of
Calculator module 1120 is further configured to calculate a state estimate {circumflex over (x)}(k)=A*({circumflex over (x)}(k−1)+F(k)*y(k−1), where {circumflex over (x)}(k−1) is a previously stored state estimate.
Decoder circuit 1100, as illustrated in
It will be appreciated that all of the details and variations discussed above in connection with the process flow diagrams of
Examples of several embodiments of the present techniques have been described in detail above, with reference to the attached illustrations of specific embodiments. Because it is not possible, of course, to describe every conceivable combination of components or techniques, those skilled in the art will appreciate that the present invention can be implemented in other ways than those specifically set forth herein, without departing from essential characteristics of the invention. The present embodiments are thus to be considered in all respects as illustrative and not restrictive.
Claims
1. A method, in an encoding device, for communicating a sequential plurality of states of a monitored system, the method having a complexity independent of the number of states comprising the plurality, the method comprising:
- receiving measured state information x(k) related to the monitored system;
- calculating a state update parameter F(k), based on: the maximum power P available for transmitting a message over a channel; a covariance N(k) of measurement noise associated with the channel; a stored current state information parameter s(k); and the received measured state information x(k);
- calculating a gain parameter G(k) as a function of the maximum power P, the current state information s(k), and the measurement information x(k);
- calculating an encoded message z(k) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k); and
- transmitting the encoded message z(k) to the decoder device via the channel; and
- upon receiving an acknowledgement message indicating that the encoded message was successfully received: calculating an updated current state information s(k+1) based on the stored current state information s(k), the encoded message z(k), and the state update parameter F(k); and storing the updated current state information s(k+1) as the current state information s(k).
2. The method of claim 1, wherein the state update parameter F(k) is calculated based on the norm of the vector [s(k), x(k)], and the gain parameter is calculated based on the norm of the difference of x(k) and s(k).
3. The method of claim 1, wherein the message z(k) is calculated according to z(k)=G(k)*(x(k)−s(k)).
4. The method of claim 1, further comprising subsequently:
- receiving second measured state information x(k+1), the second measured state information x(k+1) representing a second state of the monitored system;
- calculating a second state update parameter F(k+1), based on: the maximum power P; a second covariance N(k+1) of measurement noise associated with the channel; the stored current state information parameter s(k+1); and the received second measured state information x(k+1);
- calculating a second gain parameter G(k+1) as a function of the maximum power P, the stored current state information s(k+1), and the received second measurement information x(k+1);
- calculating a second encoded message z(k+1) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k); and
- transmitting the second message signal z(k+1) to the decoder device via the channel.
5. The method of claim 4, wherein the second covariance N(k+1) and the covariance N(k) are the same, the state update parameter F(k+1) is calculated based on the norm of the vector [s(k+1), x(k+1)], and the gain parameter G(k+1) is calculated based on the norm of the difference of x(k+1) and s(k+1).
6. The method of claim 1, wherein the state update parameter F(k) is calculated according to F(k)=sigma(k)*√P)/(P+N(k)), where V11(0)=V12(0)=V22(0)=0 and where, for k=0 to a time horizon K: sigma ( k ) = √ ( V 11 ( k ) - 2 * V 12 ( k ) + V 22 ( k ) ) and [ V 11 ( k + 1 ) V 12 ( k + 1 ) V 12 ( k + 1 ) V 22 ( k + 1 ) ] = [ A - F ( k ) F ( k ) 0 A ] · [ V 11 ( k ) V 12 ( k ) V 12 ( k ) V 22 ( k ) ] · [ A - F ( k ) F ( k ) 0 A ] + [ 0 0 0 B 2 ] wherein updates to the monitored system's state can be represented according to x(k+1)=A*x(k)+B*w(k), w(k) is an input to the system, and A and B are scalars.
7. The method of claim 6, wherein the gain parameter G(k) is calculated according to G(k)=√P/sigma(k).
8. A method, in a decoder device, for receiving a sequential plurality of states of a monitored system from a remote encoding device, the method having a complexity independent of the number of states comprising the plurality, the method comprising:
- obtaining a received signal y(k−1) representative of an encoded message z(k) transmitted by the encoding device via a channel;
- calculating a state update parameter F(k), based on: the maximum power P available for transmitting a message over the channel; a covariance N(k) of measurement noise associated with the channel; scalar parameters A and B representing the monitored system; and a time horizon K for monitoring the system;
- calculating a state estimate {circumflex over (x)}(k) of the state of the system x(k) based on the state update parameter F(k), the received signal y(k−1), and a previously stored state estimate {circumflex over (x)}(k−1);
- sending an acknowledgement to the remote encoder device in response to calculating the state estimate {circumflex over (x)}(k); and
- storing the state estimate {circumflex over (x)}(k) in place of the previously stored state estimate {circumflex over (x)}(k−1).
9. The method of claim 8, wherein the state update parameter F(k) is calculated based on a parameter sigma(k)=√(V11(k)−2*V12(k)+V22(k)), where V11(0)=V12(0)=V22(0)=0 and, for k=0 to the time horizon K, sigma ( k ) = √ ( V 11 ( k ) - 2 * V 12 ( k ) + V 22 ( k ) ) and [ V 11 ( k + 1 ) V 12 ( k + 1 ) V 12 ( k + 1 ) V 22 ( k + 1 ) ] = [ A - F ( k ) F ( k ) 0 A ] · [ V 11 ( k ) V 12 ( k ) V 12 ( k ) V 22 ( k ) ] · [ A - F ( k ) F ( k ) 0 A ] + [ 0 0 0 B 2 ].
10. The method of claim 8, wherein the state estimate {circumflex over (x)}(k) is calculated according to A*({circumflex over (x)}(k−1)+F(k)*y(k−1)).
11. An encoder circuit for encoding a sequential plurality of states of a monitored system, the encoding having a complexity independent of the number of states comprising the plurality, the encoder circuit comprising a processor and a memory device, wherein the encoder circuit is configured, with the processor executing program code stored in the memory device, to:
- receive measured state information x(k), related to the monitored system;
- calculate a state update parameter F(k), based on: the maximum power P available for transmitting a message over a channel; a covariance N(k) of measurement noise associated with the channel; a stored current state information parameter s(k); and the received measured state information x(k);
- calculate a gain parameter G(k) as a function of the maximum power P, the current state information s(k), and the measurement information x(k); and
- calculate an encoded message z(k) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k).
12. The encoder circuit of claim 11, wherein the encoder circuit is further configured to calculate the state update parameter F(k) based on the norm of the vector [s(k), x(k)], and to calculate the gain parameter based on the norm of the difference of x(k) and s(k).
13. The encoder circuit of claim 11, wherein the encoder circuit is configured to calculate the message z(k) according to z(k)=G(k)*(x(k)−s(k)).
14. The encoder circuit of claim 11, wherein the encoder circuit is further configured to subsequently:
- receive second measured state information x(k+1), the second measured state information x(k+1) representing a second state of the monitored system;
- calculate a second state update parameter F(k+1), based on: the maximum power P; and a second covariance N(k+1) of measurement noise associated with the channel;
- calculate a second gain parameter G(k+1) as a function of the maximum power P, the stored current state information s(k+1), and the received second measurement information x(k+1); and
- calculate a second encoded message z(k+1) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k).
15. The encoder circuit of claim 14, wherein the second covariance N(k+1) and the covariance N(k) are the same, and wherein the encoder circuit is further configured to calculate the state update parameter based on the norm of the vector [s(k+1), x(k+1)] and to calculate the gain parameter G(k+1) based on the norm of the difference of x(k+1) and s(k+1).
16. The encoder circuit of claim 11, wherein the encoder circuit is configured to calculate the state update parameter F(k) according to F(k)=sigma(k)*√P)/(P+N(k)), where V11(0)=V12(0)=V22(0)=0 and, for k=0 to a time horizon K: sigma ( k ) = √ ( V 11 ( k ) - 2 * V 12 ( k ) + V 22 ( k ) ) and [ V 11 ( k + 1 ) V 12 ( k + 1 ) V 12 ( k + 1 ) V 22 ( k + 1 ) ] = [ A - F ( k ) F ( k ) 0 A ] · [ V 11 ( k ) V 12 ( k ) V 12 ( k ) V 22 ( k ) ] · [ A - F ( k ) F ( k ) 0 A ] + [ 0 0 0 B 2 ] wherein updates to the monitored system's state can be represented according to x(k+1)=A*x(k)+B*w(k), and wherein w(k) is an input to the system, and wherein A and B are scalars.
17. The encoder circuit of claim 16, wherein the encoder circuit is configured to calculate the gain parameter G(k) according to G(k)=√P/sigma(k).
18. A transmitter device comprising the encoder circuit of claim 11 and further comprising a transmitter circuit configured to transmit the encoded message z(k) to the decoder device.
19. A decoder circuit for receiving a sequential plurality of states of a monitored system, the decoder circuit comprising a processor and a memory device, wherein the decoder circuit is configured, with the processor executing program code stored in the memory device, to:
- obtain a received signal y(k−1) representative of an encoded message z(k) transmitted by the encoding device via a channel;
- calculate a state update parameter F(k), based on: the maximum power P available for transmitting a message over the channel; a covariance N(k) of measurement noise associated with the channel; scalar parameters A and B representing the monitored system; and a time horizon K for monitoring the system;
- calculate a state estimate {circumflex over (x)}(k) of the state of the system x(k) based on the state update parameter F(k), the received signal y(k−1), and a previously stored state estimate {circumflex over (x)}(k−1);
- send an acknowledgement in response to calculating the state estimate {circumflex over (x)}(k); and
- store the state estimate {circumflex over (x)}(k) in place of the previously stored state estimate {circumflex over (x)}(k−1).
20. The decoder circuit of claim 19, wherein the decoder circuit is further configured to calculate the state update parameter F(k) based on a parameter sigma(k)=√(V11(k)−2*V12(k)+V22(k)), where V11(0)=V12(0)=V22(0)=0 and, for k=0 to the time horizon K, sigma ( k ) = √ ( V 11 ( k ) - 2 * V 12 ( k ) + V 22 ( k ) ) and [ V 11 ( k + 1 ) V 12 ( k + 1 ) V 12 ( k + 1 ) V 22 ( k + 1 ) ] = [ A - F ( k ) F ( k ) 0 A ] · [ V 11 ( k ) V 12 ( k ) V 12 ( k ) V 22 ( k ) ] · [ A - F ( k ) F ( k ) 0 A ] + [ 0 0 0 B 2 ].
21. The decoder circuit of claim 19, wherein the decoder circuit is further configured to calculate the state estimate {circumflex over (x)}(k) according to A*({circumflex over (x)}(k−1)+F(k)*y(k−1)).
22. A receiver device comprising the decoder circuit of claim 19 and further comprising a receiver circuit configured to receive the received signal y(k−1) from a remote encoder device.
23. A machine-type-communication device comprising the decoder circuit of claim 19 and further comprising:
- an encoder circuit for encoding a sequential plurality of states of a monitored system, the encoding having a complexity independent of the number of states comprising the plurality, the encoder circuit comprising a processor and a memory device, wherein the encoder circuit is configured, with execution of program code stored in the memory device, to: receive measured state information x(k), related to the monitored system; calculate a state update parameter F(k), based on: the maximum power P available for transmitting a message over a channel; a covariance N(k) of measurement noise associated with the channel; a stored current state information parameter s(k); and the received measured state information x(k); calculate a gain parameter G(k) as a function of the maximum power P, the current state information s(k), and the measurement information x(k); and calculate an encoded message z(k) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k).
24. A non-transitory computer-readable medium comprising, stored thereupon, a computer program product for communicating a sequential plurality of states of a monitored system according to a complexity independent of the number of states comprising the plurality, the computer program product comprising instructions for:
- receiving measured state information x(k) related to the monitored system;
- calculating a state update parameter F(k), based on: the maximum power P available for transmitting a message over a channel; a covariance N(k) of measurement noise associated with the channel; a stored current state information parameter s(k); and the received measured state information x(k);
- calculating a gain parameter G(k) as a function of the maximum power P, the current state information s(k), and the measurement information x(k);
- calculating an encoded message z(k) based on the gain parameter G(k) and the difference between the measurement information x(k) and the current state information s(k); and
- transmitting the encoded message z(k) to the decoder device via the channel; and
- upon receiving an acknowledgement message indicating that the encoded message was successfully removed: calculating an updated current state information s(k+1) based on the stored current state information s(k), the encoded message z(k), and the state update parameter F(k); and storing the updated current state information s(k+1) as the current state information s(k).
25. A non-transitory computer-readable medium comprising, stored thereupon, a computer program product for receiving a sequential plurality of states of a monitored system from a remote encoding device according to a complexity independent of the number of states comprising the plurality, the computer program product comprising instructions for:
- obtaining a received signal y(k−1) representative of an encoded message z(k) transmitted by the encoding device via a channel;
- calculating a state update parameter F(k), based on:
- the maximum power P available for transmitting a message over the channel;
- a covariance N(k) of measurement noise associated with the channel;
- scalar parameters A and B representing the monitored system; and
- a time horizon K for monitoring the system;
- calculating a state estimate {circumflex over (x)}(k) of the state of the system x(k) based on the state update parameter F(k), the received signal y(k−1), and a previously stored state estimate {circumflex over (x)}(k−1);
- sending an acknowledgement to the remote encoder device in response to calculating the state estimate {circumflex over (x)}(k); and
- storing the state estimate {circumflex over (x)}(k) in place of the previously stored state estimate {circumflex over (x)}(k−1).
20040209624 | October 21, 2004 | Rune |
- 3GPP, “Updated SID on: Provision of low-cost MTC UEs based on LTE”, TSG RAN meeting #57 RP-121441, Vodafone, Chicago, USA, Sep. 4-7, 2012, 1-6.
- Gattami, Ather, “Distributed Estimation and Control under Partially Nested Pattern”, 2009 American Control Conference, WeB06.3, St. Louis, Missouri, Jun. 10-12, 2009, 866-871.
- Hespanha, Joao et al., “A Survey of Recent Results in Networked Control Systems”, Proceedings of the IEEE, vol. 95, No. 1, Jan. 2007, 138-162.
- Johannesson, Erik et al., “Encoder and Decoder Design for Signal Estimation”, 2010 American Control Conference, WeC16.4, Baltimore, Maryland, Jun. 30-Jul. 2, 2010, 2132-2137.
Type: Grant
Filed: Aug 15, 2014
Date of Patent: Jul 10, 2018
Patent Publication Number: 20160277870
Assignee: Telefonaktiebolaget LM Ericsson (publ)
Inventor: Ather Gattami (Stockholm)
Primary Examiner: Anez Ebrahim
Application Number: 15/036,740
International Classification: H04W 8/00 (20090101); H04W 4/70 (20180101); H04L 1/12 (20060101); H04L 25/02 (20060101); H03H 17/02 (20060101); H03H 21/00 (20060101);