Reduced complexity FFT-based correlation for automotive radar

Information

  • Patent Grant
  • 10908272
  • Patent Number
    10,908,272
  • Date Filed
    Tuesday, August 29, 2017
    6 years ago
  • Date Issued
    Tuesday, February 2, 2021
    3 years ago
Abstract
A radar sensing system for a vehicle includes a transmitter configured for installation and use on a vehicle and able to transmit radio signals. The radar sensing system also includes a receiver and a processor. The receiver is configured for installation and use on the vehicle and is able to receive radio signals that include transmitted radio signals reflected from objects in the environment. The processor samples the received radio signals to produce a sampled stream. The processor processes the sampled stream such that the sampled stream is correlated with various delayed versions of a baseband signal. The correlations are used to determine an improved range, velocity, and angle of targets in the environment.
Description
FIELD OF THE INVENTION

The present invention is directed to radar systems, and more particularly to radar systems for vehicles.


BACKGROUND OF THE INVENTION

The use of radar to determine range and velocity of objects in an environment is important in a number of applications including automotive radar and gesture detection. There may be multiple radar systems embedded into an automobile. Each of these could employ the ideas contained in the present disclosure. Each of these could also employ multiple transmitters, receivers, and antennas. A radar system typically operates by transmitting signals from one or more transmitters and then listening for the reflection of that signal from objects in the environment at one or more receivers. By comparing the transmitted signal with the received signal, a radar system can determine the distance to different objects. Using multiple transmissions, the velocity of an object can be determined. Using multiple transmitters and/or receivers, the angle (azimuth and/or elevation) of an object can be estimated.


SUMMARY OF THE INVENTION

The present invention provides methods and a system for achieving better performance in a radar system implemented as a modulated continuous wave radar. An exemplary radar system of the present invention computes various correlations with reduced complexity. Exemplary embodiments accomplish this by performing the correlation processing in the frequency domain, such that the transmitted signal and the received signal are correlated in the frequency domain.


A radar sensing system for a vehicle in accordance with an embodiment of the present invention includes at least one transmitter, at least one receiver, at least one antenna, memory, and a controller. The at least one transmitter is configured for installation and use on a vehicle and transmits radio signals. The transmitted radio signals are generated by up-converting a baseband transmitted signal. The at least one receiver is configured for installation and use on the vehicle and receives radio signals which include transmitted radio signals reflected from objects in the environment. The reflected radio signals are down-converted, and then sampled and quantized using an analog-to-digital converter (ADC) to produce possibly complex baseband samples. The resulting signal from the ADC is processed by a digital processor. The digital processor processes the received signal and transmitted signal in the frequency domain in order to produce a subset of correlations corresponding to a set of possible delays of the transmitted signal. The samples are converted into the frequency domain through the use of a Fourier transform operation.


A radar sensing system for a vehicle in accordance with an embodiment of the present invention includes a transmit pipeline comprising at least one transmitter configured to transmit radio signals, a receive pipeline configured for installation and use on the vehicle. The receive pipeline comprises at least one receiver configured to receive radio signals that include the transmitted radio signals reflected from objects in the environment. Each of the at least one receiver comprises at least one analog-to-digital converter (ADC) configured to convert the received radio signals to digital received samples. The digital received samples are time domain received samples. Each of the at least one receiver is configured to correlate the received radio signals after the time domain received samples of the received radio signals have been converted into frequency domain received samples via a Fourier transform type of operation.


A method of correlating received samples in a radar system for a vehicle in accordance with an embodiment of the present invention includes providing a radar system that includes (i) at least one transmitter configured for installation and use on a vehicle and configured to transmit radio signals, and (ii) at least one receiver configured for installation and use on the vehicle and configured to receive radio signals that include the transmitted radio signals reflected from objects in the environment. The radio signals received by each of the at least one receiver are converted into digital received samples. The samples are converted using at least one analog-to-digital converter (ADC) as part of the at least one receiver. The digital received samples are time domain received samples. The time domain received samples of the received radio signals are converted into frequency domain received samples via a Fourier transform type of operation. The frequency domain received samples are multiplied by a frequency domain version of the transmitted signal at each of the at least one receiver.


A radar sensing system for a vehicle in accordance with an embodiment of the present invention includes a transmitter and a receiver. The transmitter is configured for installation and use on a vehicle and configured to transmit modulated radio signals. The radio signals are modulated via a spreading code. The receiver is configured to receive radio signals that include the transmitted radio signals reflected from objects in the environment. The receiver includes a first analog-to-digital converter (ADC) that is configured to convert the received radio signals into the received samples. The received samples are time domain received samples. The receiver includes a first Fourier transform module that is configured to convert the time domain received samples into frequency domain received samples. The receiver includes a product module configured to multiply the frequency domain received radio signals with the corresponding transmitted signal. The product module is configured to output processed samples. The receiver further comprises an inverse Fourier transform type of module configured to convert the processed samples from the frequency domain to the time domain.


In an aspect of the present invention, the Fourier transform operation may be performed through the use of a fast Fourier transform.


In an aspect of the present invention, a receiver is configured to divide received samples into blocks of samples, where a size of a block is smaller than a length of the spreading code.


In an aspect of the present invention, a receiver is configured to process a code sample either before or after the Fourier transform before the code sample is multiplied by the frequency domain samples of the received radio signals.


These and other objects, advantages, purposes and features of the present invention will become apparent upon review of the following specification in conjunction with the drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a plan view of an automobile equipped with a radar system in accordance with the present invention;



FIG. 2A and FIG. 2B are block diagrams of a single transmitter and a single receiver in a radar system;



FIG. 3 is a block diagram of a radar system with multiple transmitters and multiple receivers;



FIG. 4 is a block diagram illustrating the basic processing blocks of a transmitter and a receiver in a radar system in accordance with the present invention;



FIG. 5 is a block diagram illustrating the basic processing blocks of a correlator as used in a radar receiver in accordance with the present invention;



FIG. 6 is a block diagram illustrating the basic processing blocks of a plurality of correlators as used in a radar receiver in accordance with the present invention;



FIG. 7 illustrates a matched filter used in a radar receiver in accordance with the present invention;



FIG. 8 is a diagram illustrating a transmitted signal using an m-sequence of length 31 in accordance with the present invention;



FIG. 9 is a diagram illustrating an output of a matched filter with a single target in accordance with the present invention;



FIG. 10 is a diagram illustrating an output of a matched filter with two targets separated by more than a chip in equivalent delay in accordance with the present invention;



FIG. 11 is a block diagram of an exemplary FFT-based correlator of a receiver in which received signals are converted to frequency domain signals, multiplied component-by-component and then converted back into the time domain in accordance with the present invention;



FIG. 12 illustrates received samples from an analog-to-digital converter that are organized into blocks, with the code values also organized into blocks in accordance with the present invention;



FIG. 13 is a block diagram of another exemplary FFT-based correlator in accordance with the present invention;



FIG. 14 is a block diagram of another exemplary FFT-based correlator in accordance with the present invention;



FIG. 15 is a block diagram of another exemplary FFT-based correlator in accordance with the present invention; and



FIG. 16 is a block diagram of another exemplary FFT-based correlator in accordance with the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will now be described with reference to the accompanying figures, wherein numbered elements in the following written description correspond to like-numbered elements in the figures. Methods and systems of the present invention may achieve better performance from an exemplary radar system by reducing the complexity needed to compute the correlation values over a selection of delays. As discussed herein, a high-throughput correlation is provided through the use of a Fourier transform operation which converts complex samples into the frequency domain, such that the correlation can be performed in the frequency domain.


There are several types of signals used in different types of radar systems. A radar system may transmit a continuous signal or a pulsed signal. In a pulsed radar system a signal is transmitted for a short duration during a first time period and then no signal is transmitted for a short duration during a subsequent second time period. This is repeated over and over. When the signal is not being transmitted, a receiver listens for echoes or reflections from objects in the environment. Often a single antenna is used for both a transmitter and a receiver, where the radar transmits with the transmitter on the single antenna and then listens with the receiver, via the same antenna, for a radio signal reflected from objects in the environment. This process is then repeated.


Another type of radar system is known as a continuous wave radar system where a signal is continuously transmitted. There may be an antenna for transmitting and a separate antenna for receiving. One type of continuous radar signal is known as a frequency-modulated continuous waveform (FMCW). In an FMCW radar system, the transmitter of the radar system sends a continuous sinusoidal signal in which the frequency of the signal varies. This is sometimes called a chirp radar system. Mixing (multiplying) the radio signal reflected from a target/object with a replica of the transmitted signal results in a CW signal with a frequency that represents the distance between the radar transmitter/receiver and the target. For example, by measuring the time difference between when a certain frequency was transmitted and when the received signal contained that frequency, the range to an object can be determined. By sweeping up in frequency and then down in frequency, the Doppler frequency can also be determined.


