1. Field
Certain aspects of the present disclosure generally relate to signal processing and, more particularly, to methods of encoding and decoding signals for transmission or storage.
2. Description of Related Technology
Networks such as body area networks (BANs) make use of wireless sensors such as pulse oximeters, electrocardiogram (ECG) sensors, and 3D-accelerometers to monitor vital signs of individuals. In order to improve the performance of such BANs, it is desirable to reduce the power consumption and/or complexity of wireless sensor devices in the BANs. Thus there is a need for low power devices which can accurately detect and/or communicate vital signs of individuals.
Certain aspects provide a method of processing data. The method generally includes determining a plurality of points in a signal and determining at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold. The separation between adjacent samples may be referred to as a tread or a tread value. Tread may be computed as the difference between the location of a point and the location of an adjacent point. The unit of tread may be time and may be represented, for example, in microseconds, milliseconds, number of samples, number of clock cycles, or by another such unit of time.
Certain aspects provide an apparatus for processing data. The apparatus generally includes a processing system configured to determine a plurality of points in a signal, and at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold.
Certain aspects provide an apparatus for processing data. The apparatus generally includes means for determining a plurality of points in a signal and means for determining at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold.
Certain aspects provide a computer program product. The computer program generally includes a computer readable medium comprising instructions that when executed cause an apparatus to determine a plurality of points in a signal and determine at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold.
Certain aspects provide a sensing device. The sensing device generally includes a processing system configured to determine a plurality of points in a signal. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold. The processing system is further configured to determine at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point. The device further includes a transmitter configured to transmit the quantized tread and the quantized signal value of at least one of the plurality of points.
Certain aspects provide a headset. The headset generally includes a transducer configured to provide a signal and a processing system configured to determine a plurality of points in the signal. At least one of the plurality of points comprises a local maximum or a local minimum of the signal or a point having a value of the signal that when comparing to a value of another point of the signal yields a difference being greater than a first threshold. The processing system is further configured to determine at least one measurement comprising a quantized signal value at one of the plurality of points and a quantized tread at the one point.
Certain aspects provide a method of processing data. The method generally includes receiving a plurality of measurements indicative of a signal, reconstructing the signal based at least in part on the plurality of measurements, and modifying the value of at least one sample of the reconstructed signal based on the measurements. The plurality of measurements comprise at least a tread and a value at points of the signal.
Certain aspects provide an apparatus for processing data. The apparatus generally includes a receiver configured to receive a plurality of measurements indicative of a signal, and a processing system configured to reconstruct the signal based at least in part on the plurality of measurements. The processing system is further configured to modify the value of at least one sample of the reconstructed signal based on the measurements. The plurality of measurements comprise at least a tread and a value at points of the signal.
Certain aspects provide an apparatus for processing data. The apparatus generally includes means for receiving a plurality of measurements indicative of a signal, means for reconstructing the signal based at least in part on the plurality of measurements, and means for modifying the value of at least one sample of the reconstructed signal based on the measurements. The plurality of measurements comprise at least a tread and a value at points of the signal.
Certain aspects provide a computer program product. The computer program generally includes a computer readable medium comprising instructions that when executed cause an apparatus to receive a plurality of measurements indicative of a signal, reconstruct the signal based at least in part on the plurality of measurements, and modify the value of at least one sample of the reconstructed signal based on the measurements. The plurality of measurements comprise at least a tread and a value at points of the signal.
Certain aspects provide a monitoring device. The monitoring device generally includes an antenna, and a receiver configured to receive, via the antenna, a plurality of measurements indicative of a plurality of signals. The plurality of measurements comprise at least a tread and a value at points of the plurality of signals. The device further includes a processing system configured to reconstruct at least one of the plurality of signals based at least in part on the plurality of measurements, and further configured to modify the value of at least one sample of the reconstructed signal based on the measurements.
So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be discussed with reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects.
Various aspects of the novel systems, apparatuses, and methods are described more fully hereinafter with reference to the accompanying drawings. The teachings disclosure may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the novel systems, apparatuses, and methods disclosed herein, whether implemented independently of or combined with any other aspect of the invention. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the invention is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the invention set forth herein. It should be understood that any aspect disclosed herein may be embodied by one or more elements of a claim.
Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the disclosure rather than limiting, the scope of the disclosure being defined by the appended claims and equivalents thereof.
The teachings herein may be incorporated into (e.g., implemented within or performed by) a variety of wired or wireless apparatuses (e.g., nodes). In some aspects, a node implemented in accordance with the teachings herein may comprise an access point or an access terminal.
An access point (“AP”) may comprise, be implemented as, or known as NodeB, Radio Network Controller (“RNC”), eNodeB, Base Station Controller (“BSC”), Base Transceiver Station (“BTS”), Base Station (“BS”), Transceiver Function (“TF”), Radio Router, Radio Transceiver, Basic Service Set (“BSS”), Extended Service Set (“ESS”), Radio Base Station (“RBS”), or some other terminology.
An access terminal (“AT”) may comprise, be implemented as, or known as an access terminal, a subscriber station, a subscriber unit, a mobile station, a remote station, a remote terminal, a user terminal, a user agent, a user device, user equipment, or some other terminology. In some implementations an access terminal may comprise a cellular telephone, a cordless telephone, a Session Initiation Protocol (“SIP”) phone, a wireless local loop (“WLL”) station, a personal digital assistant (“PDA”), a handheld device having wireless connection capability, or some other suitable processing device connected to a wireless modem. Accordingly, one or more aspects taught herein may be incorporated into a phone (e.g., a cellular phone or smartphone), a computer (e.g., a laptop), a portable communication device, a headset, a portable computing device (e.g., a personal data assistant), an entertainment device (e.g., a music or video device, or a satellite radio), a gaming device or system, a global positioning system device, or any other suitable device that is configured to communicate via a wireless or wired medium. In some aspects the node is a wireless node. Such wireless node may provide, for example, connectivity for or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link.
A variety of processes and methods may be used for transmissions in the wireless communication system 100 between the base stations 104 and the user terminals 106. For example, signals may be sent and received between the base stations 104 and the user terminals 106 in accordance with OFDM/OFDMA techniques. If this is the case, the wireless communication system 100 may be referred to as an OFDM/OFDMA system. Alternatively, signals may be sent and received between the base stations 104 and the user terminals 106 in accordance with CDMA techniques. If this is the case, the wireless communication system 100 may be referred to as a CDMA system.
A communication link that facilitates transmission from a base station 104 to a user terminal 106 may be referred to as a downlink (DL) 108, and a communication link that facilitates transmission from a user terminal 106 to a base station 104 may be referred to as an uplink (UL) 110. Alternatively, a downlink 108 may be referred to as a forward link or a forward channel, and an uplink 110 may be referred to as a reverse link or a reverse channel.
A cell 102 may be divided into multiple sectors 112. A sector 112 is a physical coverage area within a cell 102. Base stations 104 within a wireless communication system 100 may utilize antennas that concentrate the flow of power within a particular sector 112 of the cell 102. Such antennas may be referred to as directional antennas.
The wireless device 202 may include a processor 204 which controls operation of the wireless device 202. The processor 204 may also be referred to as a central processing unit (CPU). Memory 206, which may include both read-only memory (ROM) and random access memory (RAM), provides instructions and data to the processor 204. A portion of the memory 206 may also include non-volatile random access memory (NVRAM). The processor 204 typically performs logical and arithmetic operations based on program instructions stored within the memory 206. The instructions in the memory 206 may be executable to implement the methods described herein.
The processor 204 may comprise or be a component of a processing system implemented with one or more processors. The one or more processors may be implemented with any combination of general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate array (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, dedicated hardware finite state machines, or any other suitable entities that can perform calculations or other manipulations of information.
The processing system may also include machine-readable media for storing software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the one or more processors, cause the processing system to perform the various functions described herein.
The wireless device 202 may also include a housing 208 that may include a transmitter 210 and a receiver 212 to allow transmission and reception of data between the wireless device 202 and a remote location. The transmitter 210 and receiver 212 may be combined into a transceiver 214. An antenna 216 may be attached to the housing 208 and electrically coupled to the transceiver 214. The wireless device 202 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers, and/or multiple antennas.
The wireless device 202 may also include a signal detector 218 that may be used in an effort to detect and quantify the level of signals received by the transceiver 214. The signal detector 218 may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals. The wireless device 202 may also include a digital signal processor (DSP) 220 for use in processing signals.
The various components of the wireless device 202 may be coupled together by a bus system 222, which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus.
The BAN may consist of several wireless sensors. Each wireless sensor may comprise at least one acquisition circuit that senses one or more vital signs and communicates them to an aggregator (e.g., an access terminal) such as a mobile handset, a wireless watch, or a Personal Data Assistant (PDA). The aggregator is sometimes referred to as the gateway. Sensors 302, 304, 306, and 308 that acquire various biomedical signals and transmit them over a wireless channel to an aggregator 310 may have the same or similar functionality as access points 104.
The aggregator 310 illustrated in
It may be desirable for sensors used in the BAN to be non-intrusive and long lasting. Photoplethysmograph (PPG) and Electro Cardiogram (ECG) signals and/or activity may be sensed or monitored for a large percentage of chronic ailments in a large segment of human population. There are significant opportunities for wireless technologies in the BAN and mobile devices with wireless area network (WAN) connectivity to improve diagnosis and care of such ailments.
Pulse oximeter sensors can generate the PPG waveform which may enable continuous monitoring of blood oxygenation (also called SpO2), a crucial indicator of pulmonary system including lungs and respiration. Blood carries oxygen, nutrients and chemicals to the body cells in order to ensure their survival and proper functioning, and to remove cellular wastes. SpO2 is extensively used in clinical settings for diagnosis, surgery, long term monitoring, etc.
The ECG is another important vital sign for assessing the cardiovascular system. The heart is one of the most hard working body parts, pumping about six liters of blood per minute through the body in humans. Electrical signals generated during each cardiac cycle form the ECG signal and can be captured by Ag/AgCl electrode sensors. The ECG may be routinely used in clinical settings for diagnosing heart related problems and continuous monitoring of the ECG may enable early diagnosis of many chronic conditions.
In certain aspects, one or more of the sensors 302-308 and/or the aggregator 310 described herein make use of compressed sensing (CS). In CS, signals acquired at the sensors 302-308, for example the PPG signal illustrated in
For example, consider a short term segment of a band-limited signal x(t) of duration T and bandwidth B. Let x(n), 1≦n≦N, represent a discrete version of x(t),
x(n)=x(t)|t=nTs (1)
such that Ts≦½B.
From the Nyquist sampling theorem, it can be recognized that x(t) can be reconstructed if there are at least N=T*2B samples, uniformly spaced between 0 and T at every Ts=½B seconds. Then Fs=2B is the Nyquist sampling frequency. The fact that x(t) can be reconstructed from N samples stems from the equivalence of continuous and discrete Fourier spectra X(f) and X(ω) in the range {−B,B}. If x(n) is quantized with q bits per sample, the Nyquist rate is q*Fs and provides 6q dB dynamic range in the discrete domain. In the Fourier space, x can be represented as
X=Wx (2)
where W is an orthonormal basis set consisting of exponentials and can be written as a N×N matrix
In CS, the signal samples r(n), 1≦k≦K can be mathematically represented as
r=Hx (3)
where H is a K×N matrix. For the Nyquist case, H=IN, an identity matrix of size N.
In some aspects, x(t) has a lot of redundancy in the time domain, such that there are only M components with magnitude greater than ε in X of Eq. 2, where ε<<max(X), and M<<N. In this case, W may be referred to as the sparse basis. In a CS paradigm as described herein, if one is able to construct a sensing matrix H of dimension K×N that is statistically incoherent with the sparse basis W, then only K samples from Eq. 3 are adequate to estimate x with a high probability of some small reconstruction error, provided K≧M log N/M. The elements of H may be generated using some random process to meet the constraint of statistical incoherence with the known basis W. One approach to signal reconstruction from (r, H, W) is an iterative process called the gradient-projection based sparse reconstruction (GPSR), given as
In the optimization process of Eq. 4, the first term enforces sample fidelity and the second term enforces signal sparsity. The quantity τ is a non-negative parameter providing relative weight of L2-norm and L1-norm in the cost function. The terms [f]i and [y]i denote the ith element of vectors f and y, respectively. The term f was introduced to incorporate a priori sparsity information in the L1-norm during reconstruction. In some aspects, f is estimated offline. In one aspect, W can be considered as Gabor functions, consisting of various cosine waves with time support limited by Gaussian window functions at different scales, such that the (i,j) entry of W is given by
where m,n=0 . . . N−1. The term w is associated with the width of the Gaussian kernel. Each row of the matrix W can be normalized such that its L2-norm is equal to 1.
Thus, CS as described herein may involve identifying a sparse basis W, designing an appropriate sensing kernel H in Eq. 3 that is incoherent with W, and a reconstruction recipe such as Eq. 4 that also incorporates a priori information. Eq. 5 can then be used to estimate the signal with K samples instead of N samples. An under sampling ratio (USR) can then be defined as N/K.
The reconstruction process may be an iterative approach, such that {circumflex over (x)} may be defined as in Eqs. 4 and 5, where the optimization cost function ƒ(r, H, W) can be comprised of several additive terms enforcing various constraints (for example, in a weighted manner similar to a Lagrange formulation). The various individual components for function ƒ may include:
In certain aspects, devices described herein and/or devices implementing methods described herein may process data, resulting in reduced power consumption as compared to previously known devices. For example, one or more of the methods and/or devices described herein may be utilized to implement CS as described above to reduce a power at an encoding device. In addition, devices described herein may have a lower complexity than previously known devices. Reducing complexity in this way may reduce costs of manufacture, battery usage, and/or memory usage, and may increase efficiency and speed. In some aspects, data is sampled at a rate below the Nyquist sampling rate and compression of the data may be achieved without significant loss. For example, the PPG signal of
In certain aspects, devices described herein and/or devices implementing methods described herein may be used for applications concerning signal detection/classification, imaging, data compression, and Magnetic Resonance Imaging (MRI), among other applications. Benefits may include improved signal fidelity and superior recognition performance. Data processing pursuant to the present disclosure may be utilized in low power sensors within the BAN 300 for healthcare and fitness applications. One aspect of the BAN 300 in healthcare applications is to provide a reliable communication link between sensors (i.e., transmitters and/or encoders) and an aggregator (i.e., a receiver and/or a decoder), while reducing sensor power and communication latency. In other aspects, these benefits are provided between sensors (i.e., a transmitter and/or encoder) and a remote device (i.e., a receiver and/or a decoder), for example a base station, cell phone, PDA, or computer. Signals transmitted from the aggregator may be used to track or monitor health, well-being, and/or fitness. For example, signals from one or more of the sensors 302-308 may be transmitted to the aggregator 310, which may transmit, via a cellular network, information associated with those signals or those sensors to a medical facility where a medical professional may monitor the signals. In this way, a doctor or nurse, for example, may be able to detect any abnormal health conditions of an individual wearing the sensors.
The sensor 600a may be used to sense biomedical information. As discussed above, the sensor 600a may sense PPG, ECG, or accelerometer information, among other types of information. For example, the sensor 600a may comprise components to implement a pulse oximeter or may comprise a three dimensional accelerometer. In some aspects, the sensor 600a may comprise a transducer configured to convert energy, such as wave energy, into an electrical signal. The signal x(t) may represent biomedical information, and may comprise a PPG or ECG signal, for example. In the aspect illustrated in
The sensor 600a may comprise a local extrema determining module 602 used to identify local extrema of the signal x(t). In one embodiment, the local extrema determining module 602 is configured to determine local minima and local maxima by determining points of the signal x(t) where the derivative is substantially equal to zero (x′(t)==0). For example, the local extrema determining module 602 may identify the circled points in
Those of skill in the art will appreciate that the local extrema determining module 602 may be configured to determine the points of the signal x(t) comprising a local extrema using any number of techniques, for example by tracking when a signal switches between being concave upwards or downwards, by identifying points where the signal has a zero derivative, and/or by comparing values of the points, among other techniques.
The sensor 600a may further comprise a sample and hold module 604 used to sample the signal x(t) at a selected point. In the aspect illustrated in
The sensor 600a may further comprise a value quantizing module 606 used to quantize a sampled value of the signal x(t) from the sample and hold module 604. The quantized value of a sampled point may be represented in any number of formats. In some aspects, the value is represented as a plurality of bits. In one aspect, the values are quantized as q bits, for some integer q, and the value quantizing module 606 comprises a q-bit non-uniform quantizer, for example a log companding quantizer. In other aspects, the value quantizing module comprises a q-bit uniform quantizer. As an example, if the value is measured in microvolts, and q=8 bits, then the value at point 702 illustrated in
The sensor 600a may further comprise a tread quantizing module 608 used to quantize a tread of the signal x(t) with respect to the samples from the sample and hold module 604. The separation between adjacent samples may be referred to as a tread or a tread value. Tread may be computed as the difference between the location of a point and the location of an adjacent point. The unit of tread may be time and may be represented, for example, in microseconds, milliseconds, number of samples, number of clock cycles, or by another such unit of time. The tread quantizing module 608 may be configured to quantize the tread of each sample in relation to an immediately preceding sample. In one aspect, the tread of a point is determined as an amount of time that has elapsed since the previous point. For example, when tread is measured in milliseconds, the tread at point 702 illustrated in
The quantized tread of a sampled point may be represented in any number of formats. In some aspects, the tread is represented as a plurality of bits. In one aspect, treads are quantized as p bits, for some integer p. For example, if tread is measured in milliseconds, as discussed above, and p=7 bits, then the tread of point 702 would be represented as 0110010. In some aspects, the tread quantizing module 608 comprises a binary counter.
The sensor 600a may further comprise a sensing module 610 used to identify points in addition to the local extrema in the signal x(t). In the aspect illustrated in
The sensing module 600a may further be configured to identify points in the signal x(t) such that no two points are separated by more than a maximum separation, for example a certain maxTread value. Thus, the sensing module 610 may identify points such that the tread of any sample is less than maxTread. The points identified by the sensing module 610 to ensure that tread is less than maxTread may be sampled by the sample and hold module 607, and the value and tread of the points may be quantized by the value quantizing module 606 and the tread quantizing module 608, respectively. Those of skill in the art will appreciate that processing of a signal x(t) by the sensor 600a is integral to sensing of the signal x(t).
In some aspects, the set of the quantized tread and the quantized value of a sampled point is referred to as a measurement of that point or a measurement at that point. Although reference may hereinafter be made to a measurement of a point, those of skill in the art will appreciate that the aspects described herein are not limited to only quantizations of a tread and a value. In some aspects, the tread quantizing module 608 is configured to quantize the tread based on an elapsed time since a previous measurement.
The sensor 600a may further comprise a packetization module 612 used to generate one or more packets comprising measurements from the value quantizing module 606 and the tread quantizing module 608, or comprising information indicative of the measurements. This may be referred to as packetizing the measurements. Those of skill in the art will recognize methods of packetizing the measurements, for example for storage in a storing module 614 or for transmitting over a network by a transmitting module 616.
The sensor 600a may further comprise a discarding module 618 used to discard certain ones of the measurements. In certain aspects, discarding comprises ignoring measurements received from the value quantizing module 606 and the tread quantizing module 608. For example, the discarding module 618 may receive a measurement, determine that the measurement is to be discarded, and then refrain from instructing the packetization module 612 to store the measurement in the storing module 614 or refrain from forwarding the measurement for transmission by the transmitting module 616. In other aspects, the discarding comprises a proactive action, for example instructing the packetization module 612 to delete a measurement from the storing module 614.
The discarding module 610 may be configured to discard measurements that appear substantially periodic. For example, the discarding module 618 may be configured to selectively discard one or more measurements based on a comparison of the treads and values of these measurements with the treads and values of at least one other measurement. In some aspects, at least one measurement of a set of measurements having a similar tread and also having a similar value may be discarded by the discarding module 618. The discarding module 618 may be configured to discard the measurement if the differences between the values of the measurements are within a second threshold, for example T2, and if the differences in the treads of the measurements in the set are substantially equal (or are within a third threshold). The second and third thresholds may be similar or different, and may be different than the first threshold discussed above with respect to the sensing module 610.
The storing module 614 is used to store data, for example packetized measurements from the packetization module 612. A portion or all of the data may be for transmission, for example by the transmitting module 616 to the aggregator 310. The data may comprise any combination of information, bits, symbols, or other data or representations. The storing module 614 may be implemented using the memory 206 described above with respect to
One or more of the measurements may be stored in the storing module 614. In some embodiments, the complete set of measurements or the complete set of non-discarded measurements is stored in the storing module 614. The measurements may be represented by any number of means. For example, each of the tread and the value may be represented by a set of bits, or may be represented by a code. In one aspect, the storing module 614 or a portion thereof comprises a non-volatile memory such as flash memory or a hard drive configured to store measurements for future access or transmission by the sensor 600a. In some aspects, the sensor 600a further comprises a volatile memory such as RAM configured to temporarily store points, samples, and/or measurements while being processed by the sensor 600a.
The transmitting module 616 is used to transmit the measurements which have not been discarded by the discarding module 618. The non-discarded measurements may be received from the discarding module 608, or may be read from the storing module 614. In some aspects, the transmitting module 612 is configured to wirelessly transmit the measurements or information indicative thereof, for example to the aggregator 310. The transmitting module 616 may be implemented using a transmitter, for example the transmitter 210 illustrated in
The sensor 600b may comprise a plurality of sub-band filtering modules 620 used to decompose the signal x(t) into a plurality of sub-bands x1(t)-xm(t). Each of the sub-band filtering modules 620 may be configured to isolate a sub-band of the signal x(t) for further processing. The sub-band filtering modules 620 may be configured to decompose the signal into a plurality of sub-bands using a discrete cosine transform (DCT) or an empirical mode decomposition (EMD), for example. Those of skill in the art will recognize other procedures that may be used or other ways in which the sub-band filtering modules 620 may be configured to decompose the signal x(t) into a plurality of sub-bands.
Each sub-band x1(t)-xm(t) is passed to a local extrema determining module 602 and sensing module 610. Each of the sub-bands x1(t)-xm(t) may be processed similar to the way in which the signal x(t) was described as being processed with respect to
Measurements for all of the sub-bands x1(t)-xm(t) may be packetized and stored by a packetization and storing module 622. Those of skill in the art will appreciate that the packetization and storing module 622 may be implemented as a single module, as illustrated in
The sensor 600c may comprise a local extrema determining module 652 used to identify local extrema of the signal x(n). The local extrema determining module 652 may be configured to perform similar functionality as the local extrema determining module 602, but for discrete signals. For example the local extrema determining module 652 may identify points of the signal x(n) where the derivative of the signal is equivalent to zero, as shown by the circled points in
The sensor 600c may further comprise a quantization module 654 used to determine the value of a point identified by the local extrema determining module 652, and to quantize a tread of the point. In one aspect, the value may be determined as a level of the signal x(n) or may be indicated by a code value of the signal x(n). Those of skill in the art will appreciate this in such aspect, this determined value may be in a quantized form due to the discrete nature of the signal x(n).
The tread may comprise a separation between adjacent points. In one aspect, the tread comprises a number of clock cycles that have elapsed between a point and an adjacent point. The adjacent point may be the preceding point or the following point. Those of skill in the art will appreciate other embodiments of the tread of a sample. As described above, the quantized tread of a sampled point may be represented in any number of formats. In some aspects, the tread is represented as a plurality of bits.
The sensor 600c may further comprise a sensing module 656 used to identify points in addition to the local extrema in the signal x(n). The sensing module 656 may be configured to perform similar functionality as the sensing module 610, but for discrete signals. For example, the sensing module 656 may be configured to identify points of the signal x(n) where an absolute rise of the signal x(n) is greater than the first threshold, T1. For discrete signals, the rise may be conceptualized as the difference between a value of a point and the value of an adjacent point. The sensing module 656 may further be configured to identify points in the signal x(n) such that no two points are separated by more than a maximum separation, for example maxTread. A value of the points identified by the sensing module 656 may be determined by the quantization module 654 and the tread of these points may be quantized by the quantization module 654.
In some aspects, the set of the quantized tread and the determined value of a point is referred to as a measurement of that point or a measurement at that point. In some aspects, the quantization module 654 is configured to quantize the tread based on an elapsed time since a previous measurement. Measurements from the quantization module 654 may be packetized and stored by a packetization and storing module 658. Those of skill in the art will appreciate that the packetization and storing module 658 may be implemented as at least two separate modules, for example as a packetization module and a separate storing module. The packetization and storing module 658 may be configured to packetize and/or store measurements similar to the packetization module 612 and the storing module 614 described with respect to
The sensor 600d may comprise a plurality of sub-band filtering modules 670 used to decompose the signal x(n) into a plurality of sub-bands x1(n)-xm(n). Each of the sub-band filtering modules 670 may be configured to perform similar functionality as the sub-band filtering modules 620, but for discrete signals. The sub-band filtering modules 670 may be partially or wholly implemented in the processor 204 illustrated in
Each sub-band x1(n)-xm(n) is passed to a local extrema determining module 652 and sensing module 656. Each of the sub-bands x1(n)-xm(n) may be processed similar to the way in which the signal x(n) was described as being processed with respect to
Measurements for all of the sub-bands x1(n)-xm(n) may be packetized and stored by the packetization and storing module 622, discarded by the discarding module 618, and/or transmitted by the transmitting module 616. The discarding module 618 and the transmitting module 616 are configured as described with respect to
Those of skill in the art will appreciate various circuits, chips, modules, and/or components, which may comprise either software or hardware or both, that may be used to implement the modules described above with respect to the sensors 600a-600d. One or more of the modules of the sensors 600a-600d may be partially or wholly implemented in the processor 204 illustrated in
At step 1002, a plurality of points may be determined such that x′ (t)==0 or |x′(t)|>T1 for one or more of the plurality of points. For example, the plurality of points may be determined by the local extrema determining module 602 and the sensing module 610. The plurality of points will comprise local extrema, for example where a derivative of the signal is zero, and points where an absolute rise of the signal is greater than the first threshold. The points may be sampled by the sample and hold module 604 to generate a set K of sampled points such that K={k,x(k)}, where k are the tread values of the points between measurements x(k).
At step 1004, the samples in K may be pruned based on a comparison of the tread and/or value of the samples with at least one other sample. In one aspect, a sample is discarded when the tread of the sample is substantially equivalent to the tread of an adjacent sample, for example a nearest adjacent sample, and the value of the sample is within a threshold of the adjacent sample, for example the second threshold T2. For example, a given point designated by i may be pruned when (k(i−1)−k(i−2))==(k(i)-k(i−1))&|x(k(i))-x(k(i−1)|<T2. As another example, the points 702, 704, 706, and 708 are located approximately the same distance apart in
At step 1006, additional points may be determined and samples thereof may be added to the set K. For example, the sensing unit 610 may identify additional points to sample with the sample and hold module 604 and add to the set K such that no sample in K will be separated from an adjacent sample by more than maxTread. Thus, in one aspect, step 1006 comprises adding new {k,x(k)} to the set K such that (k(i)-k(i−1))<maxTread for all i. In this way, each sample will be separated by a distance less than maxTread, which may reduce reconstruction errors that may occur during the decoding of data processed according to
At step 1008, the samples in K are quantized, for example by the value quantizing module 606 and the tread quantizing module 608. As described above, the value and tread of a sample may be represented in any number of ways and may be quantized using any number of devices or methods. For example, the value of the samples may be quantized with q bits each using a non-uniform quantization law, and the treads may be quantized with p bits each, for example using a binary counter. The measurements comprising the quantized values and quantized treads may be packetized, for example by the packetization unit 612. The packets may be stored, for example in the storing module 614, and/or transmitted, for example by the transmitting module 616.
At step 1010, the signal x(t) may be decomposed into a plurality of sub-bands x1(t)-xm(t), for example by the sub-band filtering modules 620. Processing of each sub-band x1(t)-xm(t) may continue to a step 1002 after the sub-band has been isolated in step 1010. Each of the sub-bands x1(t)-xm(t) may be processed similar to the way in which the signal x(t) was described as being processed with respect to
Measurements for all of the sub-bands x1(t)-xm(t) may be packetized and stored at step 1012, for example by the packetization and storing module 622, and may be transmitted, for example by the transmitting module 616. Those of skill in the art will appreciate that the packetization, storing, and/or transmitting of the measurements may be implemented as at least two separate steps, for example as a packetization step and as a storing step. The measurements may be stored and/or transmitted such that packets from two or more sub-bands are stored and/or transmitted together, or the packets for each sub-band may be maintained separately during storing and/or transmission.
The first threshold, second threshold, third threshold, p, q, and/or maxTread may be individually selected for one or more sub-bands. In some aspects, the value of one or more of the parameters T1, T2, T3, maxTread, p, and q may be the same in all sub-bands. Thus, T11 may be approximately equivalent to Tm1. In some aspects, the value of at least one of the parameters T1, T2, T3, maxTread, p, and q in one sub-band may be different from the value of a corresponding parameter in at least another sub-band. Thus, T12 may be different from Tm2. For example, one or more of the thresholds may be adjusted according to a source of a sub-band, or may be adjusted to more aggressively compress the sub-band.
At step 1052, a plurality of points may be determined such that x′(n)==0 or |x′(n)|>T1 for one or more of the plurality of points. For example, the plurality of points may be determined by the local extrema determining module 652 and the sensing module 656. The plurality of points will comprise local extrema, for example where a derivative of the signal is zero, and points where an absolute rise of the signal is greater than the first threshold. The absolute rise may be calculated as |x′(n)|=|x(n+1)-x(n)|. A set of points K may thus be determined, as K={k,x(k)}, from the plurality of points using the quantization module 654, where k are the tread values of the points between measurements x(k).
At step 1054, the {k,x(k)} in K may be pruned based on a comparison of the tread and/or value of the samples with at least one other sample. In one aspect, a sample is discarded when the tread of the sample is substantially equivalent to the tread of an adjacent sample and the value of the sample is within a threshold of the adjacent sample, for example the second threshold T2. The processing at step 1054 may be similar to the processing at step 1004 of
At step 1056, additional points may be determined and {k,x(k)} thereof may be added to the set K. For example, the sensing unit 656 may identify additional points to add to the set K such that no {k,x(k)} in K will be separated from an adjacent {k,x(k)} by more than maxTread. Thus, in one aspect, step 10056 comprises adding new {k,x(k)} to the set K such that (k(i)-k(i−1))<maxTread for all i.
At step 1058, the {k,x(k)} in K are quantized, for example by the quantization module 654, if not already in a quantized form. As described above, the value and tread of a sample may be represented in any number of ways and may be determined or quantized using any number of devices or methods. The measurements comprising the quantized values and quantized treads may be packetized and stored, for example by the packetization and storing unit 622. The packets may be transmitted, for example by the transmitting module 616.
At step 1060, the signal x(n) may be decomposed into a plurality of sub-bands x1(n)-xm(n), for example by the sub-band filtering modules 670. Processing of each sub-band x1(t)-xm(t) may continue to a step 1052 after the sub-band has been isolated in step 1060. Each of the sub-bands x1(n)-xm(n) may be processed similar to the way in which the signal x(n) was described as being processed with respect to
Measurements for all of the sub-bands x1(n)-xm(n) may be packetized and stored at step 1062, for example by the packetization and storing module 622, and may be transmitted, for example by the transmitting module 616. Those of skill in the art will appreciate that the packetization, storing, and/or transmitting of the measurements may be implemented as at least two separate steps, for example as a packetization step and as a storing step. The measurements may be stored and/or transmitted such that packets from two or more sub-bands are stored and/or transmitted together, or the packets for each sub-band may be maintained separately during storing and/or transmission.
As described above, the first threshold, second threshold, third threshold, p, q, and/or maxTread may be individually selected for one or more sub-bands. In some aspects, the value of one or more of the parameters T1, T2, T3, maxTread, p, and q may be the same in all sub-bands. Thus, T11 may be approximately equivalent to Tm1. In some aspects, the value of at least one of the parameters T1, T2, T3, maxTread, p, and q in one sub-band may be different from the value of a corresponding parameter in at least another sub-band. Thus, T12 may be different from Tm2. For example, one or more of the thresholds may be adjusted according to a source of a sub-band, or may be adjusted to more aggressively compress the sub-band.
The aggregator 1100a may comprise a receiving module 1102 used to receive measurements, for example as transmitted from one of the sensors 600a-600d. The measurements may include a tread and a value of points of a signal. As described above, the measurements may include data or information associated with a biomedical sensor, for example the sensors 302-308. The received measurements may be demodulated, downconverted, or otherwise processed by the receiving module 1102 or another module. In some aspects, the measurements are received in a packet form and are extracted from the packet.
The receiving module 1102 may be implemented using a receiver, for example the receiver 212 illustrated in
The aggregator 1100a may further comprise a reconstructing module 1104 used to reconstruct a signal from the received measurements. In certain aspects, the reconstructed signal is restored into a discrete domain. In some aspects, the reconstructed signal is represented as Nyquist domain data in a uniformly sampled space. The restored signal may in some aspects be represented similar to samples of an analog signal x(t) or identified values of a discrete signal x(n).
Data received using the receiving module 1102 or reconstructed using the reconstructing module 1104 may be temporarily stored in a buffer module 1106, which may comprise volatile memory such as RAM configured to temporarily store the data while being processed by the aggregator 1100a. The data may comprise any combination of information, bits, symbols, or other data or representations. In some embodiments, the buffer module 1106 comprises a data buffer or a memory array, or other data structure, configured to store data. The buffer module 1106 may comprise a plurality of these elements as well. The buffer module 1106 may comprise processing module cache, including a multi-level hierarchical cache in which different levels have different capacities and access speeds. The buffer module 1106 may also comprise random access memory (RAM), or other volatile storage devices, or non-volatile storage devices.
The aggregator 1100a may further comprise a local extrema determining module 1108 used to determine or identify local extrema in the reconstructed signal. The local extrema determining module 1108 may be configured similar to the local extrema determining module 652 illustrated in
The aggregator 1100a may further comprise a determination module 1110 used to determine a value and a location or tread of the extrema identified by the local extrema determining module 1108. Some or all of the functionality of the determination module 1110 may be similar to the functionality of the quantization module 654. The determination module 1110, however, may in some aspects be configured only to identify a tread of the extrema instead of quantizing the tread.
The aggregator 1100a may further comprise a discarding module 1112 used to discard spurious extrema points identified by the local extrema determining module 1108 from the reconstructed signal. In some aspects, the discarding module 1112 is configured to discard extrema based on a comparison of the value of the extrema, as determined by the determination module 1110, with a value of a corresponding measurement received using the receiving module 1102.
In one aspect, the discarding module 1112 is configured to identify an extremum as spurious when the difference between the value of the extremum and the value of a corresponding measurement received using receiving module 1102 is greater than some threshold, for example Delta. In
The aggregator 1100a may further comprise an interpolating module 1114 used to interpolate values for the extrema discarded by the discarding module 1112. Values may be interpolated based on nearby or adjacent non-discarded extrema, for example. Values may in addition or instead be interpolated based on values of the reconstructed signal that are near or adjacent. Thus, the interpolating module 1114 may be used to interpolate the signal around the spurious local extrema.
In some aspects, the non-discarded extrema (e.g., extrema remaining after the discarding) and any interpolated extrema are used by the reconstructing module 1104 to generate another version of the reconstructed signal. This other version may then be subjected to the same processing by the local extrema determining module 1108, the determination module 1110, the discarding module 1112, and the interpolating module 1114 until no spurious extrema are identified by the discarding module 1112. In this way, a reconstructed signal may be iteratively determined.
A reconstructed signal, or data indicative thereof, stored in the buffer module 1106 may be rendered by a rendering module 1116. The rendering 1116 module may be configured to render a visual representation of the signal, for example for display on a display device, or may be configured to perform other post-processing. Those of skill in the art will appreciate further processing that the rendering module 1116 may be configured to perform.
The aggregator 1100b may comprise a receiving module 1122 used to receive a plurality of sub-bands of measurements, for example from one of the sensors 600a-600d. The receiving module 1122 may otherwise be configured similar to the receiving module 1102 in
A signal is reconstructed from each sub-band by a reconstructing module 1104. The modules 1104, 1106, 1108, 1110, 1112, and 1114, and 1116 are configured as described above with respect to
Further, the aggregator 1100a and/or 1100b may be configured to transmit requests for data or for clock synchronization to one or more wireless sensors via a BAN radio. The aggregator 1100a and/or 1100b may further comprise a media access controller (MAC) coupled to the BAN radio for controlling communications through the BAN radio. The aggregator 1100a and/or 1100b may further comprise a processing system coupled to the MAC. The processing system may be configured to communicate with the sensors via the MAC and BAN radio. For example, the processing system may mitigate packet loss, remove artifacts in a received sample set, determine and mitigate clock misalignment between the aggregator 1100a and/or 1100b and the sensors, align samples sets from a plurality of sensors, and analyze received or reconstructed samples to interpret vital signs and trigger alarms.
The aggregator 1100a and/or 1100b may further comprise additional radios such as third generation (3G) radios or a WiFi radio. These radios may be used to communicate information from the aggregator to other devices. Further, the rendering and post-processing performed by the rendering module 1116 may include transmission of the reconstructed data over a 3G or a WiFi radio to a centralized repository and/or centralized processing unit. Thus, the aggregator 1100a and/or 1100b may comprise a transmitter or transceiver. For example, a person's cell phone may function as the aggregator 1100a and/or 1100b. After determining vital signs based on data from the sensors, the processing system may transmit information about the vital signs to a remotely located physician or a central database via the 3G radios or the WiFi radio. Advantageously, the centralized processing of samples from the sensors at the aggregator 1100a and/or 1100b may facilitate lower power consumption and reduced complexity in the sensors. Further, the aggregator 1100a and/or 1100b may act as a centralized clock synchronization controller for the plurality of sensors.
Those of skill in the art will appreciate various circuits, chips, modules, and/or components, which may comprise either software or hardware or both, that may be used to implement the modules described above with respect to the aggregators 1100a and 1100b. One or more of the modules of the aggregators 1100a and 1100b may be partially or wholly implemented in the processor 204 illustrated in
Although described separately, it is to be appreciated that functional blocks described with respect to the sensors 600a-600d and the aggregators 1100a and 1100b need not be separate structural elements. For example, two or more of the local extrema determining module 602, sample and hold module 604, value quantizing module 606, tread quantizing module 608, sensing module 610, packetizing module 612, discarding module 618, sub-band filtering module 620, and packetization and storing module 622 may be embodied in a single chip. Similarly, two or more of the reconstructing module 1104, local extrema determining module 1108, determination module 1110, discarding module 1112, interpolating module 1114, rendering module 1116, and sub-band synthesis module 1120 may be embodied in a single chip, for example. In addition, modules besides the storing modules may contain memory, such as registers. Similarly, one or more of the functional blocks or portions of the functionality of various blocks may be embodied in a single chip. Alternatively, the functionality of a particular block may be implemented on two or more chips. In addition, additional modules or functionality may be implemented in the sensors 600a-600d and the aggregators 1100a and 1100b. Similarly, fewer modules or functionalities may be implemented in the sensors 600a-600d and the aggregators 1100a and 1100b, and the components of the sensors 600a-600d and/or the aggregators 1100a and 1100b may be arranged in any of a plurality of configurations. Additional or fewer couplings between the various modules illustrated in
For example,
As another example,
One or more of the functional blocks and/or one or more combinations of the functional blocks described with respect to the local extrema determining module 602, sample and hold module 604, value quantizing module 606, tread quantizing module 608, sensing module 610, packetizing module 612, discarding module 618, sub-band filtering module 620, packetization and storing module 622, reconstructing module 1104, local extrema determining module 1108, determination module 1110, discarding module 1112, interpolating module 1114, rendering module 1116, and sub-band synthesis module 1120 may be embodied as a processing system, a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any suitable combination thereof designed to perform the functions described herein. One or more of the functional blocks and/or one or more combinations of the functional blocks described with respect to the sensors 600a-600d and 2500 and the aggregators 1100a, 1100b, and 2500 may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP communication, or as any other such configuration or processing system.
At step 1202, a plurality of measurements are received. For example, a plurality of measurements {k,x(k)} in a set of K measurements may be received. As described above, the measurements may comprise a tread k and a value x(k). The measurements may be received, for example, using the receiving module 1102.
At step 1204, an estimate of a signal x(n) is reconstructed as xpost(n) based on the received measurements of K. The signal xpost(n) may be reconstructed using the reconstructing module 1104, for example.
At step 1206, a set Kpost is determined from points where x′post(n)==0. This results in the set Kpost={kpost,xpost(kpost)}, where kpost are tread values between measurements xpost(kpost). Thus, it can be seen that the samples in Kpost may comprise local extrema of the reconstructed signal xpost(n), and {kpost,xpost(kpost)}, may comprise the treads and values at these local extrema. The set Kpost may be determined using the local extrema determining module 1108 and/or the determination module 1110, for example.
At step 1208, the set Kpost is refined by ignoring the identified extrema points that are close to the measurements received as part of the received data K. Thus, Kpost={kpost/xpost(kpost): min(|kpost(n)−k|)>Delta for all n}. In this way, spurious extrema can be discarded based on a comparison with a corresponding received measurement, for example using the discarding module 1112.
At step 1210, a number of samples L that were discarded at step 1208 may be interpolated, for example by the interpolating module 1114. In this way, an estimate xreconstructed(n) of the signal x(n) may be generated. In some aspects, the signal xreconstructed(n) is returned for processing to the step 1204 such that the signal may be further refined. In some aspects, the signal xreconstructed(n) is iteratively processed according to the steps 1204-1210 until no spurious extrema are discarded at step 1208. In this way, a final xreconstructed (n) may iteratively be determined.
At step 1220, measurements for a plurality of sub-bands are received, for example using the receiving module 1122. These measurements may comprise {k1,x1(k1)}-{km,xm(km)} in sets of K1-Km measurements. An estimate of a signal for each sub-band is reconstructed as x1,post(n)-xm,post(n) at step 1204 based on the measurements of K1-Km received at step 1220.
Each of the reconstructed signals x1,post(n)-xm,post(n) may be processed according to the steps 1204, 1206, 1208, and 1210 described above with respect to
At step 1222, the reconstructed signal estimates x1,reconstructed(n)-xm,reconstructed(n) for each sub-band may be combined into an aggregate signal, for example by the sub-band synthesizing module 1120. In this way, a signal may be reconstructed from a plurality of decoded sub-bands.
The following discussion is provided by way of example to illustrate one or more advantages of the devices and methods described herein. Those of skill in the art will appreciate other advantages and/or simulations, and will understand that the following discussion is not limiting on the disclosure.
The choice of a particular data compression scheme in a given application may depend on many criteria, including for example (a) power consumption or computational complexity, (b) compression ratio, (c) distortion or compression quality and (d) algorithm latency. Each of these may be discussed below.
Encoding operations described herein may be realized with significantly lower complexity than traditional approaches. In some aspects, overall power or computational complexity may be of the same order, but for many BANs, it is beneficial to off-load computational burden from the sensor.
Compression Ratio may be defined as Nyquist_rate/Compressed_data_rate.
Distortion or compression quality may be difficult to assess in the context of lossy compression schemes. The quality depends to a large extent on the application. For speech and audio applications, it is customary to enlist novice and expert listeners to evaluate the quality of data after a lossy compression scheme, as objective metrics such as mean squared error (MSE) do not correlate well with perception quality. In the context of BANs, normalized root mean squared error (RMSE) between the original and the reconstructed signal may be used. The expression for the normalized RMSE (in dB) is given by
where x is the raw signal and {circumflex over (r)} is the decoded version obtained from the compressed data (which may be sub-Nyquist measurements and locations). The normalization is with respect to the input signal dynamic range. It is also possible to consider application specific tasks such as classification error for different activity states, error in the heart rate estimation, etc.
The methods described herein may be used for data with wider bandwidth than the signals discussed above, for example for use with speech signals. In known algorithms, there are primarily two methods of applying a sensing paradigm to speech and audio. (1) Directly apply point sampling in the time domain. (2) Apply point sampling in a spectral domain. The second method has better potential for compression because the spectral properties of speech and audio may be exploited. For example, different constraints on the sensing in each spectral band may be enforced and correlated to the relative acoustic importance of those bands. However, such methods are generally dependent on the properties of speech. Similarly, compression schemes such as music compression are generally dependent on the properties of hearing. Those of skill in the art will appreciate that the methods described herein may be implemented independent of outside physical constraints such as speech and hearing properties.
An alternate way to analyze the reconstruction quality based on the compressed measurements will now be presented. A principal component analysis based projection basis may be constructed, which is obtained using eigenvector decomposition of the covariance matrix computed from the raw ECG data (sampled at 200 Hz, each segment of length 250 samples, total number of segments used to compute the covariance matrix close to 50000). In this case, 250 eigenvectors are obtained, each being a vector of dimension 250. The projection of the ECG segment on to PCA basis quantifies the signal variance along each eigenvector dimension. For the simulation shown in
Next, an example where x is decomposed into M sub-bands using Empirical Mode Decomposition (EMD) is presented. In each sub-band m, the parameters Tm1, Tm2, maxTreadm, pm, and qm are used to generate Km sets of measurements. The Km measurements are packetized and transmitted. The decoding process is applied to each of these sub-bands and these estimated sub-band signals are added back to give the signal estimate {circumflex over (x)}. Recall that the compression ratio is defined as Nyquist_rate/Compressed_data_rate. In this case the compressed data rate is computed by adding the bits needed to represent the extrema points and locations, or values and treads at those points, for each sub-band.
Algorithm latency may be critical in certain real-time services. The latency of methods described herein can be approximately the duration of a single transmission packet during reconstruction.
Those of skill in the art will appreciate many advantages of the systems, devices, and methods described herein. For example, low power encoding may be achieved, which may reduce over the air bandwidth in BAN applications without complex encoding algorithms. In addition, the methods are generic for multiple classes of signals. In the simulations presented above, it was demonstrated that compression is appropriate for ECG, 3D-accelerometer, and speech data. Systems, devices, and methods of some aspects are described herein with respect to extrema. Those of skill in the art will appreciate that the systems, devices, and methods may also pertain to a single extremum, as well as a plurality of extrema.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, a signal, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media). In addition, in some aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable media.
Thus, certain aspects may comprise a computer program product for performing the operations presented herein. For example, such a computer program product may comprise a computer readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein. For certain aspects, the computer program product may include packaging material. In some aspects, the computer program product comprises a hardware component such as a field-programmable array (FPGA) or ASIC having executable instructions stored thereon. In some aspects, the computer program product comprises a DSP or processor having such stored instructions.
Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.
Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by an access terminal and/or access point as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that an access terminal and/or access point can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods, apparatuses, and systems described above without departing from the scope of the claims.
A wireless device in the present disclosure may include various components that perform functions based on signals that are transmitted by or received at the wireless device. A wireless device may also refer to a wearable wireless device. In some aspects the wearable wireless device may comprise a wireless headset or a wireless watch. For example, a wireless headset may include a transducer adapted to provide audio output based on data received via a receiver. A wireless watch may include a user interface adapted to provide an indication based on data received via a receiver. A wireless sensing device may include a sensor adapted to provide data to be transmitted via a transmitter.
Although wireless devices are described above with respect to a biometric data and/or a BAN, wireless devices in the present disclosure are not limiting to these configurations or implementations. For example, a wireless device according to the teachings herein may be used in a medical, fitness, well-being, gaming, or automotive environment, among other environments and uses. As described further below, wireless devices in such environments are not limited to BANs, but may communicate in any wireless environment, for example in a local area network (LAN), wide area network (WAN), personal area network, cellular network, controller area network (CAN), or other such network or environment.
A wireless device may communicate via one or more wireless communication links that are based on or otherwise support any suitable wireless communication technology. For example, in some aspects a wireless device may associate with a network. In some aspects the network may comprise a personal area network (e.g., supporting a wireless coverage area on the order of 30 meters) or a body area network (e.g., supporting a wireless coverage area on the order of 10 meters) implemented using ultra-wideband technology or some other suitable technology. In some aspects the network may comprise a local area network or a wide area network. A wireless device may support or otherwise use one or more of a variety of wireless communication technologies, protocols, or standards such as, for example, CDMA, TDMA, OFDM, OFDMA, WiMAX, and Wi-Fi. Similarly, a wireless device may support or otherwise use one or more of a variety of corresponding modulation or multiplexing schemes. A wireless device may thus include appropriate components (e.g., air interfaces) to establish and communicate via one or more wireless communication links using the above or other wireless communication technologies. For example, a device may comprise a wireless transceiver with associated transmitter and receiver components (e.g., transmitter 210 and receiver 212) that may include various components (e.g., signal generators and signal processors) that facilitate communication over a wireless medium.
The teachings herein may be incorporated into (e.g., implemented within or performed by) a variety of apparatuses (e.g., devices). For example, one or more aspects taught herein may be incorporated into a phone (e.g., a cellular phone), a personal data assistant (“PDA”) or so-called smartphone, an entertainment device (e.g., a portable media device, including music and video players), a headset (e.g., headphones, an earpiece, etc.), a microphone, a medical sensing device (e.g., a biometric sensor, a heart rate monitor, a pedometer, an EKG device, a smart bandage, etc.), a patient monitoring device (e.g., an MPS), a user I/O device (e.g., a watch, a remote control, a light switch, a keyboard, a mouse, etc.), an environment sensing device (e.g., a tire pressure monitor), a monitoring device that may receive data from the medical or environment sensing device (e.g., a desktop, a mobile computer, etc.), a point-of-care device, a hearing aid, a set-top box, or any other suitable device. The monitoring device may also have access to data from different sensing devices via connection with a network.
These devices may have different power and data requirements. In some aspects, the teachings herein may be adapted for use in low power applications (e.g., through the use of an impulse-based signaling scheme and low duty cycle modes) and may support a variety of data rates including relatively high data rates (e.g., through the use of high-bandwidth pulses).
In some aspects a wireless device may comprise an access device (e.g., an access point) for a communication system. Such an access device may provide, for example, connectivity to another network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link. Accordingly, the access device may enable another device (e.g., a wireless station) to access the other network or some other functionality. In addition, it should be appreciated that one or both of the devices may be portable or, in some cases, relatively non-portable. Also, it should be appreciated that a wireless device also may be capable of transmitting and/or receiving information in a non-wireless manner (e.g., via a wired connection) via an appropriate communication interface.
This application is a divisional of U.S. patent application Ser. No. 12/972,005 titled “METHOD AND APPARATUS FOR PROCESSING AND RECONSTRUCTING DATA,” filed Dec. 17, 2010, which claims priority to U.S. Provisional No. 61/313,949, titled “METHOD AND APPARATUS FOR PROCESSING AND RECONSTRUCTING DATA,” filed Mar. 15, 2010, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61313949 | Mar 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12972005 | Dec 2010 | US |
Child | 14487898 | US |