Hello, everyone. I have checked for the formal readaccdata() function, the ACC_CLK and ACC_MCLK clock setting is already done by formal version. And the bits are checked to have been changed by clock setting. My CIR logging is like this:
Blockquote"0800000a0000dcffff0a0000080000050000e6ffffffffffdeffffeeffffe8fffff4ffffdbffff1300000700001b0000ffffff0d00000e00000"
Here, many “ffff” shows up which leads to be readed as very large number like 130000, while transfering 24 bits data into signed 18 bits integer. My transferation function is like this:
def bytesdata_process(high, mid, low):
# if first 6 bits of high byte is 1, then it is a negative number
if high & 0x80:
return -((high & 0x03) << 16) | (mid << 8) | low
else:
return ((high & 0x03) << 16) | (mid << 8) | low
then I use the same magnitude calculating method as in others blogs. That is:
# Create a int32 array to store the magnitude of each sample
magnitude = []
bytes_data = np.array(bytes_data, dtype=np.int32)
for i in range(0, int(len(bytes_data)/6)*6,6):
real = bytesdata_process(bytes_data[i+2], (bytes_data[i+1]) , bytes_data[i])
imaginary = bytesdata_process(bytes_data[i+5], (bytes_data[i+4]), bytes_data[i+3])
magnitude.append(np.sqrt((float)(real*real+ imaginary*imaginary))))
This methos is the same as one success recorded blogs of –https://forum.qorvo.com/t/dwm3000evb-raw-cir-capture-issues/11659/2
However, using this magnitude calculating method in sqrt() will have a invalid calculation warning in command line, ------" RuntimeWarning: overflow encountered in long scalars". It is reasonable because in python. if real is very big like 130000, real*real + imaginary*imaginary will turns out to be a thousand type number. This is reasonable since real*real+ imaginary*imaginary is still a int32 type.
The resulting CIR figure is like this, seems really like CIR. But is not the correct result:
My question is:
- Is there anyone encounter the same logging data as us? like many “ffff” occur?
- Is our bytesdata_process method right?
Really hope anyone could come to help me, I will be really appreciated !!!