2017-04-27 07:23 AM
Hello Everyone !!
I should do a 'wavelet DSP transformation' with 'STM32F4 Discovery board'.. I need to detect partial discharge (PD) sound signals on 220V 50Hz AC line sound..
I am new to this topic and making a lot of research for this issue.. Is it possible that anybody help me or guide me about the Wavelet DSP libraries (If there are) and codes on STM32F4 Discovery board ?
!!!GOD Bless the ones that help me on this issue, a billion times !!!
Thank you..
#stm32f4-discovery #stm32f4 #dsp #sound #dwt #wavelet #analysis #sound-analysis #cwt2017-04-27 11:12 PM
There is a DSP-Library for the STM32F4, here :
http://www.st.com/en/embedded-software/stsw-stm32065.html
This is a (slightly) adapted port of ARM's DSP Library. However, I think it does not cover wavelet transformations.
There are many resources related to wavelet transformation on the web, perhaps porting a PC-based of generic software/algorithm is more promising.
2017-04-28 02:34 AM
Dear Avatar, thank you for your helpful reply.
I am aware of the dsp libraries for STM32F4's and as you said they dont cover the wavelet transform. I cannot transfer the signals to a PC because I need to build a handheld device such as the 'ultratev plus'.
I am not sure if its possible to combine the functions to build the wavelet transform and analysis for Partial Discharge detection.. or else I must write down an original wavelet transform dsp function and I am not ready to do that
Still searching for the resources but there is a quite less resources on STM32F4 & Wavelet analysis combined..
Any more opinions, resources, suggestions about this will be of great help for me !...
Best regards...
Salih
2017-04-28 02:52 AM
I cannot transfer the signals to a PC because I need to build a handheld device such as the 'ultratev plus'.
No, I meant porting a generic example code (not specifically for STM32 or Cortex M).
Pretty sure there exists example code which you can use as a starting point.
You can easily split it up into two parts. The first task is analog sampling, to get your data into the MCU.
With the signal data in RAM, the rest (the actual wavelet transformation) is hardware-agnostic. You can pull example code from anywhere, there is no real dependency to core architecture.
Do you have specific real-time requirements ?
While a Cortex M4 can do a lot, don't lose sight of available vs. required performance.
I did an example project for audio analysis (48kHz sampling frequency, 2k FFT size), requiring less than 10% of core performance for the FFT (averaged over the cycle time).
2017-04-28 03:28 AM
I meant porting a generic example code (not specifically for STM32 or Cortex M). Pretty sure there exists example code which you can use as a starting point.
Ok now I understand that, thanks ! Sure I ll try to do it..
Do you have specific real-time requirements ?
My condition is this, Partial Discharges are defined as pulses which occur at the peaks of an 50HZ electricity voltage signal. The voltage is as high as 35.000 Volts. So these pulses emit ultrasound signals (with a frequency of 20kHz-1MHz), I need to collect them with a piezo mic, then filter & amplify them to a headphones for the technician to listen.. At the same time with STM32F4 I need to process the signal and detect whether or not we have a partial discharge and show the result on an LCD on my handheld device.
So, I need to analyse the sound on the field, minimise the noises, and analyse ultrasonic pulses which only occur on both positive and negative peaks of an 50Hz sinusoinal signal. Its not needed to have an ultrafast real time processing,
For example, listening and recording the analog samples for 0,5 second and after that giving the result on the LCD after 1-2 second process time is sufficient.
What do you think of my requirements and my required core and FFT size ? Is SMT32F4 a good choice for this job ?
Thanks
2017-04-28 04:13 AM
So these pulses emit ultrasound signals (with a frequency of 20kHz-1MHz), ...
Not sure about the bandwidth you actually want to cover.
The F407 achieves 2 Msps or 6 Msps in interleaved mode, this might be sufficient.
A 10ms or 20ms time frame should suffice for an analysis, I measured about 2,5 .. 4 ms for a 2048 point FFT.
I have no real experience with wavelet transformation myself, but a lot depends on the required frequency resolution you want.
But it might not necessary to evaluate every cycle (high voltage discharge cycle), if you deal with periodic events.
Is SMT32F4 a good choice for this job ?
Judging on performance, IMHO it could surely do the job.
For a handheld device, low-power variants like the stm32L4xx might be interesting for you as well.
Don't forget documentation, toolchain and code examples during your evaluation.
Bad or incomprehensible docs and buggy examples can seriously impede your project.
Speaking about the embedded world in general, not specific to any vendor ...
2017-04-28 04:29 AM
Dear Avatar, thanks for your helpful replies..
2Msps seems OK for the project for now (I cant be sure at this moment) and about the 'buggy informations on the web' you are definitely right.. I will be aware of that fact..
I want to inform you about the progress and I d be glad if you reply those as well..
And for anybody to add any valuable information to this project, please be my guest and you are always welcome.. Dont hesitate with your suggestions..
Thanks