我是靠谱客的博主 踏实早晨,最近开发中收集的这篇文章主要介绍基于线性回归和TivaTM4C123GH6PM 微控制器的简易噪声计的设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这是嵌入式老师布置的一个作业,这个是实验报告,本来属于硬件,但因为用到了回归算法和梯度下降算法,也小小算是机器学习的一份子了,所以也发出来,纪念一下,毕竟辛苦了至少两天

一、实验目的

通过实验进一步熟悉TivaTM4C123GH6PM微控制器的ADC模块。学习如何利用ADC模块采集外部电压,并通过串口输出,熟悉TivaTM4C123GH6PM 微控制器的ADC模块的采集、输入、输出机制。利用回归算法,通过对采集到的数据的拟合,实现通过putty显示外界噪声的设计要求,提高自己处理和分析数据的能力。

二、实验内容

1、TivaTM4C123GH6PM 微控制器的ADC模块

2、噪声计的基本原理

3、声音采集模块

4、数据采集和处理阶段

5、简易噪声计性能测试与分析讨论

三、实验原理

1、TivaTM4C123GH6PM 微控制器的ADC模块

TM4C123FH6PM ADC 模块的转换分辨率为 12 位,并提供 12 个输入通道和一个内部温度传感器。每个 ADC 模块都包含 4 个可编程的序列发生器,无需控制器干预即可自动完成对多个模拟输入源的采样。每个采样序列发生器都可灵活配置其输入源、触发事件、中断的产生、序列发生器的优先级等内容。此外,还可选择将转换结果转移给数字比较器模块。每个 ADC 模块提供 8 个 数字比较器。每个数字比较器模块内置16 路数字比较器,每路数字比较器均可将 ADC 转换结果数值与2 个由用户定义的门限值进行比较,以确定信号的工作范围。ADC0 和 ADC1 可各自采用不同的触发源,也可采用相同的触发源;可各自采用不同的模拟输入端,也可采用同一模拟输入端。ADC模块内部还具有移相器,可将采样开始时间(采样点)延后指定的相角。因此当两个ADC模块同时工作时,其采样点既可以配置为同相工作,也可以配置为相互错开一定的相角

2、噪声计的基本原理

噪声计(噪音计、声级计)是噪声测量中最基本的仪器。一般由电容式传声器、前置放大器、衰减器、放大器、频率计网络以及有效值指示表头等组成。在实际测量中由传声器将声音转换成电信号,再由前置放大器变换阻抗,使传声器与衰减器匹配。放大器将输出信号加到网络,对信号进行频率计权(或外接滤波器),然后再经衰减器及放大器将信号放大到一定的幅值,送到有效值检波器。最终在液晶显示器上显示噪声的分贝值。

3、声音采集模块

该模块采用专业麦克风放大IC,用来采集声音信号。使用电压为3-5V,放大倍数为20dB,默认输出为模拟信号。

4、数据处理阶段

数据采集过程在513实验室完成。采集数据包括两组,一组为putty上显示的 TivaTM4C123GH6PM 微控制器的ADC模块所读取的声音采集模块的电压。另一组为与之对应的标准噪声计的读书。考虑到标准噪声计读数中存在的复杂的变换过程(包括各种放大、衰减、加权),我们通过基于梯度下降(Gradient Descent)算法的线性回归(Linear Regression)方法拟合出标准噪声计读数与我们的简易噪声计测量结果之间的关系,从而同时保证简易性和精度。根据先验知识。log(声强级)和噪声级(dB)存在线性相关关系。所以这里我们对ADC模块采集到的数据先进性log变换,再进一步进行线性回归。

四、实验器材

TivaTM4C123GH6PM 微控制器

标准噪声计(TES1350A)

声音采集模块

导线和焊接工具

Matlab

五、实验步骤和实验结果

1、编写ADC单端单输入程序,设置PE3为输入端口。

2、连接电路。采用开发板上的3.3为声音采集模块提供电压。

3、采集数据:在不同外部声音强度下,同时记录标准噪声计读书和putty上显示的ADC模块的数值。


4、数据处理:在matalb环境下先对ptuuy数据进行进行变换,求出x=log((putty)^2)。再通过线性回归,对这22个数据进行拟合。拟合结果如下:输出=64x-360.3

5、程序调整:根据数据处理结果对ADC的程序进行调整。

6、结果验证:重新测量我们设计的简易噪声计和标准噪声计读数,发现误差在可接受范围之内。

六、结果分析与结论

本次实验过程中出现了以下问题:

1、  实验读数过程中标准噪声计的读数和简易噪声计读数变化不同步

分析:造成这一原因是由于我们的麦克风模块灵敏度较低和麦克风模块的额定电压为5v而开发板提供的电压只有3.3v造成的。属于硬件问题。

解决办法:我们调低了程序中ADC读数的更新时间,同时我们在测试过程中采用持续噪声。保证了标准噪声计有一个持续稳定的读数简易噪声计有一个能读出合理数据的时间。

    2、由于麦克风模块的性能问题,以及我们所采用的线性回归算法可能存在的过拟合问题,简易噪声计存在一定的读数误差。这一问题暂时没想到好的解决办法,但庆幸的是误差在可接受范围内。


附上两张效果图:


最后

以上就是踏实早晨为你收集整理的基于线性回归和TivaTM4C123GH6PM 微控制器的简易噪声计的设计的全部内容,希望文章能够帮你解决基于线性回归和TivaTM4C123GH6PM 微控制器的简易噪声计的设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部