Giter Site home page Giter Site logo

presenseradar / openradar Goto Github PK

View Code? Open in Web Editor NEW
599.0 599.0 197.0 2.77 MB

An open source library for interacting with and processing radar data, specialized for MIMO mmWave radars

License: Apache License 2.0

Jupyter Notebook 65.78% Python 30.60% Lua 3.62%

openradar's People

Contributors

arjung128 avatar dashkosaka avatar edwin-pan avatar jtang10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openradar's Issues

invalid arguments to method call

I tried running the 1843_mmwavestudio_config.lua script on mmWaveStudio, and I was getting a

&&&&&&&&&&&&&&&&&&&&
***Script FAILED!***
&&&&&&&&&&&&&&&&&&&&
Exception message is:
invalid arguments to method call

(mmWaveStudioLogWithOrginalLuaFile.txt)
because of line 88 on 1843_mmwavestudio_config.lua
ar1.FrameConfig(START_CHIRP_TX, END_CHIRP_TX, NUM_FRAMES, CHIRP_LOOPS, PERIODICITY, 0, 1)
I changed it to
ar1.FrameConfig(START_CHIRP_TX, END_CHIRP_TX, NUM_FRAMES, CHIRP_LOOPS, PERIODICITY, 0, 0, 1)
and mmWaveStudio outputs a ***Script completed successfully.*** message (mmWaveStudioLogWithEditedLuaFile.txt).

I am working with:
Hardware: AWR1843 and DCA1000
OS: Microsoft Windows 10 Home
IDE: JetBrains PyCharm Community Edition 2019.2.4
Python: Python 3.8 (64-bit)
mmWave Studio: mmWave Studio 02.01.00.00

Columns of zeros returned in raw adc data

With all configuration for the AWR1843 the same, other than NUM_RX = 1, NUM_ADC_SAMPLES = 100 and trying CHIRP_LOOPS = 2, 10, and 50 separately results in columns of zeros with adc_data = dca.read().

image

virtual antenna raw data format

your code is awesome! thanks for sharing.
I'd like to ask a question about the format after splitting tx in MIMO mode.

I am trying to visualize the range_azimuth heatmap from people tracking demo. so at line 68,
radar_cube = np.concatenate((radar_cube[0::2, ...], radar_cube[1::2, ...]), axis=1)
it looks like it is trying to split tx to the virtual antenna. for the 2 tx 4 rx setup. is the format of radar_cude after splitting is [real rx1, real rx2, real rx3, real rx4, virtual rx1, virtual rx2, virtual rx3, virtual rx4]?

I'd like to figure this out so that I could use the theory in the following figure to plot range-azimuth heatmap and range-elevation heatmaps.

Thank you so much.

image

DCA1000EVM Requirements

Hi authors, Great work for this repository - its very helpful...
One question, I have looked in your documents but I haven't found the information that I am looking for. To use your library, do I need to have the DCA1000 EVM data capture card or I can use the USB stream, just like the labs on http://dev.ti.com/tirex/explore?

Regards,
Farai

DCA1000 captured sizes

The DCA realtime capture data sizes always are 196608, which is (384,4,128) no matter how the mmwave studio was set.
code:
dca = DCA1000()
adc_data = dca.read(timeout=.1)
frame = dca.organize(adc_data, 128, 4, 128)

errors:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/OpenRadar/test_main.py", line 7, in
frame = dca.organize(adc_data, 128, 4, 128)
File "C:\Users\Administrator\PycharmProjects\OpenRadar\mmwave\dataloader\adc.py", line 280, in organize
return ret.reshape((num_chirps, num_rx, num_samples))
ValueError: cannot reshape array of size 196608 into shape (128,4,128)

demo/visualizer/realtime.py bugs

Hi,In this python document ,it imported the package named ellipse_visualize and I did not find this package in demo.Lab0008.lab0008_visualize ,how did I solve it

File not found

Hi,

