主要内容

参数音频均衡器的STM32发现板

这个例子展示了如何建模一个三波段参数均衡器算法,并使用嵌入式Coder®支持包为STMicroelectronics®STM32处理器在基于ARM®Cortex M的STMicroelectronics®STM32发现板上运行它。金宝app

所需的硬件

  • STMicroelectronics STM32F4-Discovery或STM32F746G-Discovery板

  • 耳机

  • 如果使用STM32F4-Discovery, USB TTL-232适配器用于监控和调优模拟

简介

的扩展参数音频均衡器(DSP系统工具箱)这个例子来自DSP系统工具箱,你可以用它来模拟你的主机上音频算法的行为。另请参考ARM Cortex-M处理器的参数音频均衡器示例,该示例解释了如何利用ARM Cortex-M代码替换库(CRL)实现DSP功能。

在这个例子中,你将学习如何:

  • 设置ARM Cortex-M CMSIS代码替换库

  • 使用STM32F4-Discovery或STM32F746G-Discovery音频外设,并根据音频DMA中断调度算法。

  • 当应用程序代码在STM32 Discovery板上运行时,配置模拟模型以调优参数并观察实时数据。

此示例的可用版本:

先决条件

我们建议填写:

设置ARM Cortex-M CMSIS代码替换库

ARM Cortex-M处理器金宝app的嵌入式编码器支持包为信号处理和数学运算提供了优化的代码替换库。

您可以参考金宝app支持ARM Cortex-M处理器的CMSIS函数DSP模块支持ARM Cortex-M的CMSIS条件金宝app中的帮助页ARM Cortex-M处理器金宝app的嵌入式编码器支持包文档获取更多信息。

打开建模页签,按“CTRL+E”打开“Configuration Parameters”对话框。去代码生成>接口并选择代码替换库>ARM Cortex-M (CMSIS)参数音频均衡器的STM32发现模型:

使用STM32F4-Discovery音频外设,并根据音频DMA中断调度算法。

参数音频均衡器STM32F4-Discovery例模型中,音频均衡是对来自STM32F4-Discovery板上可用的麦克风的音频数据执行的。模型中使用了一个“Mic In”块STM32F4-Discovery图书馆从麦克风中获取数据。此块输出一帧16位音频样本。

“Mic In”块设置为44100Hz的采样频率。帧大小设置为44.1*20,以获得包含882个16位音频样本的20毫秒音频帧

按照以下步骤配置参数音频均衡器STM32F4-Discovery模型:

1.双击麦克风在块设置麦克风采样率

2.在块参数:Mic In对话框,设置音频帧为20ms。

3.双击音频出块设置音频采样率.“音频输出”块采样率必须匹配“麦克风输入”块采样率。

4.确保模型中所有速率的同步。

一个。打开建模按下TAB键CTRL + E打开“配置参数”对话框。

b。硬件实现>操作系统/调度器并选择基准利率触发器>“Mic In”块DMA中断..

5.以确保“Mic In”块DMA中断随着基准利率触发器,麦克风在Block必须按照基本速率进行调度。打开调试选项卡上,选择信息覆盖,并选择样品时间>颜色确保麦克风在块显示在红色的这表明它是按照基本速率调度的。

注意:您也可以选择“音频输出”块DMA中断随着基准利率触发器第四步。在这种情况下,“Audio Out”块应该以基本速率调度。这将防止在模型中使用更快的速率。

使用STM32F746G-Discovery音频外设

参数音频均衡器STM32F746G-Discovery例模型中,音频均衡是在来自STM32F746G-Discovery板上可用的双麦克风的单声道音频数据上执行的。模型中使用的“Audio In”块STM32F746G-Discovery图书馆从麦克风中获取数据。此块输出一帧2 * 16位音频样本。因此,在模型中使用子矩阵块来提取单个通道,并在输出阶段将同一通道复制到另一个通道。

“Audio In”块设置为44100Hz的采样频率。帧大小设置为44.1*20,以获得包含882 2声道16位音频样本的20毫秒音频帧

按照以下步骤配置参数音频均衡器STM32F746G-Discovery模型:

1.双击音频的块设置麦克风采样频率

2.在块参数:音频输入对话框,设置音频帧为20ms。

3.双击音频出块设置音频采样频率.“音频输出”块采样率必须匹配“音频输入”块采样频率。

4.在本例中,“音频输入”块DMA中断自动选择为基准利率触发器对于模型。这将确保模型中所有速率的同步。

5.打开调试选项卡上,选择信息覆盖,并选择样品时间>颜色确保音频的块显示在红色的这表明它是按照基本速率调度的。

注意:在模型中使用音频输入或音频输出块将防止在模型中使用更快的速率。

配置监控调优的硬件和型号

在这个任务中,您将为模型执行Monitor和Tune操作。在创建原型和开发算法时,当模型在硬件上实时运行时,监视信号和调优参数是很有用的。Monitor和Tune启用了此功能。

监视和调优操作使用与STM32发现板的串行通信接口。对于STM32F4-Discovery板,必须使用串行适配器(如USB TTL-232)在主机和板之间交换数据。在STM32F746G-Discovery板上,您将使用该板编程所需的相同USB连接所提供的串行USB。因此,在STM32F746G-Discovery板上不需要额外的串行连接。

打开与目标硬件对应的参数音频均衡器模型。默认情况下,该型号在主机上使用串口COM端口28。为了在硬件和模型之间成功通信,请设置日志缓冲区大小(字节)到一个足够大的值以容纳日志信号。例如,在这个模型中,缓冲区大小指定为20000.任何小于的值20000可能会导致空白光谱分析仪阻塞输出窗口。

的任务4代码验证和验证与PIL和监视和调优示例配置模型,并设置STM32 Discovery板与主机之间的正确连接。

为了有效地监视和优化,需要配置设置以减少目标上所需的内存。

1.硬件选项卡上,单击控制面板

2.点击信号与触发连接与触发对话框。

3.信号的选择对话框,并设置持续时间“1”。

要启动监视和调优模拟,请将模型模拟模式切换为监视和调优,并单击播放按钮,如任务4中所述代码验证和验证与PIL和监视和调优的例子。

在本例中,外部模式verbose模式默认启用,它启用为每个Monitor和Tune操作显示调试消息。一旦模拟开始,双击参数音频均衡器块,启动用户界面,从GUI调优过滤器系数。您可以从GUI更改三个均衡器波段的中心频率、带宽和增益。

GUI生成的新系数将被发送到目标。在MATLAB命令窗口上的详细模式消息“get EXT_SETPARAM_RESPONSE from target with status OK”将指示过滤器系数的成功更新。您可以使用频谱分析仪查看运行在目标上的音频均衡器算法的响应。外部模式允许数据从目标更新到频谱分析仪GUI。

总结

这个例子展示了如何使用STM32发现板可用的音频块,利用ARM Cortex-M CMSIS DSP函数的代码替换库(CRL)生成代码。在音频算法上执行Monitor和Tune演示了如何调优参数和观看在目标上运行的实时数据。