FREQUENCY RESOLUTION USING COMPRESSION
In a frequency analysis system, such as a signal detection system or a spectrum analyzer, the frequency domain resolution is enhanced by compression and decompression of the signal samples. The limited capacity of the data storage and/or data transfer resources limit the number of samples that can be stored or transferred. A compressor forms a compressed signal prior to data transfer or storage. A decompressor decompresses the compressed signal prior to transformation to the frequency domain, by a fast Fourier transform or other frequency domain transform. The frequency domain resolution is enhanced because more decompressed samples are available for the frequency domain transform. The compressor and decompressor apply computationally efficient algorithms that can be implemented to operate in real time.
Latest Samplify Systems, Inc. Patents:
- IMAGE DATA ENCODING FOR ACCESS BY RASTER AND BY MACROBLOCK
- DATA COMPRESSION AND DECOMPRESSION USING SIMD INSTRUCTIONS
- SIMD INSTRUCTIONS FOR DATA COMPRESSION AND DECOMPRESSION
- ENHANCED MULTI-PROCESSOR WAVEFORM DATA EXCHANGE USING COMPRESSION AND DECOMPRESSION
- Enhanced multi-processor waveform data exchange using compression and decompression
This application is a continuation of U.S. patent application Ser. No. 11/734,967 filed on 13 Apr. 2007, which application claims the benefit of U.S. Provisional Application No. 60/867,734, filed 29 Nov. 2006.
BACKGROUND OF THE INVENTIONThis invention relates to compressing, decompressing and transforming a signal to a frequency domain representation wherein the frequency domain resolution can be improved as a result of compression.
The transformation of a signal to the frequency domain has numerous applications in signal processing, including spectrum analysis, detection and parameter measurement. The accuracy of these techniques depends on the frequency resolution of the frequency domain representation and the signal to noise ratio (SNR). Frequency resolution is inversely proportional to the number of samples of the signal, or the observation interval, used in the calculation of the frequency domain representation of the signal. In signal detection, resolution is important for resolving adjacent narrow peaks in a frequency domain representation. For signal parameter measurement, improved frequency domain resolution increases the accuracy of the parameter estimate, such as the center frequency of a signal. Many types of transformations are known in the art for converting a temporal or spatial domain representation to a frequency or spatial frequency domain representation. For digital or discrete signals these include the discrete Fourier transform (DFT), fast Fourier transform (FFT), discrete cosine transform (DCT), discrete sine transform (DST) and the z-transform. The frequency domain resolution fres corresponds to discrete frequency domain bin width fbin and depends on the sample rate fs and the number of samples N used to calculate the frequency domain representation by the following relation,
fres=fbin=fs/N
For the frequency domain resolution smaller is better because it leads to more accurate measurements. However, improving frequency resolution requires a larger number of samples N. This requirement can conflict with system limitations as described below.
Examples in the following discussion will use the FFT for the transformation from the time to frequency domain, but this is not intended to limit the scope of the invention to any particular transformation. Also, in this discussion, “real time” means a rate that is at least as fast as the sample rate of the digital signal. When analog to digital conversion is applied to an analog signal to form the digital signal, the sample rate is the rate at which analog to digital converter (ADC) forms the samples of the digital signal. When digital to analog conversion is applied to a digital signal, the sample rate is the rate at which digital-to-analog converter (DAC) forms the analog signal from the samples of the digital signal is the sample rate. The bit rate of a sampled, or digital, signal is equal to the number of bits per sample multiplied by the sample rate.
Many applications include converting an analog signal to a digital signal followed by a transformation of the digital signal to the frequency domain. When the ADC operates at high speeds, the frequency transformation processor is often too slow to process the flow of samples in real time, creating a bottleneck so that the samples must be stored until they are processed. Another bottleneck can occur when a data transfer interface, such as a bus, cable or network, cannot transfer the samples to the frequency transformation processor fast enough. For example, when the entire data transfer interface is used for transfer of the signal samples, the maximum data transfer bandwidth may be insufficient. Alternatively, when only a portion of the data transfer interface is allocated for transferring the signal samples, such as for example, by time interleaving the sample signals with other time critical data or with multiple streams of sample signals, the allotted bandwidth may be insufficient. In these cases, a capture memory stores the samples until they can be transferred and processed. Other bottlenecks can arise from the capture memory itself. The capacity of the entire memory or the portion of memory allocated for signal samples limits the number of samples received from the ADC that are available to the frequency domain processor. The speed at which the capture memory can receive the signal samples output from the ADC can also create a bottleneck. For example, a capture memory comprising static RAM (SRAM) with access time of 10 nanoseconds, can receive signal samples from an ADC at a sample rate of 100 MHz or less. An application requiring a higher sample rate from a higher speed ADC would require more a expensive memory architecture in order to receive samples at the higher rate. The memory access speed thus limits the real time processing bandwidth achievable by the frequency domain processor.
Compressing the signal can mitigate these limitations by increasing the number of samples in compressed form that can be stored in memory, increasing the rate at which they can be received by memory and increasing the rate of transfer across an data transfer interface. The increased number of samples available for the FFT improves the frequency resolution of the frequency domain representation. The frequency domain resolution is a significant factor for detection. Insufficient frequency domain resolution can cause the detector to fail, as will be demonstrated by an example in the Detailed Description section. Alternatively, when the frequency domain representation has a fixed resolution requirement met by an N-length FFT, compression reduces the storage and/or data transfer requirements for the N samples in compressed form. The capacity of the entire memory or the portion of memory allocated for signal samples can be decreased, thus reducing memory requirements or freeing existing memory for other purposes in the application. The speed required to receive the compressed signal samples by a capture memory is reduced, allowing the use of lower speed memory architectures. The bandwidth needed to transfer the N samples across a data transfer interface is also decreased, so the bandwidth capacity of the data transfer interface or the portion allocated for transfer of signal samples can be reduced. Compression allows more efficient use of memory and data transfer resources, thus lowering the cost of the system.
In the commonly owned U.S. Pat. No. 7,009,533 B1 (the '533 patent), entitled “Adaptive Compression and Decompression of Bandlimited Signals”, dated Mar. 7, 2006 and incorporated herein by reference, the present inventor describes algorithms for compression and decompression of certain bandlimited signals. In the commonly owned and copending U.S. patent application Ser. No. 11/458,771 (the '771 application) entitled, “Enhanced Time-Interleaved A/D Conversion Using Compression,” filed on Jul. 20, 2006 and incorporated herein by reference, the present inventor describes compression of a bandlimited signal that is sampled by a parallel time-interleaved analog to digital converter (TIADC). The compression methods described therein are designed to take advantage of the parallel architecture of the TIADC. In the commonly owned and copending U.S. patent application Ser. No. 11/553,147 (the '147 application), entitled “Data Compression for a Waveform Data Analyzer”, filed on Oct. 26, 2006 and incorporated herein by reference, the present inventor describes compression and decompression of a signal having recurring waveform states and teaches algorithms for this particular type of signal.
SUMMARY OF THE INVENTIONAn object of the present invention is to produce a frequency domain representation of a signal with improved frequency domain resolution. The signal is compressed prior to storage or transfer using resources with limited capacities. The compressed signal is decompressed before performing a frequency domain transformation allowing more samples to be used for the transform calculations. The compression can be lossless or lossy. The frequency domain transformation includes, but is not limited to, a DFT, FFT, DCT, DST and z-transform.
Another object of the invention is to provide processing appropriate for detection and parameter measurements before and after the frequency domain transformation. The processing can apply window functions, extrapolation, zero-padding, nonlinear functions and peak detection.
An advantage of the present invention is better frequency domain resolution leading to increased accuracy of detection and measurements performed on a frequency domain representation. Adequate frequency resolution is necessary for the success of detectors operating on frequency domain representations.
Another advantage of the present invention is more efficient use of data storage and data transfer resources. Depending on the frequency domain resolution requirements of the application, the data storage capacity or data transfer interface bandwidth can be reduced, resulting in cost reductions.
The compression controller 212 can provide selection of compression mode and respond to input from a user. The compression modes for compressor 210 include lossless modes and lossy modes. For example, under some circumstances compressor 210 will generate lossless-compressed signals, whose values after decompression by decompressor 220 will be identical to the original signal. In other circumstances, compressor 210 will generate lossy-compressed signals that require less storage and/or bandwidth than either the lossless-compressed signal or the original, uncompressed signal. In the case of lossy compression, several additional alternatives are available. Lossy compression may provide a compressed signal whose bandwidth or bit rate is user-specified. In other instances lossy compression may provide a compressed signal whose quality is user-specified. For lossy compression modes, parameters representing the desired the bit rate (including compression ratio) or signal quality (including SNR, distortion level, etc.) may be passed to compressor 210, via compression control 214. The decompression controller 222 can provide compression mode indicator and parameters to decompressor 220 via decompression control 224.
In a preferred embodiment for a bandlimited signal, the compressor 210 and decompressor 220 apply algorithms for compression and decompression described below. The algorithms include simple operations including inversion, addition and subtraction that can be implemented to perform compression or decompression in real time. Preferred embodiments of the compressor and decompressor described below are based on embodiments described in the '533 patent. However, other compression and decompression techniques can be used by compressor 210 and decompressor 220 without departing from the spirit and scope of the present invention.
Embodiments of the technology include a spectrum analyzer used for examination of spectral composition of input signals such as electrical, acoustical or optical waveforms. A spectrum analyzer includes a display adapted to display data from the frequency domain representation such as illustrated in
For the example of Band 3 in
For the example of Band 4 in
For the example of Band 5 in
The above examples described for
The compression controller 212 provides control parameters to guide the operations of the compressor elements. The programmable demux 410, programmable inverter 420 and arithmetic operator 430 respond to the compression controls 452, 454 and 456, respectively, to perform the appropriate operations in accordance with the center frequency of the digital signal 101.
Alternative embodiments of compressor 210 for lossy encoding include the following configurations. One approach for lossy encoding is to reduce the data width, or dynamic range, of the samples to be compressed. A programmable attenuator can attenuate the digital samples 101 to reduce the data width prior to demultiplexing. Alternatively, programmable shifters can shift out one or more least significant bits from each sample of the digital signal 101, also reducing the data width. In another alternative, arithmetic operator 430 or encoder 440 can eliminate one or more least significant bits. Each of these alternatives for lossy encoding can be controlled by the compression controller 212. Additional alternatives for control of lossless and lossy compression can be based on a desired bit rate for compressed signal data at compressor output 211, a desired signal quality of the decompressed signal 221 or a characteristic of the frequency domain representation calculated by the processor 130, as described below.
Decompressor 220 reverses the operations of compressor 210 to reconstruct the samples of the digital signal 101 from the compressed signal samples. The compressed signal samples are decoded, for example by Huffman decoding, to form reconstructed modified samples. The inverse operations of the arithmetic operator 430 and the programmable inverter 420 are applied to the reconstructed modified samples. The resulting reconstructed signal samples, which may or may not be in chronological order, can be reordered into chronological order to form a reconstructed sample stream in the same order as the original digital signal samples. A multiplexer can perform the reordering operations.
In embodiments where the processor 130 performs a fast transform algorithm with decimation in time, the reconstructed signal samples, x′(i), can be reordered as appropriate for input to the fast transform algorithm, instead of chronological order. For a decimation in time FFT algorithm of length N samples there are N/2 FFT “butterfly” operators. Each butterfly operator has the two input samples that are separated by N/2 intervals, i.e. the ith butterfly operator has inputs x′(i) and x′(i+N/2) for i=[0, (N/2)−1]. The reconstructed signal samples x′(i) can be reordered as appropriate for inputs to the FFT butterfly operators.
Processor 130 can perform operations in addition to the FFT that are useful for the particular application. Processor 130 can multiply the reconstructed signal samples by weights, such as window function weights, prior to the FFT. Processor 130 can extend the number of input samples for the FFT by zero-padding or extrapolation by K samples to form M=N+K input samples. Since the FFT requires that the number of input samples be a power of 2, zero-padding or extrapolation can produce M input samples, where M is a power of 2. Nonlinear functions of the samples followed by FFT are often performed in detection and parameter measurement applications. Processor 130 can calculate nonlinear functions of the reconstructed signal samples x′(i), including magnitude, phase, power operations x′r(i), delay-and-multiply operations x′(i)x′(i−j) and other operations known to those skilled in the art. After the FFT, the processor can perform additional operations on the samples X′(k) of the frequency domain representation. Functions useful for detection and parameter measurement applications include magnitude, phase, power operations X′r(k), frequency-shift-and-multiply operations X′(k)X′(k−m) and other operations. Another step in detection and measurement applications is determining the location of a peak in the frequency domain representation. Peak detection often includes testing whether a function of X′(k), such as the magnitude, crosses a threshold.
In applications involving peak detection, lossy compression can be applied without compromising detector performance. The increased frequency domain resolution enabled by lossy compression can even improve detector performance. When an application has fixed capture memory resources, compression effectively increases the depth of capture memory 110. When an application has a limited data transfer bandwidth, compression effectively increases the bandwidth of data transfer interface 120. The detection of two closely spaced sinusoidal signals in noise is an operation underlying many signal processing applications, including multiple signals detection, parameter estimation and array based direction-finding.
The FFT or other frequency transform of the decompressed signal samples provides the opportunity for feedback control to optimize compression performance. Processor 130 can analyze the frequency domain representation of the decompressed signal samples to produce optimized control parameters for compression controller 212, decompression controller 222 and/or other elements in the system of
Correspondences between elements of the preferred embodiment described above for compressor 210, decompressor 220, compression controller 212 and decompression controller 222 and the figure elements of the '533 patent are described in the following. The compressor 210 of the preferred embodiment performs operations included in the compression subsystem 400 in the '533 patent. The programmable demultiplexer 410 and the programmable inverter 420 of the preferred embodiment perform operations that are included in the preprocessor 106, described in the '533 patent with respect to
When the ADC 102 comprises a TIADC, the compressor 210 can be configured to take advantage of the parallel structure of a TIADC.
An alternative embodiment for compressor 210 can use relatively simple lossy compression techniques, such as the removal of one or more least significant bits of samples, combined with bit packing. For example, a signal processing system incorporating 16-bit ADC for data acquisition can achieve 2:1 compression by storing the upper 8 bits of each 16-bit sample. Similarly, storing only the upper 4 bits achieves 4:1 compression. This compression technique suffers from a rise in noise floor and a corresponding decrease in SNR. While this embodiment is easily implemented, the distortion is significantly worse than that of preferred compression methods described above.
The present invention can be implemented in a system that includes signal capture followed by storage or transfer prior to frequency domain processing, including spectrum analyzer and signal detection systems. The present invention is applicable to a spectrum analyzer system that processes an input digital signal or includes an ADC to convert an input analog signal to a digital signal. A preferred implementation integrates the compressor of the present invention into the data acquisition portion of a spectrum analyzer system or other detection system. The compressor can be integrated into an application specific integrated circuit (ASIC) that includes an ADC. Alternatively, the compressor can be implemented in a separate, stand-alone ASIC that can be coupled to the output of an ADC chip. The stand-alone ASIC implementation can be fabricated using CMOS or other semiconductor process technology. Depending on the system architecture, the decompressor 220, decompression controller 222 and the processor 130 may be incorporated in the same device, such as an ASIC or programmable processor, or on separate devices. Incorporating the present invention in a system may increase the gate count and power consumption. However, the benefits of compression will decrease other system costs, such as the cost of storage to capture the compressed samples or the cost of a bus or network to transfer the compressed samples to decompressor 220 and processor 130 for FFT or other transform calculation.
Embodiments of the present invention can also be implemented in one or more programmable processors. The programmable processors include software/firmware programmable processors such as computers, digital signal processors (DSP), microprocessors (including microcontrollers) and other programmable devices, and hardware programmable devices such as complex programmable logic devices (CPLD), field programmable gate arrays (FPGA) devices. Depending on the type of programmable processor, the program implementing the operations of the present invention is represented by software, firmware, netlist, bitstream or other type of processor executable instructions and data.
Implementations of the present invention can perform compression or decompression in real time, that is, at least as fast as the sample rate of the digital signal. Compression and decompression operations include multiplexing operations, inversion operations and simple arithmetic operations including addition, subtraction and shifting. Embodiments using Huffman encoding also involve simple table look-ups.
While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the invention, as described in the claims.
Claims
1. In a frequency analysis system, a method for producing a frequency domain representation having a desired frequency domain resolution, wherein an input signal to the frequency analysis system is represented by signal samples having a sample rate and an uncompressed bit rate, wherein the frequency analysis system includes a data interface having an allocated capacity for storage or transfer of the signal samples that is limited to fewer than N of the signal samples at the uncompressed bit rate, the method comprising:
- determining a number N of signal samples based on the desired frequency domain resolution, wherein the sample rate divided by N approximately equals the desired frequency domain resolution;
- compressing the N signal samples to form compressed signal samples having a compressed bit rate, wherein the compressed bit rate is less than or equal to the allocated capacity;
- transferring the compressed signal samples through the data interface;
- decompressing the compressed signal samples to form N decompressed signal samples; and
- calculating a frequency domain transformation the N decompressed signal samples to form frequency domain samples of the frequency domain representation having a frequency domain resolution that is less than or equal to the desired frequency domain resolution.
2. The method of claim 1, wherein the signal is an analog signal, the method further comprising:
- converting the analog signal to a digital form sampled at the sample rate and the uncompressed bit rate to produce the signal samples.
3. The method of claim 1, wherein the data interface comprises a data storage device, the step of transferring further comprising storing the compressed signal samples in the data storage device and retrieving the compressed signal samples from the data storage device.
4. The method of claim 1, wherein the data interface comprises a data transfer interface, the step of transferring further comprising transferring the compressed signal samples via the data transfer interface and receiving the compressed signal samples from the data transfer interface.
5. The method of claim 1, wherein the frequency domain transformation is a discrete Fourier transform (DFT), a fast Fourier transform (FFT), a discrete sine transform (DST), a discrete cosine transform (DCT) or a z-transform.
6. The method of claim 1, wherein the step of calculating a frequency domain transformation further comprises calculating magnitudes of the frequency domain samples to form a magnitude spectrum.
7. The method of claim 1, wherein the step of compressing the N signal samples forms the compressed signal samples at a rate that is at least as fast as the sample rate.
Type: Application
Filed: May 28, 2009
Publication Date: Oct 8, 2009
Applicant: Samplify Systems, Inc. (Santa Clara, CA)
Inventor: Albert W. Wegener (Portola Valley, CA)
Application Number: 12/473,599
International Classification: G01R 23/16 (20060101); G06F 19/00 (20060101);