主要内容

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

这个例子展示了如何建模一个三频带参数均衡器算法,并在基于ARM®Cortex M的STMicroelectronics®STM32发现板上运行它。

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

  • MATLAB

  • 信号处理工具箱

  • DSP系统工具箱

  • 金宝app

  • MATLAB编码器

  • 金宝app仿真软件编码器

  • 嵌入式编码器

  • 意法半导体发现板的嵌入式编码器金宝app支持包

所需的硬件

  • STMicroelectronics STM32F4-Discovery或STM32F746G-Discovery板

  • 耳机

  • 如果使用STM32F4-Discovery,则使用USB TTL-232适配器进行监视和调优模拟

介绍

的扩展DSP参量均衡器示例,您可以使用它来模拟主机上音频算法的行为。也可以参考ARM Cortex-M处理器的参数化音频均衡器这个例子解释了如何利用ARM Cortex-M Code Replacement Library (CRL)来实现DSP函数。

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

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

  • 使用STM32F4 Discovery或STM32F746G Discovery音频外围设备,并根据音频DMA中断安排算法。

  • 在STM32 Discovery board上运行应用程序代码时,为模拟配置模型,以调整参数并查看实时数据。

这个示例的可用版本:

先决条件

我们建议完成:

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

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

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

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

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

stm32f4发现的参数音频均衡器示例模型中,音频均衡是对来自stm32f4发现板上可用的麦克风的音频数据执行的。这款手机使用了来自STM32F4-Discovery图书馆从麦克风中获取数据。这个块输出一帧16位音频样本。

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

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

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

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

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

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

A.打开建模按“CTRL+E”打开“Configuration Parameters”对话框。

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

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

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

使用STM32F746G-Discovery音频外设

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

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

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

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发现板与主机之间的正确连接。

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

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显示了如何调优参数并观察在目标上运行的实时数据。