主要内容

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

此示例显示如何在ARM基于STMicroelectronics®STM32发现板上模拟三个带参数均衡器算法并在ARM®CortexM的STMicroelectronics®STM32发现板上运行。

需要MathWorks产品:下载188bet金宝搏

  • MATLAB

  • 信号处理工具箱

  • DSP系统工具箱

  • 金宝app

  • Matlab编码器

  • 金宝app仿真软件编码器

  • 嵌入式编码器

  • 用于STMicroelectr金宝apponics发现板的嵌入式编码器支持包

所需的硬件

  • STMicroelectronics STM32F4-Discovery或STM32F746G-Discovery Board

  • 耳机

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

介绍

的扩展DSP参量均衡器来自DSP系统工具箱的示例,您可以用于模拟主机上的音频算法的行为。也参考ARM Cortex-M处理器的参数音频均衡器说明如何利用用于DSP功能的ARM Cortex-M代码替换库(CRL)。

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

  • 设置ARM Cortex-M CMSIS Code Replacement Library (CRL)

  • 使用STM32F4-Discovery或STM32F746G-Discovery音频外围设备,并基于音频DMA中断调度算法。

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

这个示例的可用版本:

先决条件

我们建议完成:

设置ARM Cortex-M CMSIS Code Replacement Library (CRL)

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

你可以参考金宝app支持ARM Cortex-M处理器的CMSIS功能用于支持ARM Cortex-M的DSI块的CMSIS条件金宝app的帮助页面ARM Cortex-M处理器金宝app的嵌入式编码器支持包文档以获取更多信息。

打开造型选项卡,然后按Ctrl + E要打开配置参数对话框。去代码生成>界面并选择代码替换库>ARM Cortex-M(CMSIS)STM32发现的参数音频均衡器模型:

使用STM32F4-Discovery音频外设并根据音频DMA中断安排算法。

stm32f4发现的参数音频均衡器示例模型,在STM32F4-Discovery板上可用的麦克风的音频数据执行音频均衡。该模型使用“麦克风”块STM32F4-Discovery Library从麦克风中获取数据。这个块输出一帧16位音频样本。

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

按照以下步骤配置stm32f4发现的参数音频均衡器模型:

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

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

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

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

一个。打开造型选项卡,然后按Ctrl + E要打开配置参数对话框。

硬件实现>操作系统/调度程序并选择基率触发器>“麦克风”块DMA中断..

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

注:您也可以选择“音频输出”阻塞DMA中断作为基率触发器在步骤4中,在这种情况下,应以基本速率调度“音频输出”块。这将防止在模型中使用更快的速率。

使用STM32F746G-Discovery音频外设

用于STM32F746G-Discovery的参数音频均衡器示例模型,在来自STM32F746G-Discovery板上可用的双麦克风的单声道音频数据上执行音频均衡。该模型使用“音频”块STM32F746G-Discovery Library从麦克风中获取数据。该块输出2 * 16位音频样本的帧。因此,在模型中使用子替换块来提取单个通道,并且在输出阶段处,将相同的信道复制到另一个信道。

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

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

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

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

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

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

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

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

配置用于监控和调整的硬件和模型

在此任务中,您将对模型执行监视器和调谐操作。当您是原型设计和开发算法时,在模型在硬件上实时运行时,可以监控信号和调谐参数是有用的。监视器和曲调启用此功能。

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

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

参见任务4PIL和监控和调整的代码验证和验证示例配置型号,并设置STM32发现板与主机之间的正确连接。

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

1.在这一点硬件选项卡,单击控制面板

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

3.选择信号信号的选择对话框,并设置期间到'1'。

要启动Monitor和Tune仿真,请将模型仿真模式切换为Monitor和Tune,并按任务4中解释的Play按钮PIL和监控和调整的代码验证和验证的例子。

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

GUI生成的新系数将被发送到目标。在MATLAB命令窗口中,verbose模式消息“从目标获取EXT_SETPARAM_RESPONSE,状态为OK”将表明过滤器系数的成功更新。您可以使用频谱分析仪观察音频均衡器算法在目标上运行的响应。外部模式允许将数据从目标更新到Spectrum Analyzer GUI。

总结

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