主题中讨论的其他器件: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