In radars.py the _initialize method could not find the ./1642config.cfg. Any suggestion where to find this file.

Thanks

Visualizing micro doppler plots

Discussion about plotting of micro doppler signatures, as they have an enormous importance in the field of machine learning.

This issue is a follow-up to #17.

Organize (Num_Chirps, RX, Samples) Size

Hello,

I'm wondering regarding the organize structure and following functions in the dsp file.
for one frame i am getting 360 UDP packets a 1456 Bytes, because ADC Size = Chirps x RX x Samples x IQ (2) x Byte (2) = 524288 Bytes // 1456 = 360 Packages.

So the number of TX doesnt affect the radar data cube size.

But inside e.g. realtime.py the organize function gets the chirp values for "numChirpsPerFrame = numTxAntennas * numLoopsPerFrame",
which leads to a bigger cube size with 3 TX.

Any explanations for that?

How the BPM mode radar processes the data

I used BPM mode to virtualize 12 virtual channels, but I don't know how to decode these 12 channels, do you have a corresponding demo,looking forward to your reply!

The “singular matrix” problem of capon beamformer

Hi,

When I was using the dsp.aoa_capon() function for angle of arrival estimation, I met the “singular matrix” problem raised by the np.linalg.inv() function. Does any body know how to solve or prevent this problem? How did the “singular matrix” problem happen? May I use dsp.aoa_bartlett() to replace dsp.aoa_capon()? Are the two beamforming functions compatible?
Untitled

LVDS Streaming with OpenRadar

Hi,

Trying my luck here, I want to use OpenRadar with AWR1433 for live streaming of the ADC measurements and processing. As far as I understand, this requires some changes to the default MSS firmware that runs on the device. I believe that there are already some implementations out there that do something similar such as the one here https://github.com/moodoki/iwr_raw_rosnode which does not work properly.
Any idea how to implement this? Or some hands-on information on how to customize the MSS for this task?

Thanks
Yuval

Timeout error while getting ADC data over ethernet

Hi PreSenseRadar group. Thanks for your great package. I am using a DCA1000EVM together with an AWR1443Boost module. I am running the following piece of code:


numADCSamples = 128
numTxAntennas = 3
numRxAntennas = 4
numLoopsPerFrame = 128
numChirpsPerFrame = numTxAntennas * numLoopsPerFrame
dca = DCA1000()
count = 0
while True:
count += 1
adc_data = dca.read(timeout= 1)
frame = dca.organize(raw_frame=adc_data, num_chirps=numChirpsPerFrame, num_rx=numRxAntennas,
num_samples=numADCSamples)
print(count)
np.save(file = f'./test/{count}.npy', arr = frame)


As mentioned in the code, I am trying to use 3 Tx's and 4 Rx's, which I initiate for a TDM pattern by mmWave Studio. Yet after 333 counts, I ran into a timeout error as follows:

Traceback (most recent call last):
File "C:\Users\Arash\Desktop\Project\Radar Project\TI radar\test.py", line 25, in
adc_data = dca.read(timeout= 1)
File "C:\Users\Arash.conda\envs\TI\lib\site-packages\mmwave\dataloader\adc.py", line 185, in read
packet_num, byte_count, packet_data = self._read_data_packet()
File "C:\Users\Arash.conda\envs\TI\lib\site-packages\mmwave\dataloader\adc.py", line 234, in _read_data_packet
data, addr = self.data_socket.recvfrom(MAX_PACKET_SIZE)
socket.timeout: timed out


I would appreciate it if anyone can help me with this issue.

Best,
Arash

data cannot download

Hello, the data download link you provided seems to be invalid. Is there a new download link?

real time data loader, does this data loader actually rob data from mmwavestudio?

Hi,
proof1

