Sampling Frequency Below 8KHz failing

I have been trying to find how low my models sampling frequency can go. This is to lower the amount of RAM required for the buffers the microphone reads into. But when dropping below 8KHz down to 4KHz using the My category percentages don’t change when running the impulse.

When digging further I found that the values I’m reading from the microphone itself aren’t changing when using the 4KHz version. (Also tried 2KHz with similar results)

Any ideas why this is happening?

Project ID:
4KHz: 122548
8KHz: 122968

Context/Use case:
Occupancy Detection

Hi @SethW can you please point to the location you are currently changing the frequency values at?

Hey @jenny

Currently I am changing it during the project Create Impulse page

For my deployment option I am currently using the Simplicity Studio Component. These changes in impulse creation are reflected on the deployment side with changes to the model-paramaters/model_metadata.h file

Hey @jenny I was also wondering, across my many different sample frequencies I have noticed that as my sampling frequency goes down my number of Training Windows goes up. Like as in these projects where my sample window is 1000ms and my window increase is 500 ms. And as the sampling frequency gets halfed, the number of training windows double. Why does this correlation happen?

Hey @jenny

Still not able to figure out why this is happening. Have you been able to replicate this issue on your side?

Hi @SethW,

Indeed the number of training windows increasing is a bug when estimating the number. This is not changing the number of windows once you generate features, but the issue has been added to our backlog.

Regarding your first question, do you still encounter some issues? I’m trying to understand what you mean by values I’m reading from the microphone itself aren’t changing.


Hey @aurel

Regarding the first question. To see the values that are being read from the Microphone I have modified the tutorial to start up by starting and running the impulse in non continuous mode:

Then when the data from the microphone is ready instead of calling the run_classifier, I call my own function that prints the data from the microphonic data.


Every reading ends up being exactly the same:

and all of them start with a bunch of zeros

In this example I am using a model that uses 4KHz sampling rate.

I modified this demo to see what the microphone was producing because when I run the impulse the results never change despite what I say into the microphone:
This screenshot is running AT+RUNIMPULSE on the device after I flashed it with the hex files from the Build firmware Deployment page.

Any ideas on why this is happening?