内容如下:
3000人民币移植一个Linux开源代码到stm32上面。
现有代码量约2000行,代码本身已经在树莓派、Linux电脑等上面正常运行。
代码功能:
就是源源不断的采集一个音频信号后进行数学运算得到一些信息,然后将信息输出。算法等不用处理,均是现成代码。
程序流程如果不清楚,可以作为协助进行方向性建议。由于C语言不懂,所以代码本身很难看懂,因此外部求助。
个人觉得需要移植的部分是音频adc采集部分(参考程序是读取的电脑声卡或者音频wav文件获得的音频输入信息)和多线程?(多任务?)架构这两部分。
注意:
为了不瞎忙乎,这里有一个需要事先做的判断工作,那就是:由于涉及到数学运算,而且又是源源不断的实时处理运算,因此要评估stm32是否处理性能足够。
这部分工作可以先做,评估的结论无论是行或者不行均表示200元话费(行则不额外单独支付,包含在总费用中。我想没有哪个网友为了200块立马就给我一个评估结果为性能不够的答案吧:)
。
音频信息大概是:音频采样率44.1k,立体声(即双声道),两个通道可能分别携带不同的信息,所以运算量应该是增加了一倍,处理不了就降为单声道看看是否可以,也就是说立体声就是两路adc采集信息,单声道就一路adc了。
采集的音频好像是每一位都要进行一次MSK解码运算,评估过程中,如果觉得处理器性能不够,看看是否可以降低adc采样率以满足处理能力。
---------以上截止--------
具体的话,可以这里跟帖或者私信给我代为转交,或者直接给电话各自联系。
就是楼主的代码,要不然这速度不好意思出来丢人
FPU跑浮点速度比较惊人,把三角函数优化下估计6路实时问题不大
这个不需要模拟声卡,也不需要模拟WAV文件,更没有什么文件系统、驱动之类啥的,之所以里面涉及到了声卡/WAV,是因为系统验证或者测试方便!!!
声卡的话,传输实时信息,或者其他地方转过来的实时音频信息很方便,比如直接拿一个喇叭对着电脑的话筒放声音即可。WAV文件更方便了,可以随时测试使用,拷贝过来放着就好了。
实际使用是实时接收一个声音信号(即是一个模拟电压输入),更具体一点的话就是一个话筒的模拟信号输入就行了,所以这里就用STM32的ADC采集就好了。采集下来的数据就相当于是WAV里面的载体数据或者声卡捕获到的一回事。
然后数据采集了怎么用,就是开源代理里面那样用了。
一周热门 更多>