Another type of radar signal is known as a phase-modulated continuous waveform (PMCW). For this type of signal, a phase of a radio signal to be transmitted is varied according to a certain pattern or code, sometimes called the spreading code, and is known at the PMCW radar receiver. The transmitted signal is phase modulated by mixing a baseband signal (e.g., with two values +1 and −1) with a local oscillator to generate a transmitted signal with a phase that is changing corresponding to the baseband signal. Sometimes, the phase during a given time period (called a chip period or chip duration) is one of a finite number of possible phases. A spreading code consisting of a sequence of chips, (e.g., +1, +1, −1, +1, −1, . . . ) that is mapped (e.g., +1→0, −1→π radians) into a sequence of phases (e.g., 0,0, π, 0, π, π, . . . ), can be used to modulate a carrier to generate the radio signal. The rate at which the phase is modulated determines the bandwidth of the transmitted signal and is called the chip rate.


In a PMCW radar system, the receiver can determine distance to objects by performing correlations of the received signal with time-delayed versions or replicas of the transmitted signal and looks for peaks in the correlations. A time-delay of the transmitted signal that yields peaks in the correlation corresponds to the delay of the transmitted signal when reflected off an object. The distance to the object is found from that delay and the speed of light.


The spreading code (used to phase modulate the radio signal before transmission) could be a periodic sequence or could be a pseudo-random sequence with a very large period so that it appears to be a nearly random sequence. The spreading code could be a sequence of complex numbers. The resulting modulated signal has a bandwidth that is proportional to the rate at which the phase changes, called the chip rate, which is the inverse of the chip duration. By comparing the return signal to the transmitted signal, the receiver can determine the range and the velocity of reflected objects. For a single transmitter, a sequence of chip values that form the code or spreading code that has good autocorrelation properties is required so that the presence of ghost or false targets are minimized.



FIG. 1 illustrates an exemplary radar system 100 configured for use in a vehicle 150. In an aspect of the present invention, a vehicle 150 may be an automobile, truck, or bus, etc. The radar system 100 may utilize multiple radar systems (e.g., 104a-104d) embedded into an automobile as illustrated in FIG. 1. Each of these radar systems may employ multiple transmitters, receivers, and antennas. These signals are reflected from objects (also known as targets) in the environment and received by one or more receivers of the radar system. A transmitter-receiver pair is called a virtual radar (or sometimes a virtual receiver). As illustrated in FIG. 1, the radar system 100 may comprise one or more transmitters and one or more receivers 104a-104d for a plurality of virtual radars. Other configurations are also possible. FIG. 1 illustrates the receivers/transmitters 104a-104d placed to acquire and provide data for object detection and adaptive cruise control. As illustrated in FIG. 1, a controller 102 receives and the analyzes position information received from the receivers 104a-104d and forwards processed information (e.g., position information) to, for example, an indicator 106 or other similar devices, as well as to other automotive systems. The radar system 100 (providing such object detection and adaptive cruise control or the like) may be part of an Advanced Driver Assistance System (ADAS) for the automobile 150.


There are several ways to implement a radar system. One way, illustrated in FIG. 2A uses a single antenna 202 for both transmitting and receiving radio signals. The antenna 202 is connected to a duplexer 204 that routes the appropriate signal from the antenna 202 to a receiver 208 or routes the signal from the transmitter 206 to the antenna 202. A processor 210 controls the operation of the transmitter 206 and the receiver 208 and estimates the range and velocity of objects in the environment. A second way, illustrated in FIG. 2B, uses a pair of antennas 202A, 202B for separately transmitting and receiving, respectively. A processor 210 performs the same basic functions as in FIG. 2A. In each case there may be a display 212 to visualize the location of objects in the environment.


A radar system with multiple antennas, transmitters, and receivers is illustrated in FIG. 3. Using multiple antennas 302, 304 allows the radar system 300 to determine an angle (azimuth or elevation or both) of targets in the environment. Depending on the geometry of the antenna system, different angles (e.g., azimuth or elevation) can be determined.


The radar system 300 may be connected to a network via an Ethernet connection or other types of network connections 314, such as, for example, CAN-FD and FlexRay. The radar system 300 will have memory 310, 312 to store software and data used for processing the radio signals in order to determine range, velocity and location of objects. Memory 310, 312 can also be used to store information about targets in the environment. There may also be processing capability contained in the ASIC 208 apart from the transmitters 203 and receivers 204.


A basic block diagram of an exemplary PMCW system with a single transmitter and a single receiver is illustrated in FIG. 4. The transmitter 400 consists of a digital processor 410, which includes a digital signal generator. The digital processor 410 output is the input to a digital-to-analog converter (DAC) 420. The output of the DAC 420 is up-converted to an RF signal and amplified by an analog processing unit 430. The resulting upconverted and amplified radio signal is then transmitted via antenna 440. The digital signal generator of the digital processor 410 is configured to generate a baseband signal. An exemplary baseband signal might consist of repeated sequences of random or pseudo-random binary values for one transmitter, e.g., (−1, −1, −1, −1, 1, 1, 1, −1, 1, 1, −1, −1, 1, −1, 1), although any sequence (including non-binary sequences and non-periodic sequences) could be used, and different sequences could be used for different transmitters. Each value of the sequence is often called a chip. A chip would last a certain length of time called a chip duration. The inverse of the chip duration, denoted by Tc, is the chip rate, denoted by Rc. The sequence of chips could repeat every Lc chips in which case the sequence is said to be periodic and Lc is said to be the length or period. In an exemplary aspect of the present invention, the sequences of random binary values may be provided by a truly random number generator or by a combination of the truly random number generator and a pseudorandom number generator. The use of a truly random number generator and a pseudorandom number generator are explained in more detail in U.S. Pat. No. 9,575,160, which is hereby incorporated by reference herein in its entirety. The receiver 400, as illustrated in FIG. 4, consists of a receiving antenna 460, an analog processing unit 470 that amplifies the received signal and mixes the signal to a baseband signal. This is followed by an analog-to-digital converter (ADC) 480 and then a digital processor 490 which provides digital baseband processing. There is also a control processor (not shown) that controls the operation of the transmitter 400 and the receiver 450. The baseband processing will process the received signal and may generate data that can be used to determine range, velocity and angle of objects in the environment.


Correlation in a PMCW Radar:


The receiver in a radar system that uses phase-modulated continuous wave (PMCW) signals correlates the received signal with delayed versions of the transmitted signal. Here the “received signal” is a received radio signal that is down-converted, sampled and quantized (i.e., the signal at the input of the digital processing module 490 of the receiver 450), while the “transmitted signal” is a baseband version of the original transmitted signal (i.e., the signal from the digital processor 410 communicated to the digital processing module 490 in the radar system). An object at a certain distance will reflect the transmitted signal and the reflected signal will arrive at the receiver with a delay that corresponds to a propagation delay between the radar transmitter, the object, and the radar receiver.



FIG. 5 illustrates a block diagram of an exemplary correlator 500. One input 510 to the correlator 500 is the received signal after down-conversion, amplification, filtering and analog-to-digital conversion. The second input to the correlator 500 is the delayed version (block 530) of the baseband transmitted signal (block 520) or the spreading code after complex conjugation (block 520). The correlator 500 multiplies (in block 540) these two inputs (received signal samples and transmitted signal samples) and integrates or sums (in block 550) the result over a certain time interval or a number of chips to produce an output (block 560). When an exemplary correlator has an input that is the delayed and conjugated transmitted signal, where the delayed value is the same as a delay of the transmitted signal reflected from the object, the correlator will produce a large magnitude output. Correlators, each with a different delay value, will be able to detect objects at different distances that correspond to their particular delays. As illustrated in FIG. 6, a receiver used to detect multiple delays can have multiple correlators, each with a different delay for the transmitted signal. FIG. 6 illustrates an exemplary three different delays (Delay1, Delay2, Delay3) applied to the transmitted signal and individually correlated (i.e., multiplied and integrated) with the received signal sample. To detect objects at different distances (corresponding to different delays) a correlator is needed at each possible delay for which it is desired to detect an object. For example, if the spreading code has Lc=1024 chips per period, then there can be 1024 correlators, one for each of the 1024 different possible delays, starting at 0. Correlation values for delays that are not an integer multiple of a chip duration can be interpolated from correlation values at each integer multiple of a chip duration.


