主题中讨论的其他器件:MSP430FR6047
大家好、
我们尝试在超声波信号上应用带通滤波器。 在零流量测试时、ADC 捕获看起来是这样的(使用 USS_ALG_FILT_ES_FILTER_ENABLED 宏启用滤波器时)。
当不使用滤波器时、我们可以看到来自两个通道(零流量时)的完全重叠的信号。 在信号之间引入这种偏移是什么? 如何将其删除?
此致、
Kamlesh
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我们尝试在超声波信号上应用带通滤波器。 在零流量测试时、ADC 捕获看起来是这样的(使用 USS_ALG_FILT_ES_FILTER_ENABLED 宏启用滤波器时)。
当不使用滤波器时、我们可以看到来自两个通道(零流量时)的完全重叠的信号。 在信号之间引入这种偏移是什么? 如何将其删除?
此致、
Kamlesh
您好!
下图是未使用滤波器时(零流量时):
下图:启用滤波器时(零流量时)。 据我了解、这两种情况之间没有太大差异。 此外、还有一个信息、我更改了行的顺序:
code = USS_runAlgorithmsFixedPoint(&gUssSWConfig,&algResFixed); HMI_PostMeasurement_Update(); // earlier the order was: HMI_PostMeasurement_Update(); code = USS_runAlgorithmsFixedPoint(&gUssSWConfig,&algResFixed); // This was done to show the filtered data on GUI
此致、
Kamlesh
以下内容是否解决了由于启用滤波器而导致的阵列大小变化问题? 我们只想确保启用滤波器不会与其他参数混淆。
void CommandHandler_transmitCaptures(Packet_t *txPacket) { // Calculate number of packets that will need to be sent // Each ADC capture packet can hold up to 27 captures uint16_t updnsCaptureSize = gUssSWConfig.captureConfig->sampleSize; uint8_t numOfPcks = (uint8_t)(updnsCaptureSize/ COMMAND_HANDLER_UPS_DNS_CAP_MAX_CAP_SIZE); int8_t finalPckLength = (uint8_t)(updnsCaptureSize % COMMAND_HANDLER_UPS_DNS_CAP_MAX_CAP_SIZE); // Calculate number of bytes in each capture uint8_t* pUPSCap = (uint8_t*)(USS_getUPSPtr(&gUssSWConfig)); uint8_t* pDNSCap = (uint8_t*)(USS_getDNSPtr(&gUssSWConfig)); if( finalPckLength > 0 ) { numOfPcks++; } else { finalPckLength = COMMAND_HANDLER_UPS_DNS_CAP_MAX_CAP_SIZE; } .....
pUPSCap 和 pDNSCap 似乎无法解决这个问题。 我们可以对此做些什么吗?
此致、
Kamlesh
嗯、我们没有这些信息。 我们在本应用手册第3.2.2.5章 中仅包含基本测量功能的电流消耗数据。https://www.ti.com/lit/ug/tidudn0/tidudn0.pdf
此致、
现金 Hao