本示例向您展示如何使用Simulink®Apple iOS设备支持包金宝app来设计算法金宝app,并使用自定义GUI增强算法。
运动传感器的原始输出非常嘈杂,即使当设备放在一个稳定的表面上时也会迅速变化。在本例中,您将实现一个简单的低通滤波器,它可以平滑Gyroscope的输出,过滤后的输出用于控制自定义GUI。
下面几节将描述如何指定低通过滤器,如何在设备上运行,如何分析输出,最后添加使用输出的自定义GUI。
我们建议填写开始使用苹果iOS设备而且与苹果iOS设备通信的例子。
DSP系统工具箱
iPhone, iPod或iPad
USB电缆连接设备到您的主机计算机
1.打开传感器数据过滤模型。
2.在Simulin金宝appk模型中,单击仿真>模型配置参数打开配置参数对话框。
3.选择硬件实现窗格并查看所打开的页面上的参数。
4.点击设备的选择并确保设备匹配您的设备设置。
5.在模型中,检查模拟模式工具栏上的为外部和停止时间设置为40。
6.在模型中,单击运行按钮,以在Apple iOS设备上运行模型。
7.一旦模型运行完成,双击绘制数据图…块中绘制数据。
1.打开传感器的应用模型。
2.这个模型使用相同的过滤器来平滑陀螺仪数据,并将过滤后的数据发送给应用程序使用ToApp块。
3.双击ToAppblock,并观察指定的函数名:setAngles。调用此函数时使用三个单一精度值的向量作为输入。
4.在Simulin金宝appk模型中,单击仿真>模型配置参数打开配置参数对话框。
5.选择硬件实现窗格并查看所打开的页面上的参数。
6.单击部署到硬件按钮。该模型现在将被部署到iOS设备上。
1.在ios_sensorapplication_ert_rtw/ios_sensorapplication下打开应用程序的Xcode项目。
2.在Xcode IDE项目窗口中,打开ios_sensorapplication > ios_sensorapplication > InfoViewController.mm。
3.现在可以添加自定义函数setAngles在模型中的ToApp块中指定。以在InfoViewController中添加如下行为例。在调试器窗口中打印值:
-(void)setAngles:(float*)inAngles {NSLog(@"X: %g, Y: %g, Z: %g", inAngles[0], inAngles[1], inAngles[2]);}
4.在Xcode IDE中,选择Xcode > Product > Run在您的设备上运行应用程序。
5.移动设备,注意在Xcode调试器窗口中打印的值。
1.您可以使用InfoViewController的setAngles方法根据输入值旋转图形。为此,您可以使用OpenGL创建一个对象并旋转一个对象。
2.为了方便起见,这里有一个更新的InfoViewController。Mm提供了支持包。金宝app和InfoViewController一起。附带文件:InfoViewController.h、Main_iPad. mm。故事板,Main_iPhone.storyboard。将这些文件复制到项目目录。您可以在MATLAB命令提示符中执行以下命令:
copyfile(fullfile(fileparts(which('ios_sensorapplication')),'InfoViewController.h'), 'ios_sensorapplication /ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'InfoViewController.mm'), 'ios_sensorapplication_ert_rtw/ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'Main_iPad.storyboard'),'ios_sensorapplication_ert_rtw/ios_sensorapplication','f') copyfile(fullfile(fileparts(which('ios_sensorapplication')),'Main_iPhone.storyboard'), 'ios_sensorapplication_ert_rtw/ios_sensorapplication','f')
3.由于本例使用OpenGL,更新Xcode项目以添加以下框架:GLKit.framework和OpenGLES.framework。在Xcode项目窗口中,选择ios_sensorapplication。选择构建阶段。在“Link Binary with Libraries”下,按“+”添加GLKit.framework和OpenGLES.framework。
4.在Xcode IDE中,选择Xcode > Product > Run在您的设备上运行应用程序。
5.移动设备,观察l型膜的旋转。
用加速度计替换陀螺仪,重复同样的练习。还可以试着围绕三个轴旋转薄膜。
这个例子向您展示了如何使用苹果iOS设备的Simulink支持包来设计金宝app算法,并金宝app使用自定义GUI增强算法。