A particular correlator will produce a sequence of correlator outputs that are large when the received signal has a delay that matches the delay of a replica of the baseband transmitted signal for that particular correlator. If the velocity of the radar system is different from the velocity of the object causing the reflection, there will be a Doppler shift in the frequency of the reflected signal relative to the transmitted signal. A sequence of correlator outputs for one particular delay corresponding to an object moving in the environment will have complex values that rotate at a rate related to the Doppler shift. Using a sequence of correlator outputs (also referred to as a scan), the Doppler shift may be estimated and thus the velocity of the object in the environment determined. The longer the sequence of correlator outputs used to estimate the Doppler frequency, the greater the accuracy and resolution of the estimation of the Doppler frequency, and thus the greater the accuracy in estimating the velocity of the object.


The correlation values for various time delays and various transmitter-receiver pairs, sometimes called virtual radars, are arranged in two-dimensional arrays known as time slices. A time slice is a two-dimensional array with one dimension corresponding to delay or range bin and the other dimension corresponding to the virtual radar (transmitter-receiver pair). The samples are placed into respective range bins of the two-dimensional array (as used herein, a range bin refers to a distance range corresponding to a particular time delay corresponding to the round trip time of the radar signal from a transmitter, to the target/object, and back to the receiver). The virtual receivers of the radar system define one axis of the two-dimensional time slice and the range bins define the second axis of the two-dimensional time slice. A new time slice comprising complex correlation values is generated every 2-30 microseconds. Over a longer time interval, herein referred to as a “scan” (typically, in a duration of 1-60 milliseconds or longer), multiple time slices are accumulated to form a three-dimensional radar data cube. One axis or dimension of the three-dimensional radar data cube is defined by time (of each respective time slice requiring 2-30 microseconds), while the receivers (or virtual radars) define a second axis of the three-dimensional radar data cube, and the range bins and their corresponding time delays define a third axis of the three-dimensional radar data cube. A radar data cube may have a preselected or dynamically defined quantity of time slices. For example, a radar data cube may include 100 time slices or 1000 time slices of data. Similarly, a radar data cube may include different numbers of range bins. The optimized use of radar data cubes is described in detail in U.S. Pat. No. 9,599,702, which is hereby incorporated by reference herein in its entirety.


A single correlator output corresponding to a particular range bin (or delay) is a complex value that corresponds to the sum of products between a time-delayed replica of the baseband transmitted signal—with a time-delayed replica corresponding to each range bin—and the received down-converted complex samples. When a particular time-delayed replica in a particular range bin correlates highly with the received signal, it is an indication of the time delay (i.e., range of the target/object) for the transmitted signal that is received after the transmitted signal reflects from the target/object. Multiple correlators produce multiple complex correlation values corresponding to different range bins or delays. As discussed herein, each time slice contains one correlation value in a time series of correlation values upon which Doppler processing is performed (e.g., Fourier transforms, such as a fast Fourier transform (FFT)). In other words, a time series of complex correlation values for a given range bin is used to determine the Doppler frequency and thus the velocity of a target/object in the range bin. The larger the number of correlation values in the time series, the higher the Doppler resolution. A matched filter may also be used to produce a set of outputs that correspond to the correlator outputs for different delays.


There may be scans for different correlators that use replicas of the transmitted signal with different delays. Because there are multiple transmitters and multiple receivers, there may be correlators that process a received signal at each receiver that are matched to a particular transmitted signal by a particular transmitter. Each transmitter-receiver pair is called a “virtual radar” (a radar system preferably has 4 virtual radars, or more preferably 32 virtual radars, and most preferably 256 or more virtual radars). The receive pipeline of the radar system will thus generate a sequence of correlator outputs (time slices) for each possible delay and for each transmitter-receiver pair. This set of data, as noted herein, is called a radar data cube (RDC). Storing the radar data cube can involve a large amount of memory, as its size depends on the desired number of virtual radars (for example, 4-64 or more virtual radars), the desired number of range bins (for example, 100-500 or more range bins), and the desired number of time slices (for example, 200-3000 or more time slices). Methods for storing radar data cubes are described in detail in the above mentioned U.S. Pat. No. 9,599,702.


The complex-valued correlation values contained in a three-dimensional radar data cube may be processed, preferably by a processor established as a CMOS processor and coprocessor on a common/same semiconductor substrate, which is typically a silicon substrate. In one embodiment, the processor comprises fixed function and programmable CPUs and/or programmable logic controls (PLCs). Preferably, the system will be established with a radar system architecture (including, for example, analog RF circuitry for the radar, processor(s) for radar processing, memory module(s), and other associated components of the radar system) all on a common/same semiconductor substrate. The system may preferably incorporate additional processing capabilities (such as, for example, image processing of image data captured by one or more vehicle cameras such as by utilizing aspects of the systems described in U.S. Pat. Nos. 5,877,897; 5,796,094; 6,396,397; 6,690,268 and 5,550,677, which are hereby incorporated herein by reference in their entireties) within the common/same semiconductor substrate as well.


The ability of a continuous wave radar system to distinguish multiple targets is dependent upon the radar system's range, angle, and Doppler resolutions. Range resolution is limited by a radar's bandwidth (i.e., the chip rate in a phase modulated continuous wave radar), while angle resolution is limited by the size of the antenna array aperture. Meanwhile, increasing Doppler resolution requires a longer scan. A high Doppler resolution is very valuable because no matter how close two objects or targets are to each other, as long as they have slightly differing radial velocity (their velocity towards or away from the radar system), they can be distinguished by a radar system with a sufficiently high enough Doppler resolution. Consider a walking adult next to a walking child, where the adult is moving towards the radar system at 1.5 meters per second while the child is moving towards the radar system at 1.2 meters per second (ignoring how fast the radar system may be moving). If the Doppler resolution of the radar system is high enough, the radar system will be able to distinguish the two targets. However, if the radar system is only able to achieve Doppler resolutions of up to an exemplary 0.5 meters per second, the radar system will be unable to distinguish the two targets. Preferably, the Doppler resolution is 1 meter per second (m/s), more preferably 0.1 m/s, and most preferably less than 0.05 m/s.


An alternate way of performing multiple correlators is with a matched filter. A matched filter produces an output signal such that the output at different times corresponds to the correlation with different delays of the transmitted signal. FIG. 7 illustrates an implementation with a matched filter. Here the impulse response of the filter is matched to the transmitted signal. If the function s(t) is the transmitted signal with a time duration T, then the impulse response of the matched filter is h(t)=s*(T−t). That is, the matched filter has as impulse response that is the time flip and conjugate of the transmitted signal. The output of the matched filter, as a function of time, corresponds to correlations with all possible delays. However, the matched filter is generally more complex to implement than a set of correlators because the matched filter is producing the correlation of the received signal with all possible delays in some range, whereas a set of correlators produces just the correlations desired. Therefore, the object of this invention is to reduce the complexity needed to compute the correlation values over a desired set of delays.


Efficient High Throughput FFT-Based Correlation for PMCW Radar:


As discussed herein, exemplary PMCW based radar systems require a high throughput correlator. In an aspect of the present invention, an efficient high-throughput correlator based on a fast Fourier transform (FFT) is provided. As discussed herein, samples of the received signal are converted into the frequency domain before correlation is performed. Conversion from a time domain sequence to a frequency domain sequence or signal using a fast Fourier transform is described below. It is understood by one of ordinary skill in the art that there are different ways to transform a time domain sequence to a frequency domain sequence.


The radar sensing system of the present invention may utilize aspects of the radar systems described in U.S. Pat. Nos. 9,753,121; 9,599,702; 9,575,160 and 9,689,967, and U.S. patent application Ser. No. 15/416,219, filed Jan. 26, 2017, now U.S. Pat. No. 9,772,397, Ser. No. 15/492,159, filed Apr. 20, 2017, Ser. No. 15/491,193, filed Apr. 19, 2017, now U.S. Pat. No. 9,806,914, Ser. No. 15/492,160, filed Apr. 20, 2017, now U.S. Pat. No. 9,791,564, Ser. No. 15/496,038, filed Apr. 25, 2017, Ser. No. 15/496,313, filed Apr. 25, 2017, now U.S. Pat. No. 9,846,228, Ser. No. 15/496,314, filed Apr. 25, 2017, now U.S. Pat. No. 9,791,551, Ser. No. 15/496,039, filed Apr. 25, 2017, and Ser. No. 15/598,664, filed May 18, 2017, and U.S. provisional application Ser. No. 62/395,582, filed Sep. 16, 2016, and Ser. No. 62/528,789, filed Jul. 5, 2017, which are all hereby incorporated by reference herein in their entireties.