I have tried the data loader to capture data in real time, however, the number of frames received by mmwavestudio is actually quite larger than by this Python dataloader. For example, I used "1TX, 4RX, 256 ADC samples per second, 128 chirps per loop" and trigger frames for 12 seconds, the number of frames captured by mmwavestudio is actually 259 but the number of frames by Python dataloader is only 35. I also checked the excel log file (screenshot provided) which indicates that there were some packets missing when Python dataloader is used at the same time when mmwavestudio is triggering frames. If I only use mmwavestudio to capture data, then all packets are received in sequence.
I also check when we fix the number of frames to be a exact number, for example 20, everytime if mmwavestudio triggers frames together with dataloader, the mmwavestudio will be stuck.
I am not a profession in device communication, may I know whether this is caused by UDP, since there are two receivers at the same time( mmwavestudio save a bin file and adc dataloader save some frames), they are actually disturbing each other?
Looking forward to your reply!
Thank you!

Variable initialization

In /dsp/angle_estimation.py, how to define DOPPLER_IDX_TO_SIGNED?
and the same for extendedMaxVelocityEnabled in utils.py?

Can the iwr1642boost device generate 3D point cloud ?

I am a newbie in the radar domain, but I have a project that need use the mmwave radar to generate 3D piont cloud. so I have a problem, can the iwr1642boost generate 3D point cloud? if it support, can I use this repo get the 3D point colud? thank you very much.

Error using mmwave.dsp.compensation.add_doppler_compensation

Hi,
Really useful package! I got an error trying to use this function, I have pasted the error output below. I tried it with and without the num_doppler _bins variable which your docs say is optional and it came up with the same error for both.

Cheers,
Charlie

