我在matlab中开发了一种使用信号处理技术的系统。我想对这个系统使用raspberry pi。
在这个link中,他们说Octave,Scilab,FreeMat工具可以用来替换覆盆子pi的pc。
我可以使用这些工具运行信号处理算法吗?
答案 0 :(得分:3)
不,不可能。 MATLAB只能在Intel x86架构上运行,Raspberry Pi使用ARM处理器。请参阅此处MATLAB支持的平台:http://www.mathworks.com/support/sysreq/current_release/。
但是,您可以将MATLAB与接口与Raspberry Pi一起使用,以获取传感器和图像数据:http://www.mathworks.com/hardware-support/raspberry-pi-matlab.html
如果你想运行信号处理算法,如果可以的话,坚持使用Octave的signal
包 - http://octave.sourceforge.net/signal/ - 是的,可以在Raspberry Pi上运行Octave:http://wiki.octave.org/Rasperry_Pi
或者,尝试将NumPy和SciPy与Python一起安装 - http://wyolum.com/numpyscipymatplotlib-on-raspberry-pi/ - 并使用该平台的signal
包:http://docs.scipy.org/doc/scipy/reference/signal.html。 NumPy与MATLAB的语法非常相似,它可以让你毫不费力地学习它。 http://cs231n.github.io/python-numpy-tutorial/
你有很多选择...但不幸的是你不能使用MATLAB。除此之外,MATLAB使用Java作为主干,并且在Raspberry Pi上运行Java 非常慢。不仅如此,MATLAB还有几GB大,而且这个程序占据了SD卡的很大一部分,效率很高。
答案 1 :(得分:3)
Matlab / Simulink无法直接在树莓上运行m代码,但您可以使用raspberry支持包运行Simulink模型进行simulink。这包括Matlab S函数,它包含m代码。
典型的工作流程是:
创建实现该功能的simulink模型。尝试生成代码并在可能的情况下在您的PC上测试它。
放入支持包中的块以访问覆盆子的io。将目标更改为树莓并再次构建它。
将二进制文件下载到raspberry并启动它。该应用程序现在在树莓上运行,不需要电脑。
答案 2 :(得分:1)
另一种选择是使用MATLAB coder或MATLAB Embedded Coder从MATLAB代码生成C代码。请注意,只有MATLAB语言的子集支持代码生成。然后可以在Raspberry Pi上编译和运行该代码。
答案 3 :(得分:1)
使用MATLAB的R2018b版本,您可以将MATLAB代码作为独立的可执行文件部署在Raspberry Pi上。
有关更多信息,请参考Deploying MATLAB functions on Raspberry Pi。