An exemplary radar system includes NT transmitters and NR receivers for NT×NR virtual radars, one for each transmitter-receiver pair. For example, a radar system with eight transmitters and eight receivers will have 64 pairs or 64 virtual radars (with 64 virtual receivers). When three transmitters (e.g., Tx1, Tx2, Tx3) generate signals that are being received by three receivers (e.g., Rx1, Rx2, Rx3), each of the receivers is receiving the signal sent from each of the transmitters reflected by objects in the environment. Each of the receivers is receiving the sum of reflected signals due to all three of the transmissions at the same time. Each receiver can attempt to determine the range and Doppler of objects by correlating with delayed replicas of the signal from one of the transmitters. The physical receivers may then be “divided” into three separate virtual receivers, each virtual receiver correlating with a replica of one of the transmitted signals. In a preferred radar system of the present invention, there are 1-4 transmitters and 4-8 receivers, or more preferably 4-8 transmitters and 8-16 receivers, and most preferably 16 or more transmitters and 16-64 or more receivers.


As mentioned earlier, there are various types of signals used in radar systems. An exemplary radar system utilizing a continuous signal may, for example, frequency modulate the continuous signal or phase modulate the continuous signal. In a phase modulated continuous wave (PMCW) signal, the variation of the phase may be according to a spreading code. A spreading code may be binary (e.g., +1 and −1) in which case the phase of the transmitted signal at any time takes on one of two possible values (e.g., 0 and π radians). Spreading codes with more than two levels can also be used, as well as complex spreading codes. The code may repeat after a certain time duration, sometimes called the pulse repetition interval (PRI). Therefore, various types of spreading codes can be used. These include pseudorandom binary sequence (PRBS) codes (also called m-sequences), almost perfect autocorrelation sequences (APAS), Golay codes, constant amplitude zero autocorrelation codes (CAZAC) (also known as Frank-Zadoff-Chu (FZC) sequences), generalized chirp-like (GCL) sequences, as well as many other codes not specifically mentioned. In a radar system with a single antenna, a single spreading code is used. The autocorrelation of this single code determines the capability of the radar to estimate range (range resolution and maximum unambiguous range). Codes with good autocorrelation properties include m-sequences, FZC sequences, and Golay codes. These codes have small sidelobes (the off-center autocorrelation). Codes that have ideal autocorrelation (e.g., Golay codes and CAZAC codes) can have range sidelobes in the presence of a non-zero Doppler shift that will limit the detectability of far targets in the presence of near targets.


In a multiple-input, multiple-output (MIMO) system, there are multiple transmitters that operate simultaneously. Each transmitter can use a unique spreading code and thus multiple codes are needed, one for each transmitter. In this case, codes that have good autocorrelation and cross correlation properties are desirable. Generally, the better the autocorrelation of codes, the worse the cross correlation properties.



FIG. 8 illustrates an exemplary baseband signal using a spreading code with a period of Lc=31. The chips in this example are from a maximal length sequence (m-sequence) of length Lc=31 generated by a shift register of length 5. Note that the signal repeats every Lc chips or LcTc seconds. The pulse repetition rate is RPR=1/(LcTc). The transmitted signal is generated when the baseband signal is modulated onto a carrier frequency to generate a radio frequency signal.


The received signal (the transmitted signal reflected from objects in the environment) is down-converted to a complex baseband signal. Such down-conversion may be performed with an RF frontend analog signal processor, such as provided by the analog processing module 470 of FIG. 4. The analog signal processing includes amplification, mixing with a local oscillator signal, and filtering. The mixing is performed with two sinusoidal signals that are 90 degrees out of phase (e.g., cosine and sine). After down-conversion, the complex analog baseband signal is converted to a complex baseband digital signal. Such conversion may be performed with an analog-to-digital converter (ADC) 480, as illustrated in FIG. 4. The complex baseband digital signal is then the input to a digital processing unit 490. The digital processing unit 490 can perform the desired signal processing via correlations or matched filtering. An exemplary correlator multiplies the received complex baseband signal by a delayed replica of the baseband transmitted signal. The result is accumulated over a certain time interval. A bank of correlators, with each correlator having a different delay used for the replica of the baseband transmitted signal, will produce a set of correlations that correspond to different ranges. Therefore, a correlator with a particular delay of the baseband transmitted signal is looking for the presence of a radio signal reflected from an object at a distance corresponding to the time for which the round-trip delay is the particular delay used for the baseband transmitted signal.


A matched filter is a device that produces all correlations for all possible delays. That is, the output of the matched filter at a given time corresponds to a correlation with a given delay applied to the transmitted signal when doing the correlation. The matched filter provides all possible correlations. Note that the matched filter will produce a complex output because the input is complex.



FIG. 9 illustrates the real part of the output of a matched filter due to the transmitted baseband signal from FIG. 8. It is assumed that the radar started to transmit at time 0 and there is no delay between the transmitter and receiver. That is, there is an object at distance 0. The matched filter will output partial correlations until a full period of the signal has been transmitted. That is, the matched filter correlates with only a portion of the code because only a portion of the code has been transmitted. Only after the entire period of the code has been transmitted does the correlation reach a peak. In continuous operation, an object that has a delay of one period of the spreading code will appear to have the same delay as an object at distance 0. Thus, a radar using this system cannot determine whether the delay is 0, one period of the spreading code, or two periods of the spreading code, and so on. Therefore, the maximum unambiguous range in this case corresponds to at most one period of the spreading code. A longer spreading code will yield a larger maximum unambiguous range. A delay of τ corresponds to a range, determined by R=(τ*c)/2, where c is the speed of light. There is a factor of two in the above equation because the delay corresponds to the round-trip time from the radar to the target and back to the radar. Here the assumption is that the transmitter and receiver are approximately co-located.



FIG. 10 is a diagram illustrating the real part of the output of the matched filter when there are two objects that have a differential range delay of 2 chip durations. The filter output shows two distinct peaks in the output of the matched filter.


In an aspect of the present invention, exemplary spreading codes have a period or length Lc. In this case, a maximum unambiguous range is dU=c/(2LcTc), where Tc is the chip duration. That is, objects at distances of dU+d can be confused with objects at a distance d. The goal is to perform correlations of the signal that correspond to delays of less than a maximum unambiguous range or an even smaller set of ranges with minimal complexity.


In an aspect of the present invention, exemplary correlator outputs are denoted by w(m), where m=0, 1, . . . , Lc−1. The relation between the ADC sample, x(m), the spreading code a(l), l=0, 1, . . . , Lc−1, and the desired correlation is:








w


(
m
)


=




l
=
0



L
c

-
1





x


(

l
+
m

)





a
*



(
l
)





,

m
=
0

,
1
,





,


L
c

-
1.