Traceback (most recent call last): File "Process.py", line 116, in <module> R,D,A=processing(F) File "Process.py", line 65, in processing Frame2=mmc.add_doppler_compensation(Frame,2) File "/home/(path)/.local/lib/python3.8/site-packages/mmwave/dsp/compensation.py", line 79, in add_doppler_compensation azimuth_mod_coefs, bins = _generate_dft_sin_cos_table(int(num_doppler_bins)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

and

Traceback (most recent call last): File "Process.py", line 115, in <module> R,D,A=processing(F) File "Process.py", line 64, in processing Frame2=mmc.add_doppler_compensation(Frame,2,16) File "/home/(path)/.local/lib/python3.8/site-packages/mmwave/dsp/compensation.py", line 79, in add_doppler_compensation azimuth_mod_coefs, bins = _generate_dft_sin_cos_table(int(num_doppler_bins)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

EKF_from_TLV.py import error

"from mmwave.tracking import GTRACK_visualize" in EKF_from_TLV.py is an error, i revise it to 'gtrack_visualize' ,but i found that there isn't a function named create() in it so that 'gtrack_visualize.create()' error

Issues when trying to do doppler processing:

I'm having issues using your library with an arw1843 boost and the dca1000 especially when trying to do the doppler processing as I'm getting transposition errors. I'm wondering if you could give me a short demo code of reading and manipulating the adc data to work from.

Thanks.

demo/visualizer/realtime.py bugs

An initial issue with ellipse_visualize seems fixable using:

-from demo.Lab0008.lab0008_visualize import ellipse_visualize +from demo.visualizer.visualize import ellipse_visualize

The next issues that appear are harder to solve:


Both seen in environment:

-> Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
-> Using AWR1243 and DCA1000
-> mmWaveStudio 2.0.0.2 using 'ContStream' mode

Issue 1 ------------------------------------------------------------------------------------------------

python demo\visualizer\realtime.py c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\doppler_processing.py:132: RuntimeWarning: divide by zero encountered in log2 fft2d_log_abs = np.log2(np.abs(fft2d_out)) Traceback (most recent call last): File "demo\visualizer\realtime.py", line 173, in cluster = clu.radar_dbscan(detObj2D_f, 0, doppler_resolution, use_elevation=True) File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\clustering\clustering.py", line 110, in radar_dbscan labels = DBSCAN(eps=1.25, min_samples=1, metric=custom_distance).fit_predict(det_obj_2d) File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\cluster_dbscan.py", line 389, in fit_predict self.fit(X, sample_weight=sample_weight) File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\cluster_dbscan.py", line 310, in fit X = check_array(X, accept_sparse='csr') File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\utils\validation.py", line 583, in check_array raise ValueError("Found array with %d sample(s) (shape=%s) while a" ValueError: Found array with 0 sample(s) (shape=(0, 7)) while a minimum of 1 is required.

Issue 2 ------------------------------------------------------------------------------------------------

python demo\visualizer\realtime.py c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\doppler_processing.py:132: RuntimeWarning: divide by zero encountered in log2 fft2d_log_abs = np.log2(np.abs(fft2d_out)) c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py:883: RuntimeWarning: invalid value encountered in sqrt y_vector = np.sqrt(1 - x_vector ** 2 - z_vector ** 2) Traceback (most recent call last): File "demo\visualizer\realtime.py", line 145, in Psi, Theta, Ranges, xyzVec = dsp.beamforming_naive_mixed_xyz(azimuthInput, detObj2D['rangeIdx'], File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 939, in beamforming_naive_mixed_xyz doa_spectrum, _ = aoa_capon(np.reshape(inputSignal[:8], (8, 1)).T, steering_vec) File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 237, in aoa_capon raise ValueError("'steering_vector' with shape (%d,%d) cannot matrix multiply 'input_data' with shape (%d,%d)" \ ValueError: 'steering_vector' with shape (181,8) cannot matrix multiply 'input_data' with shape (1,8)

Bytes_in_frame doesnt break the loop

Hey! I'm running into an issue with in adc.py.

I Setup the DCA1000EVM and AWR2243BOOST through mmWave Studio and trigger a frame. Everything works & i receive adc data. But the Byte count doesnt match the BYTES_IN_FRAME_CLIPPED, which results in the loop not breaking and finally ending in a timeout.

adc_py
adc_py_read_adc
mmwave_staticconfig
mmwave_dataconfig
mmwave_sensorconfig

With "print(byte_count)" i get values to about 29 million, whereas the BYTES_IN_FRAME_CLIPPED is about 6.290.606
The code then just runs into timeout:
image

I'm thankful for any help!

AWR1243 read results in socket timeout

I set up adc.py parameters to match my mmWaveStudio configuration as follows:

ADC_PARAMS = {'chirps': 128,  # 32
              'rx': 4,
              'tx': 1,
              'samples': 256,
              'IQ': 2,
              'bytes': 4}

and I used the following code to read the data:

from mmwave.dataloader import DCA1000

dca = DCA1000()
adc_data = dca.read()
frame = dca.organize(adc_data, 128, 4, 2*256)

Firstly, dca.organize gives a list dimension error unless I multiply the number of samples by 2 as shown above. Why does it need to be multiplied?

Secondly, when I trigger a capture in the SensorConfig tab of mmWaveStudio (it triggers a read of 8 frames of data and then stops) and run the python, I get a timeout error. However, using a continuous stream (in the ContStream tab), I can successfully read data. Does openradar require a continuous read or is there a way to get it to detect or trigger a single capture with mmWaveStudio and the AWR1243?

beamforming resolution and accuracy

Hi Gents,

I have a bit confusion about angle estimation. Beamforming is used for improving resolution or accuracy? As far as I understand from the theory, the resolution is limitted by physical antenna design and is typically very bad for small antenna designs. I noticed that in part of the code there is angle_resolution of 1 deg, which according to my understanding is too good to be true.

Essentially, can you please help to clarify, is the following statement correct or wrong?
Beamforming is used to increase the accuracy of angle estimation while having nothing to do with the actual resolution of the estimation.

Thanks!

Processing Data Captured with on 2 tx and 4rx

Thanks for the opensource library!

I am using AWR1642 ods, which has 2tx and 4rx. In angle_estimation.naive_xyz, it says "need a config for more than 2 TXs".
I'd like to know does the visualizing programs are built specifically for 3tx radar?

Thanks

Half of ADC data is missing

When I start framing with mmwave studio and this module, the recorded openradar .bin file is only half of the size of the mmwave file. 50% of ADC samples are missing. Is there a solution for this problem? The data do not look good with the missing samples. Thanks in advance!

Linux

Hi this looks great. I was wondering if anyone could let me know how you would go about using it in ubuntu
Charlie

demo\people_tracker.py - matrix shape mismatch in multiply

From a clean setup, installing requests, and running download_data.py, the main demo fails as such:

python people_tracking.py
Traceback (most recent call last):
File "people_tracking.py", line 72, in
range_azimuth[:,i], beamWeights[:,i] = dsp.aoa_capon(steering_vec, radar_cube[:, :, i].T)
File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 237, in aoa_capon
raise ValueError("'steering_vector' with shape (%d,%d) cannot matrix multiply 'input_data' with shape (%d,%d)"
ValueError: 'steering_vector' with shape (8,128) cannot matrix multiply 'input_data' with shape (181,8)

Python version:
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32

Running OpenRadar on linux?

First, thank you guys for this amazing project.
I am trying to use radar on linux. However, it seems that we need mmwave studio in order to use OpenRadar. Since TI only have mmwave studio for windows, so currently we cannot use OpenRadar on linux. Is this correct?

socket.timeout: timed out

I repeatedly get a socket.timeout: timeout when I try to run the following python script using the OpenRadar repository.

import csv
from datetime import datetime
import matplotlib.pyplot as plt
import numpy as np
from numpy import savetxt
import mmwave as mm
from mmwave.dataloader import DCA1000
START_CHIRP_TX = 0
END_CHIRP_TX = 2
CHIRP_LOOPS = 128
NUM_CHIRPS_PER_FRAME = (END_CHIRP_TX - START_CHIRP_TX + 1) * CHIRP_LOOPS
NUM_RX = 4
NUM_ADC_SAMPLES = 128
print('start')
dca = DCA1000()
i = 0
while True:
i = i + 1
adc_data = dca.read()
frame3d = dca.organize(adc_data, NUM_CHIRPS_PER_FRAME, NUM_RX, NUM_ADC_SAMPLES)
frame2d = frame3d[:,1,:]
frame2dFt1d = mm.dsp.range_processing(frame2d)
phase = np.angle(frame2dFt1d)
plt.imshow(abs(frame2dFt1d), cmap='viridis')
plt.colorbar()
plt.pause(0.05)
plt.clf()
radar_cube = mm.dsp.range_processing(adc_data)
datetime_object = datetime.now()
print(datetime.now(), "Done frame", i)

image

AWR1243 Support

Hello. Thanks for your great work on this package. I am having difficulty reading in the data from an AWR1243 connected to the DCA1000. I configure everything in mmWave Studio and start the stream, but the data I get back from the dca.read() method is not close to what I read from the raw data file and when looking at the 2-D range, cross-range heatmap (for me, I'm using an omega-k algorithm), it is completely wrong. Am I missing something? Or perhaps, I need to change the code to support the AWR1243?

recording with dca1000 without mm-wave studio

In this implementation, does the data capture using DCA1000 module require mmwave studion for capturing? Or is it possible to configure the radar module (say 1843) using a python script and then run
dca = DCA1000() adc_data = dca.read()
to capture the raw data?

function 'gtrack_unrollRadialVelocity' detailed method

I'm studying tracking method based on your code. so thank you.
I have several questions.

In function 'gtrack_unrollRadialVelocity',

def gtrack_unrollRadialVelocity(rvMax, rvExp, rvIn):
    distance = np.float32(rvExp - rvIn)                 
    if distance >= 0:
        factor = int((distance + rvMax) / (2 * rvMax))
        rvOut = np.float32(rvIn + 2 * rvMax * factor)
    else:
        factor = int((rvMax - distance) / (2 * rvMax))
        rvOut = np.float32(rvIn - 2 * rvMax * factor)
    return rvOut
  • what is meaning paramter(factor, rvOut)?
  • I'd like to know about overall detailed methodology in function..

Virtual antennas

In the file mmwave/dataloader/adc.py at the start, you define the length of the frame as including num_rx * num_tx ie the number of virtual antennas. But later in the file ( in @staticmethod) when you split the data into the data cube you only use the 4 rx channels. I was wondering if there should be (rx*tx) rows in the data cube, and if not what happens to the data you collect for the virtual antennas?

DCA1000 Read Always Size (196608,)

Hello,

As the title states, no matter what settings I apply through mmWave Studio (either manually or with the Lua script), I can't seem to get the right output dimensions from DCA1000.read(). Has anyone else encountered this issue?

There was another issue which mentioned this exact problem, but it was closed with no stated resolution.

Thank you in advance for your help.

Question about estimating azimuth angle and elevation angle in 'demo/visualizer'

Hi, first of all thank you for this open source package, it's very helpful! I just have one question when I try to write a function to generate point cloud from IWR1443BOOST raw ADC data, only 2 of the transmitting antennas on the azimuth (horizontal) axis are used and receiving antennas are 4. I think the demo/visualizer/main.py gives a good enough example to generate point cloud, but I can't understand the following steps inside beamforming_naive_mixed_xyz() which is invoked after aoa_bartlett() and peak_search_full_variance() :

        higher_rung = inputSignal[8:12]
        lower_rung = inputSignal[2:6]
        for j in range(num_out):
            ele_out = aoa_estimation_bf_one_point(4, higher_rung, steering_vec[max_theta[j]])
            azi_out = aoa_estimation_bf_one_point(4, lower_rung, steering_vec[max_theta[j]])
            num = azi_out * np.conj(ele_out)
            wz = np.arctan2(num.imag, num.real) / np.pi

            temp_angle = -est_range + max_theta[j] * est_resolution  # Converts to degrees, centered at boresight (0 degrees)
            # Make sure the temp angle generated is within bounds
            if np.abs(temp_angle) <= est_range and estimated_variance[j] < doa_var_thr:
                e_angle = np.arcsin(wz)
                a_angle = -1 * (np.pi / 180) * temp_angle  # Degrees to radians
                output_e_angles.append((180 / np.pi) * e_angle)  # Convert radians to degrees
                output_a_angles.append((180 / np.pi) * np.arcsin(np.sin(a_angle) * np.cos(e_angle)))  
                output_ranges.append(input_ranges[i])

Can someone tell me the process of these steps and what are higher_rung and lower_rung used for? In my case to get azimuth angle, shall I ignore those steps and directly take the result from peak_search_full_variance() after aoa_bartlett() as azimuth angle estimation? Many thanks in advance!

TDA 2xx capture card support request

Hey OpenRadar team, thank you for this package and it works well with the 1xxx series boards with the DCA1000 capture card.
I would like to know if this package is being maintained anymore. If so, do you have any plans to add support for TDA 2xx capture card that comes with AWR22xx cascade radars.

Thanks,
Saketh

Limiting the version of the opencv-python in requirements.txt

Python=3.6 && opencv-python=4.7.0.72
It will raise error "cv2.error: OpenCV(4.7.0) /tmp/pip-install-nzi856ln/opencv-python_f33732a96f0e44e08ea9072d768bb35d/opencv/modules/highgui/src/window.cpp:1272: error: (-2:Unspecified error) The function is not implemented."

I reinstall opencv-python=4.4.0.46, then the error dose not occur. So I recommend limiting the version of the opencv-python in requirements.txt.

Bartlett Beamforming function

Hi ,
I have been using your Bartlett Beamforming function to extract range and azimuth information from a datacube collected from a DCA1000evm with a 1642BOOST but I have received a strange output where every other range bin is 0. If I remove these range bins I get an image that looks better, but for some reason, the 'hot' patches in the heatmap don't really line up from bin to bin. Any idea why this might have happened? (It is consitent for hundreds of frames)

I have attached images of the heatmaps below

This one is the direct output- every other range bin is 0.
notSquashed

This one has had every other range bin removed, but the areas where the radar ahs detected an object don't line up.

squashed2

@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?

@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?

Unbenannt

Spectrogram-of-micro-Doppler-signal-provoked-by-walking-human-The-signal-is-modeled-by

Executing mmWave through Python and Lua
I run a command in Python that executes mmWave together with my settings (lua script) and then I am able to receive and process sensor data via Python.

import subprocess, time

subprocess.Popen(r'C:\User\src\Config_Files\Run_mmWaveStudio.cmd', 
                 cwd=r'C:\ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime')
time.sleep(55) #Wait until mmwave is completely executed

dca = DCA1000()
adc_data = dca.read()
while True:
           ..........

Command for executing mmWave with settings through the shell:

cmd /C "mmWaveStudio.exe /lua C:\User\src\Config_Files\1443_mmwavestudio_config.lua"

Create a new text file and insert this command into it. Save it and change the extension to .cmd. Than put this file in the directory 'ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime'. Now you can run it with python (see code above) and capture data. Remember to adjust the paths!
Hope this helps you.

Originally posted by @bayramf in #17 (comment)

@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?

@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?

Unbenannt

Spectrogram-of-micro-Doppler-signal-provoked-by-walking-human-The-signal-is-modeled-by

Executing mmWave through Python and Lua
I run a command in Python that executes mmWave together with my settings (lua script) and then I am able to receive and process sensor data via Python.

import subprocess, time

subprocess.Popen(r'C:\User\src\Config_Files\Run_mmWaveStudio.cmd', 
                 cwd=r'C:\ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime')
time.sleep(55) #Wait until mmwave is completely executed

dca = DCA1000()
adc_data = dca.read()
while True:
           ..........

Command for executing mmWave with settings through the shell:

cmd /C "mmWaveStudio.exe /lua C:\User\src\Config_Files\1443_mmwavestudio_config.lua"

Create a new text file and insert this command into it. Save it and change the extension to .cmd. Than put this file in the directory 'ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime'. Now you can run it with python (see code above) and capture data. Remember to adjust the paths!
Hope this helps you.

Originally posted by @bayramf in #17 (comment)

setup.py bug

when I run 'python setup.py develop' the worng message as fllow was show
(visualization) D:\研究生资料\情感计算\雷达\OpenRadar>python setup.py
D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_init_.py:85: DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. Requirements should be satisfied by a P
EP 517 installer. If you are using pip, you can try pip install --use-pep517.
dist.fetch_build_eggs(dist.setup_requires)
Traceback (most recent call last):
File "setup.py", line 28, in
setup_requires=['setuptools_scm'],
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_init
.py", line 108, in setup
return distutils.core.setup(**attrs)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_distutils\core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 492, in init
for k, v in attrs.items()
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_distutils\dist.py", line 283, in init
self.finalize_options()
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 912, in finalize_options
ep(self)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 932, in _finalize_setup_keywords
ep.load()(self, ep.name, value)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm\integration.py", line 91, in version_keyword
_assign_version(dist, config)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm\integration.py", line 63, in _assign_version
version_missing(config)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm_init
.py", line 109, in _version_missing
f"setuptools-scm was unable to detect version for {config.absolute_root}.\n\n"
LookupError: setuptools-scm was unable to detect version for D:\研究生资料\情感计算\雷达\OpenRadar.

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metada
ta and will not work.

For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

How can I solve my problem?
The address of https://github.com/user/proj/archive/master.zip and git+https://github.com/user/proj.git#egg=proj is inavaliable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.