Max, are you using the CMSIS optimized DSP libraries for the
code?
(IE you will need to modify the stock PC code)
The standard code is PC code. It works in the 160 meg ST just out
of grunt, not programming performance...
expect substantial improvement.
regards
On 17/06/2016 3:12 AM, Maxime Guyon
wrote:
Hello,
I've tested the Codec2 on a TIVA TM4C129 which is a
TexasInstrument CORTEX-M4F cadenced at 120MHz.
I checkedout the 0.5 TAG version on SVN and take the
configuration of your STM32 (running codec at
CODEC2_MODE_1300)
It looks like that FPU is enabled on my device.
I've tested with maximum optimization O3 and also O4 and
optimize speed.
Here are my profilling code which only add IO toggle on
"c2demo.c" file example available in src folder
The file input is "hts1a.wav"
I only added IO toggling for capturing time encoding and
decoding:
while(fread(buf, sizeof(short), nsam, fin) ==
(size_t)nsam) {
GPIOPinWrite(GPIO_PORTF_BASE,
GPIO_PIN_4, GPIO_PIN_4);
codec2_encode(codec2,
bits, buf);
GPIOPinWrite(GPIO_PORTF_BASE,
GPIO_PIN_4, 0);
GPIOPinWrite(GPIO_PORTF_BASE,
GPIO_PIN_5, GPIO_PIN_5);
codec2_decode(codec2,
buf, bits);
GPIOPinWrite(GPIO_PORTF_BASE,
GPIO_PIN_5, 0);
fwrite(buf,
sizeof(short), nsam, fout);
}
On my scope I've read the time for IO to toggle and here are
my result:
-Encoding time is between 25ms and 42ms
-Decoding time is between 39ms and 56ms
Example seem to read buffer of 320 sample, so if I take the
worst case for each functions:
-Encoding : 320 sample are encoded in 42ms so in 1second I
can encode 7619samples.
-Decoding: 320 sample are decoded in 56ms so in 1second I
can encode 5714samples.
So as you can see I'm not able to do realtime encoding and
decoding since I need to be able to encode at least 8000sample
for do real time things (8KHz sampling rate)
Do you have any suggestion/hint about this?
What is your encoding and decoding time on your STM32F4 board
running at 168MHz?
Regards,
Max
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
|
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2