Here, the output of the correlation for m=0 is the zero-delay correlation corresponding to an object at distance 0. The correlator output for m=1 corresponds to an object at distance c/(2Tc). The correlator output for m=2 corresponds to an object at distance (d/(4Tc). The correlator output for m=Lc−1 corresponds to a delay of c/(2(Lc−1)Tc). In order to calculate these correlations, the input samples from 0 to 2Lc−1 are needed. This process is repeated for samples from Lc to 3Lc−1 in order to get an updated correlation for different delays.


The spreading codes can be complex or real. The samples output from the receiver ADC are complex. In order to perform a single correlation with a particular delay Lc, complex multiplications need to be performed along with Lc−1 complex additions. The number of multiplications and additions are quantified as complex multiply and accumulation operations (cMAC). A single correlation of Lc complex samples with complex multiplication and additions requires Lc cMAC operations.


A correlation for each of B delays thus requires Lc×B cMAC operations. If these correlations are done for NR×NT virtual radars then the total number of cMAC operations becomes NR×NT×Lc×B cMAC operations. If Lc=1024, NR=4, NT=8, B=1024 then approximately 33 million cMAC operations are required. Therefore, there are about 1 million operations required for each virtual receiver (transmitter-receiver pair).


As a first embodiment of this invention, a reduced complexity method of correlation for radar signal processing is provided where the correlations are performed for a reduced set of possible delays. In order to calculate the correlations, the relevant signals are converted to the frequency domain. The frequency domain signals are subsequently multiplied component-by-component and then converted back to the time domain.


Exemplary processing is illustrated in FIG. 11. In FIG. 11, xlm denotes the samples x(l), x(l+1), . . . , x(m). The complex received ADC-output samples are denoted x(m), where m=0, 1, 2, . . . . The spreading code is denoted a(m), where m=0, 1, 2, . . . , Lc−1. A set of 2Lc complex received samples are the input to a fast Fourier transform (FFT) operation (block 1110) to generate a set of 2Lc frequency domain samples, which are denoted by X(k), where k=0, 1, . . . , 2L−1. The spreading code is concatenated with Lc zeros (in block 1120). The zero-padded spreading code output from block 1120 is transformed to the frequency domain by an FFT operation (block 1130). The output of the FFT for the spreading code is denoted as A(k), where k=0, 1, . . . , 2L−1. These frequency domain samples (for the spreading code) are conjugated in block 1140. The next operation is to multiply (in block 1150) X(k) with the complex conjugate of A(k). That is W(k)=X(k)A*(k), where k=0, 1, . . . , 2L−1, and where A*(k) denotes the complex conjugate of A(k). The next operation, in block 1160, takes an inverse FFT of the signal W(k) to obtain the signal w(m), where m=0, 1, . . . 2Lc−1. Only the first Lc of these output values are needed and they correspond to the Lc different correlations. A truncation operation in block 1170 is performed after the IFFT.


This process is repeated using ADC samples from Lc to 3Lc−1 to update the correlations with the transmitted signal to update the estimates of the location of objects within the unambiguous range. Note that the steps in blocks 1120, 1130, and 1140 do not need to be repeated if the spreading codes are periodic.


The number of computations (i.e., multiplication operations) for an FFT or an IFFT operation of size N is generally N log2(N). Here, N=2Lc. In addition to the two FFT operations and the IFFT operation, there are 2Lc complex multiplications. The number of calculations is then 6Lc log2(2Lc)+2Lc. For example, if Lc=1024 then using the FFT operations requires only about 70,000 complex operations. This is much smaller than the 1 million complex operations that would be required for direct implementation.


For large values of Lc (e.g., Lc=1024 or larger), the number of computations required to determine all possible correlations is large. If there is interest in only the delays in the range of 256 chips, then the number of correlations needed is significantly reduced. The present invention can still employ the FFT type of processing as follows.


In an aspect of the present invention, from all the possible correlations (i.e., Lc correlations), only a particular portion (i.e., B correlations) of those correlations are required to determine objects in a certain range. The correlation is still of length Lc, but only the correlations corresponding to delays from, say, 0 to B−1 are required. The process starts by partitioning the receiver ADC samples x(0), . . . , x(Lc+B−1), into blocks of size B samples. Similarly, the code values a(0), a(1), . . . , a(Lc−1) are also partitioned into blocks of size B. Assuming that Lc is a multiple of B and there are NB blocks, then xb(n)=x(bB+n), where n=0, 1, . . . , B−1, and b=0, 1, . . . NB−1. Similarly, ab(n)=a(bB+n), where n=0, 1, . . . , B−1. The calculation of correlations using x0 and x1 with a zero-padded version of a0 is performed to yield all of the correlations of the first two blocks of x, namely x0, x1, with the first block of a, namely a0. That is, delays of x between 0 and B−1 are correlated with the portion of the spreading code a0. However, only the first B of these outputs are retained. The last B samples are deleted. The result is w0=w(0), w(1), . . . w(B−1). Next, two blocks of x, namely x1 and x2 are correlated with a1 in a similar manner to yield w1. Similarly for each successive block of x. The result is a sequence of partial correlations w0, w1, . . . , wNB−1. Each correlation is calculated by performing 2 B point FFT operations, taking a product, performing IFFT operations, and then truncating. Then the sum of the block correlations w=w0+w1+ . . . +wNB−1 is determined. This yields the total correlation with delays between 0 and B−1 of the received signal with the transmitted signal.


As an example, an exemplary spreading code comprises Lc=1024 chips. However, only correlations with delays less than an exemplary 256 chips are to be computed. The received signal is therefore organized into blocks of size B=256 chips. Five of these blocks are needed in order to calculate the correlations with delays up to 255 chips. The code is also organized into blocks of size 256 chips. FIG. 12 illustrates the received samples (from the ADC) organized into the above described blocks, as well as the code values also similarly organized into blocks. To compute the correlation (over 1024 chips) with delay 0, the correlation between each block is calculated and then summed. That is, the correlations of x0 with a0, the correlations of x1 with a1, the correlations of x2 with a2, and the correlations of x3 with a3. Because the present invention is correlating a delayed value of x with a, to correlate delayed versions of an exemplary x0 with a0, the values from x1 are also needed. Therefore, a block of 2B samples of the received signal are needed. To compute the correlation with a delay of, for example, 1 chip, a correlation of the last 255 samples of a first block concatenated with the 1st sample of a second block of received samples is computed. Similarly, for the correlation with the last 255 samples of the second block and the 1st sample of a third block with the spreading code. Thus, in doing these block correlations, the same type of processing as was done previously for the full sequence is done for each block. After the IFFT operation the results are accumulated.



FIG. 13 is a block diagram illustrating the modules for a block FFT-type correlation operation 1300. A block of the spreading code of size B is padded with B zeros and then a 2B—point FFT is taken (in block 1310) for which the result is conjugated (in block 1320). Meanwhile, a set of B samples of the received ADC output are buffered (in block 1330). Two consecutive blocks of the received samples are transformed using a 2B—point FFT (in block 1340). An element-by-element product of the two frequency domain sequences is taken (in block 1350) after conjugating one of the code blocks. The resulting output from block 1350 is input to a 2B—point inverse FFT (in block 1360). The output of the IFFT in block 1360 is truncated (in block 1370) and then summed over NB consecutive blocks (in block 1380). The result is a correlation of the received signal with delays between 0 and B−1 chips.


To compare the complexity of implementation, first consider an exemplary receiver that performs a direct correlation of the received samples but only for the desired range bins. If there are B desired range bins and each requires Lc operations (i.e., multiply and accumulate) then the total number of calculations would be B Lc. For B=256 and Lc=1024 this corresponds to 262,144 operations. The complexity of implementation in the frequency domain is determined as follows. Each FFT or IFFT requires about (2B)log2(2B) cMAC operations. There are a total of 3NB such FFT/IFFT operations necessary, although the FFT of the code could be stored rather than computed. There are NBB complex multiplications and there are (NB−1)B sums to compute. The total is 3NB(2B)log2(2B)+(2NB−1)B. As an example, suppose Lc=1024, NB=4, and B=256. Then, the number of calculations for NB=4 blocks, each of size 256, is 57,088, while for one block, NB=1, the number of computations is about 70,000. This is significantly lower than the number of computations required for the direct correlator implementation which calculates all 1024 correlations. While a larger FFT size generally reduces complexity, because only B of the Lc possible correlations are determined, a smaller value of B (i.e., smaller than Lc) actually reduces the number of operations needed. For smaller values of B, fewer computations are required but fewer correlations at different delays are also computed.


Now consider multiple transmitters and multiple receivers. For a direct implementation, Lc×B×NT×NR calculations are necessary to compute the correlations. For Lc=1024, B=256, NT=4, and NR=8, this becomes 8,388,608 operations. With an FFT-based implementation when there are multiple transmitters and multiple receivers only one FFT of each of the received sample blocks needs to be performed (for each block) and only one FFT of each of the code blocks needs to be computed. If there are NT transmitters and NR receivers, then the number of FFTs for each receiver is NT×NB for the code, NR×(NB+1) for the received signal, and then NT×NR×NB for the inverse FFT, for a total of (NT+NR+NT×NR)×NB FFT-like operations. Each FFT (or IFFT) requires (2B) log2(2B) operations. There are also NT×NR×NB×2B multiplications and NT×NR×NB×B additions. So the total number of operations is (NT+NR+NT×NR)×NB×(2B) log2(2B)+3B×NB×NT×NR, where the first term is for the FFT with each operation being a complex multiply and add, and where the last term is for the “adds” and “multiplies.” For the example of Lc=1024, NB=4, B=256, NT=4, and NR=8, the number of operations required with the FFT-type implementation is 909,312. This is about a 9 times reduction from the direct implementation. If the number of correlations is reduced to B=64, the number of calculations is reduced to 413,696 or about 20 times smaller than direct implementation.


There are many variations that can be applied to the structure of the FFT-block based implementation. The FFT-based correlator 1400 illustrated in FIG. 14 is similar to the FFT-based correlator 1300 illustrated in FIG. 13, except for the addition of a processor block 1490. As illustrated in FIG. 14, processing (in block 1490) of the FFT-based correlator 1400 is done on the code sequence before the Fourier transform operation, although the processing could also be after the Fourier transform. One purpose of processing the code sequence is to shift the frequency of the code so that the Doppler shift of the received sequence is applied to the code sequence before the correlation operation. There could be other reasons to process the code sequence before or after the Fourier transform operation. The filtering of certain frequency bands more than other frequency bands is one purpose that can be achieved by this processing.


The structure used to generate the correlations in this block processing, as illustrated in FIG. 13, generates correlations with a contiguous set of ranges. For example, for B=64 and Lc=1024 there can be multiple contiguous bins. For example, correlations corresponding to delays of 0 to 63 chip durations and correlations corresponding to delays of 128 to 195 can be obtained by combining two versions of what is illustrated in FIG. 13. It is possible that some savings of FFT processing can be obtained when doing multiple sets of ranges.


Another variation can be applied to the structure of the FFT-block based implementation. One such variation is illustrated in FIG. 15. While the FFT-based implementation illustrated in FIG. 15 is similar to those illustrated in FIGS. 13 and 14, FIG. 15 includes an additional input (labeled as a “frequency gain”) to the multiply/product operation (block 1550). This additional input can be used for a variety of purposes. One purpose would be to notch out a particular frequency term. If there is an interferer at one particular frequency, then setting one or more of the frequency values to 0 (or at least a relatively small value) would mitigate the effect of the interferer. This also can be used to whiten the interference (i.e., transforming the interference into white noise).



FIG. 16 is a block diagram illustrating another variation where a Doppler frequency compensation (frequency offset) is applied (in block 1610) to the output of the block FFT correlator 1600. By multiplying the output (of the block FFT correlator 1600) by a complex exponential, the frequency of the correlation values can be shifted. The complex exponential is exp{j2πfDnT}, where n=0, 1, . . . and where T is the correlation time and fD is the desired frequency shift (e.g., the Doppler frequency). This shifts the frequency of the signal and can compensate for a known Doppler in order that the resulting signal is centered near 0 Hz in frequency. Note that the output of the block FFT processor is a set of correlations corresponding to different ranges or delays. At each range of a potential object there may be a previously known velocity or Doppler shift for that object. A different frequency correction can be applied to each range bin.


The objects of this invention can also be applied to a pulse mode type of transmission whereby the transmitter transmits a signal of a certain time duration and then is silent for a certain time duration. For example, if the transmitted signal consists of 128 chips and then is silent for the same duration, simple modifications of the processing described above for continuous transmission operation can be applied to discontinuous transmission. In this case, the ADC samples that are input to the FFT (block 1340 in FIG. 13) can be padded by B zero samples instead of the past B zeros samples. In this case the code sequence and the received samples are zero padded.


Another variation is to pad the received signal and then buffer the code in the block FFT correlator. It is also possible to preprocess the code in the block FFT to account for channel effects. For example, knowing the vehicle velocity, the code can be Doppler shifted by an appropriate amount so that it matches the frequency of a received signal reflected from a stationary object.


Another variation is to offset the code or the signal (e.g., buffer a certain number of samples) to select a set of B contiguous range bins for which correlations are desired instead of the correlations from 0 to B−1. In another variation, a same set of signal samples and offset code are reprocessed through the same hardware in multiple passes for multiple blocks of outputs.


Another variation is to use the receiver processing to estimate the channel characteristics. In this variation one or more of the transmitters is silent (not transmitting). The receiver still processes the received signal with a block-FFT correlator and the block-FFT correlator is used to estimate the interference level.


Another variation is to perform at least two block FFT correlations in parallel. This parallel operation allows for the computation of, for example, two distinct sets of range bins for which correlation is performed.


While the operations of the radar receiver have been illustrated for the case of a PMCW type of radar, it is also applicable to FMCW type radars and to pulsed radar systems.


Various operations, including changing the gain, or changing a number of bits of representation for quantities, and other simple operations known to one skilled in the art can take place between various functions without departing from the spirit of the invention.


Changes and modifications in the specifically described embodiments can be carried out without departing from the principles of the present invention, which is intended to be limited only by the scope of the appended claims, as interpreted according to the principles of patent law including the doctrine of equivalents.

Claims
  • 1. A radar sensing system for a vehicle, the radar sensing system comprising: a transmit pipeline configured for installation and use on a vehicle, wherein the transmit pipeline comprises at least one transmitter configured to transmit phase modulated continuous wave radio signals, and wherein the phase modulation is defined by a spreading code;a receive pipeline configured for installation and use on the vehicle, wherein the receive pipeline comprises at least one receiver configured to receive phase modulated radio signals that include the transmitted radio signals reflected from objects in the environment, wherein each of the at least one receiver is configured to down-convert the received radio signals;wherein each of the at least one receiver comprises at least one analog-to-digital converter (ADC) configured to convert the down-converted received radio signals into digital received samples, and wherein the digital received samples are time domain received samples;wherein the time domain received samples are converted into frequency domain received samples via a Fourier transform type of operation; andwherein each of the at least one receiver is configured to correlate the received samples to detect object distance by multiplying the frequency domain received samples of the received radio signals with frequency domain samples associated with the spreading code.
  • 2. The radar sensing system of claim 1, wherein each receiver of the at least one receiver further comprises a digital processing unit, wherein the digital processing unit is configured to convert the time domain received samples to the frequency domain received samples via a Fourier transform type of operation.
  • 3. The radar sensing system of claim 2, wherein the Fourier transform operation comprises a fast Fourier transform operation.
  • 4. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to convert processed samples from the frequency domain to the time domain via an inverse Fourier transform operation.
  • 5. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to store code samples in the frequency domain.
  • 6. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to multiply frequency domain samples associated with a transmitted spreading code with frequency domain samples associated with the received radio signals.
  • 7. The radar sensing system of claim 6, wherein each of the at least one receiver is configured to zero pad the transmitted spreading code to double length before converting to the frequency domain.
  • 8. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to: partition a spreading code into blocks;zero-pad the partitioned spreading code;convert the zero-padded partitioned spreading code to the frequency domain; andcombine the samples related to the frequency domain, zero-padded, partitioned spreading code with samples related to the frequency domain received samples.
  • 9. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to perform block processing of the received samples, wherein a size of a block is smaller than a length of the spreading code.
  • 10. The radar sensing system of claim 1, wherein a code sample is processed before or after the Fourier transform but before being multiplied by the frequency domain samples of the received radio signals.
  • 11. The radar sensing system of claim 1, wherein each of the at least one receiver is configured to process code samples from either before or after the Fourier transform before the code samples are multiplied by the frequency domain samples of the received radio signals.
  • 12. The radar sensing system of claim 1, wherein each of the at least one transmitter comprises a digital processing unit, a digital-to-analog converter, an analog processing unit, and transmitting antennas.
  • 13. The radar sensing system of claim 1, wherein each of the at least one receiver comprises receiving antennas, an analog processing unit, and a digital processing unit.
  • 14. A method of correlating received samples in a radar system for a vehicle, the method comprising: providing a radar system comprising (i) at least one transmitter configured for installation and use on a vehicle and configured to transmit phase modulated continuous wave radio signals, wherein the phase modulation is defined by a spreading code, and (ii) at least one receiver configured for installation and use on the vehicle and configured to receive phase modulated radio signals that include the transmitted radio signals reflected from objects in the environment, wherein each of the at least one receiver is configured to down-convert the received radio signals;converting the down-converted received radio signals, received by each of the at least one receiver, into digital received samples with at least one analog-to-digital converter (ADC) of the at least one receiver, wherein the digital received samples are time domain received samples;converting the time domain received samples of the received radio signals into frequency domain received samples via a Fourier transform type of operation; andcorrelating the received samples to detect object distance by multiplying the received samples in the frequency domain with frequency domain samples associated with the spreading code in at least one receiver.
  • 15. The method of claim 14, wherein the Fourier transform operation comprises a fast Fourier transform operation.
  • 16. The method of claim 14 further comprising converting processed samples from the frequency domain to the time domain via an inverse Fourier transform type of operation.
  • 17. The method of claim 14 further comprising storing code samples in the frequency domain, wherein each of the at least one receiver is configured to store the code samples.
  • 18. The method of claim 14 further comprising multiplying frequency domain samples associated with a transmitted spreading code with frequency domain samples associated with the received radio signals.
  • 19. The method of claim 18 further comprising zero padding the transmitted spreading code to double length before converting to the frequency domain.
  • 20. The method of claim 14 further comprising: partitioning a spreading code into blocks;zero-padding the partitioned spreading code;converting the zero-padded partitioned spreading code to the frequency domain; andcombining samples related to the frequency domain, zero-padded, partitioned spreading code with samples related to the frequency domain received samples.
  • 21. The method of claim 14, wherein the correlating the frequency domain received samples comprises performing block processing of the received samples, and wherein a size of a block is smaller than a length of the spreading code.
  • 22. The method of claim 14, wherein a code sample is processed before or after the Fourier transform but before being multiplied by the frequency domain samples of the received radio signals.
  • 23. A radar sensing system for a vehicle, the radar sensing system comprising: a transmitter configured for installation and use on a vehicle, and configured to transmit phase modulated continuous wave radio signals, wherein the continuous wave radio signals are phase modulated via a spreading code;a receiver configured for installation and use on the vehicle, and configured to receive phase modulated radio signals that include the transmitted radio signals reflected from objects in the environment, wherein the receiver is configured to down-convert the received radio signals;wherein the receiver comprises a first analog-to-digital converter (ADC) configured to convert the down-converted received radio signals into received samples, and wherein the received samples are time domain received samples;wherein the receiver comprises a first Fourier transform module configured to convert the time domain received samples into frequency domain received samples;wherein the receiver comprises a product module configured to multiply the frequency domain received radio signals with frequency domain samples associated with the spreading code, wherein the product module is configured to output processed samples; andwherein the receiver further comprises an inverse Fourier transform module configured to convert the samples related to the output of the product module from the frequency domain to the time domain, and wherein the converted samples are a correlation of the received samples to detect object distance.
  • 24. The radar sensing system of claim 23, wherein the receiver further comprises a digital processing unit, and wherein the digital processing unit comprises the first Fourier transform module, and wherein the first Fourier transform module is configured to perform a fast Fourier transform operation.
  • 25. The radar sensing system of claim 23, wherein the receiver is configured to produce time domain code samples from a signal associated with the spreading code, and wherein the receiver further comprises a second Fourier transform module configured to convert the time domain code samples into frequency domain code samples, and wherein the receiver is further configured to zero-pad the time domain code samples before they are converted into frequency domain code samples.
  • 26. The radar sensing system of claim 25, wherein the receiver is configured to store the frequency domain code samples.
  • 27. The radar sensing system of claim 25, wherein the product module is configured to multiply the spreading code samples in the frequency domain with the frequency domain received samples.
  • 28. The radar sensing system of claim 23, wherein the receiver is configured to process a code sample before or after the Fourier transform before the code sample is multiplied by the frequency domain samples of the received radio signals, and wherein the processing of code samples shifts the frequency of the sequence of code samples.
  • 29. The radar sensing system of claim 23, wherein the receiver is configured to divide the received samples into blocks of samples, wherein a size of a block is smaller than a length of the spreading code, and wherein the receiver is configured to perform a block FFT correlation by processing the samples in a particular block of samples.
  • 30. The radar sensing system of claim 29, wherein the receiver is configured to at least one of (i) compute at least two block FFT correlations in parallel, and (ii) offset or buffer a code and/or received signal to select a particular set of contiguous range bins for which correlations are desired.
CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the filing benefits of U.S. provisional applications, Ser. No. 62/524,794, filed Jun. 26, 2017, and Ser. No. 62/457,394, filed Feb. 10, 2017, which are both hereby incorporated by reference herein in their entireties.

US Referenced Citations (270)
Number Name Date Kind
1882128 Fearing Oct 1932 A
3374478 Blau Mar 1968 A
3735398 Ross May 1973 A
3750169 Strenglein Jul 1973 A
3896434 Sirven Jul 1975 A
4078234 Fishbein et al. Mar 1978 A
4176351 De Vita et al. Nov 1979 A
4566010 Collins Jan 1986 A
4882668 Schmid et al. Nov 1989 A
4910464 Trett et al. Mar 1990 A
4939685 Feintuch Jul 1990 A
5001486 Bächtiger Mar 1991 A
5034906 Chang Jul 1991 A
5087918 May et al. Feb 1992 A
5151702 Urkowitz Sep 1992 A
5175710 Hutson Dec 1992 A
5218619 Dent Jun 1993 A
5272663 Jones et al. Dec 1993 A
5280288 Sherry et al. Jan 1994 A
5302956 Asbury et al. Apr 1994 A
5341141 Frazier et al. Aug 1994 A
5345470 Alexander Sep 1994 A
5376939 Urkowitz Dec 1994 A
5379322 Kosaka et al. Jan 1995 A
5497162 Kaiser Mar 1996 A
5508706 Tsou et al. Apr 1996 A
5657021 Ehsani-Nategh et al. Aug 1997 A
5657023 Lewis et al. Aug 1997 A
5712640 Andou Jan 1998 A
5724041 Inoue et al. Mar 1998 A
5892477 Wehling Apr 1999 A
5917430 Greneker, III et al. Jun 1999 A
5920285 Benjamin Jul 1999 A
5931893 Dent et al. Aug 1999 A
5959571 Aoyagi et al. Sep 1999 A
5970400 Dwyer Oct 1999 A
6067314 Azuma May 2000 A
6069581 Bell et al. May 2000 A
6121872 Weishaupt Sep 2000 A
6121918 Tullsson Sep 2000 A
6151366 Yip Nov 2000 A
6163252 Nishiwaki Dec 2000 A
6184829 Stilp Feb 2001 B1
6191726 Tullsson Feb 2001 B1
6288672 Asano et al. Sep 2001 B1
6307622 Lewis Oct 2001 B1
6347264 Nicosia et al. Feb 2002 B2
6400308 Bell et al. Jun 2002 B1
6411250 Oswald et al. Jun 2002 B1
6417796 Bowlds Jul 2002 B1
6424289 Fukae et al. Jul 2002 B2
6583753 Reed Jun 2003 B1
6614387 Deadman Sep 2003 B1
6624784 Yamaguchi Sep 2003 B1
6674908 Aronov Jan 2004 B1
6714956 Liu et al. Mar 2004 B1
6747595 Hirabe Jun 2004 B2
6768391 Dent et al. Jul 2004 B1
6865218 Sourour Mar 2005 B1
6975246 Trudeau Dec 2005 B1
7119739 Struckman Oct 2006 B1
7289058 Shima Oct 2007 B2
7299251 Skidmore et al. Nov 2007 B2
7338450 Kristofferson et al. Mar 2008 B2
7395084 Anttila Jul 2008 B2
7460055 Nishijima et al. Dec 2008 B2
7474258 Arikan et al. Jan 2009 B1
7545310 Matsuoka Jun 2009 B2
7545321 Kawasaki Jun 2009 B2
7564400 Fukuda Jul 2009 B2
7567204 Sakamoto Jul 2009 B2
7609198 Chang Oct 2009 B2
7642952 Fukuda Jan 2010 B2
7663533 Toennesen Feb 2010 B2
7728762 Sakamoto Jun 2010 B2
7791528 Klotzbuecher Sep 2010 B2
7847731 Wiesbeck et al. Dec 2010 B2
7855677 Negoro et al. Dec 2010 B2
7859450 Shirakawa et al. Dec 2010 B2
8019352 Rappaport et al. Sep 2011 B2
8049663 Frank et al. Nov 2011 B2
8059026 Nunez Nov 2011 B1
8102306 Smith, Jr. et al. Jan 2012 B2
8154436 Szajnowski Apr 2012 B2
8330650 Goldman Dec 2012 B2
8390507 Wintermantel Mar 2013 B2
8471760 Szajnowski Jun 2013 B2
8532159 Kagawa et al. Sep 2013 B2
8547988 Hadani et al. Oct 2013 B2
8686894 Fukuda et al. Apr 2014 B2
8694306 Short et al. Apr 2014 B1
9121943 Stirlin-Gallacher et al. Sep 2015 B2
9239378 Kishigami et al. Jan 2016 B2
9239379 Burgio et al. Jan 2016 B2
9282945 Smith et al. Mar 2016 B2
9335402 Maeno et al. May 2016 B2
9541639 Searcy et al. Jan 2017 B2
9568600 Alland Feb 2017 B2
9575160 Davis et al. Feb 2017 B1
9599702 Bordes et al. Mar 2017 B1
9689967 Stark et al. Jun 2017 B1
9720073 Davis et al. Aug 2017 B1
9753121 Davis Sep 2017 B1
9753132 Bordes et al. Sep 2017 B1
9772397 Bordes et al. Sep 2017 B1
9791551 Eshraghi et al. Oct 2017 B1
9791564 Harris et al. Oct 2017 B1
9806914 Bordes et al. Oct 2017 B1
9829567 Davis et al. Nov 2017 B1
9846228 Davis et al. Dec 2017 B2
9869762 Alland et al. Jan 2018 B1
20010002919 Sourour et al. Jun 2001 A1
20020004692 Nicosia et al. Jan 2002 A1
20020044082 Woodington et al. Apr 2002 A1
20020075178 Woodington et al. Jun 2002 A1
20020118522 Ho et al. Aug 2002 A1
20020130811 Voigtaender Sep 2002 A1
20020147534 Delcheccolo et al. Oct 2002 A1
20020155811 Prismantas Oct 2002 A1
20030001772 Woodington et al. Jan 2003 A1
20030011519 Breglia et al. Jan 2003 A1
20030058166 Hirabe Mar 2003 A1
20030102997 Levin et al. Jun 2003 A1
20030235244 Pessoa et al. Dec 2003 A1
20040012516 Schiffmann Jan 2004 A1
20040015529 Tanrikulu et al. Jan 2004 A1
20040066323 Richter Apr 2004 A1
20040138802 Kuragaki et al. Jul 2004 A1
20050069162 Haykin Mar 2005 A1
20050156780 Bonthron et al. Jul 2005 A1
20050201457 Allred et al. Sep 2005 A1
20050225476 Hoetzel et al. Oct 2005 A1
20060012511 Dooi et al. Jan 2006 A1
20060036353 Wintermantel Feb 2006 A1
20060050707 Sterin Mar 2006 A1
20060093078 Lewis et al. May 2006 A1
20060109170 Voigtlaender et al. May 2006 A1
20060109931 Asai May 2006 A1
20060114324 Farmer et al. Jun 2006 A1
20060140249 Kohno Jun 2006 A1
20060181448 Natsume et al. Aug 2006 A1
20060244653 Szajnowski Nov 2006 A1
20060262007 Bonthron Nov 2006 A1
20060262009 Watanabe Nov 2006 A1
20070018884 Adams Jan 2007 A1
20070018886 Watanabe et al. Jan 2007 A1
20070109175 Fukuda May 2007 A1
20070120731 Kelly, Jr. May 2007 A1
20070132633 Uchino Jun 2007 A1
20070152870 Woodington et al. Jul 2007 A1
20070152871 Puglia Jul 2007 A1
20070152872 Woodington Jul 2007 A1
20070164896 Suzuki et al. Jul 2007 A1
20070171122 Nakano Jul 2007 A1
20070182619 Honda et al. Aug 2007 A1
20070182623 Zeng Aug 2007 A1
20070188373 Shirakawa et al. Aug 2007 A1
20070200747 Okai Aug 2007 A1
20070279303 Schoebel Dec 2007 A1
20080208472 Morcom Aug 2008 A1
20080272955 Yonak et al. Nov 2008 A1
20090015459 Mahler et al. Jan 2009 A1
20090015464 Fukuda Jan 2009 A1
20090051581 Hatono Feb 2009 A1
20090072957 Wu et al. Mar 2009 A1
20090073025 Inoue et al. Mar 2009 A1
20090074031 Fukuda Mar 2009 A1
20090079617 Shirakawa et al. Mar 2009 A1
20090085827 Orime et al. Apr 2009 A1
20090103593 Bergamo Apr 2009 A1
20090121918 Shirai et al. May 2009 A1
20090212998 Szajnowski Aug 2009 A1
20090237293 Sakuma Sep 2009 A1
20090267822 Shinoda et al. Oct 2009 A1
20090289831 Akita Nov 2009 A1
20090295623 Falk Dec 2009 A1
20100019950 Yamano et al. Jan 2010 A1
20100116365 McCarty May 2010 A1
20100156690 Kim et al. Jun 2010 A1
20100198513 Zeng et al. Aug 2010 A1
20100277359 Ando Nov 2010 A1
20110006944 Goldman Jan 2011 A1
20110032138 Krapf Feb 2011 A1
20110074620 Wintermantel Mar 2011 A1
20110187600 Landt Aug 2011 A1
20110196568 Nickolaou Aug 2011 A1
20110248796 Pozgay Oct 2011 A1
20110279303 Smith, Jr. et al. Nov 2011 A1
20110279307 Song Nov 2011 A1
20110285576 Lynam Nov 2011 A1
20110291874 De Mersseman Dec 2011 A1
20110291875 Szajnowski Dec 2011 A1
20110292971 Hadani et al. Dec 2011 A1
20110298653 Mizutani Dec 2011 A1
20120001791 Wintermantel Jan 2012 A1
20120050093 Heilmann et al. Mar 2012 A1
20120105268 Smits et al. May 2012 A1
20120112957 Nguyen et al. May 2012 A1
20120133547 MacDonald et al. May 2012 A1
20120146834 Karr Jun 2012 A1
20120173246 Choi et al. Jul 2012 A1
20120195349 Lakkis Aug 2012 A1
20120257643 Wu et al. Oct 2012 A1
20120319900 Johansson et al. Dec 2012 A1
20130016761 Nentwig Jan 2013 A1
20130021196 Himmelstoss Jan 2013 A1
20130027240 Chowdhury Jan 2013 A1
20130069818 Shirakawa et al. Mar 2013 A1
20130102254 Cyzs Apr 2013 A1
20130113653 Kishigami et al. May 2013 A1
20130135140 Kishigami May 2013 A1
20130169485 Lynch Jul 2013 A1
20130176154 Bonaccio et al. Jul 2013 A1
20130214961 Lee et al. Aug 2013 A1
20130229301 Kanamoto Sep 2013 A1
20130244710 Nguyen et al. Sep 2013 A1
20130314271 Braswell et al. Nov 2013 A1
20130321196 Binzer et al. Dec 2013 A1
20140022108 Alberth, Jr. et al. Jan 2014 A1
20140028491 Ferguson Jan 2014 A1
20140035774 Khlifi Feb 2014 A1
20140070985 Vacanti Mar 2014 A1
20140085128 Kishigami et al. Mar 2014 A1
20140111372 Wu Apr 2014 A1
20140139322 Wang et al. May 2014 A1
20140159948 Ishimori et al. Jun 2014 A1
20140220903 Schulz et al. Aug 2014 A1
20140253345 Breed Sep 2014 A1
20140285373 Kuwahara et al. Sep 2014 A1
20140327566 Burgio et al. Nov 2014 A1
20140348253 Mobasher et al. Nov 2014 A1
20150002329 Murad et al. Jan 2015 A1
20150002357 Sanford et al. Jan 2015 A1
20150035662 Bowers et al. Feb 2015 A1
20150061922 Kishigami Mar 2015 A1
20150103745 Negus et al. Apr 2015 A1
20150198709 Inoue Jul 2015 A1
20150204966 Kishigami Jul 2015 A1
20150204971 Kuehnle Jul 2015 A1
20150226848 Park Aug 2015 A1
20150234045 Rosenblum Aug 2015 A1
20150247924 Kishigami Sep 2015 A1
20150301172 Ossowska Oct 2015 A1
20150323660 Hampikian Nov 2015 A1
20150331090 Jeong et al. Nov 2015 A1
20160003939 Stainvas Olshansky et al. Jan 2016 A1
20160018511 Nayyar et al. Jan 2016 A1
20160033631 Searcy et al. Feb 2016 A1
20160033632 Searcy et al. Feb 2016 A1
20160041260 Cao et al. Feb 2016 A1
20160061935 McCloskey et al. Mar 2016 A1
20160084941 Arage Mar 2016 A1
20160084943 Arage Mar 2016 A1
20160124086 Jansen et al. May 2016 A1
20160139254 Wittenberg May 2016 A1
20160146931 Rao et al. May 2016 A1
20160154103 Moriuchi Jun 2016 A1
20160238694 Kishigami Aug 2016 A1
20170010361 Tanaka Jan 2017 A1
20170023661 Richert Jan 2017 A1
20170212213 Kishigami Jul 2017 A1
20170219689 Hung et al. Aug 2017 A1
20170293025 Davis et al. Oct 2017 A1
20170293027 Stark et al. Oct 2017 A1
20170307728 Eshraghi et al. Oct 2017 A1
20170309997 Alland et al. Oct 2017 A1
20170310758 Davis et al. Oct 2017 A1
20170336495 Davis et al. Nov 2017 A1
20180095163 Lovberg Apr 2018 A1
20180175907 Marr Jun 2018 A1
Foreign Referenced Citations (10)
Number Date Country
0725480 Nov 2011 EP
2374217 Apr 2013 EP
2821808 Jul 2015 EP
2751086 Jan 1998 FR
WO2015175078 Nov 2015 WO
WO2015185058 Dec 2015 WO
WO2016011407 Jan 2016 WO
WO2016030656 Mar 2016 WO
WO2017175190 Oct 2017 WO
WO2017187330 Nov 2017 WO
Non-Patent Literature Citations (4)
Entry
Chambers et al., An article entitled “Real-Time Vehicle Mounted Multistatic Ground Penetrating Radar Imaging System for Buried Object Detection,” Lawrence Livermore National Laboratory Reports (LLNL-TR-615452), Feb. 4, 2013; Retrieved from the Internet from https://e-reports-ext.llnl.gov/pdf/711892.pdf.
Fraser, “Design and simulation of a coded sequence ground penetrating radar,” In: Diss. University of British Columbia, Dec. 3, 2015.
Zhou et al., “Linear extractors for extracting randomness from noisy sources,” In: Information Theory Proceedings (ISIT), 2011 IEEE International Symposium on Oct. 3, 2011.
International Search Report and Written Opinion of the International Searching Authority from corresponding Patent Cooperation Treaty (PCT) Application No. PCT/IB2017/55188, dated Jan. 26, 2018.
Related Publications (1)
Number Date Country
20180231652 A1 Aug 2018 US
Provisional Applications (2)
Number Date Country
62524794 Jun 2017 US
62457394 Feb 2017 US