0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MATLAB课程之第五章v3 文件操作(1)

通信工程师专辑 来源:未知 2023-12-07 10:45 次阅读

本章知识点非常实用,所以内容较多,这也是从理论走向实践的必经之路。离开了数据,你怎么进行实践操作?在计算机中,数据的形式就是文件!

五个部分!每个部分都涉及一种常用的文件!先来看常用的音频文件!大家都爱听音乐的吧!现在的耳机已经都是无线耳机了,我们早年用的是有线耳机,这一切的变化都要归功于通信技术芯片技术的发展啊!我们电子专业、通信专业的学生学的就是这个方面的技术!自豪吧?当然了!学好了就在这个领域好好发展,贡献力量吧!当然前提是学好技术先能养活自己。数字世界的未来需要大家的参与!未来肯定是年青人来创造!

音频文件也有多种格式!

目前,WAV格式比较常用!

什么是采样率和量化位数?这些知识都和数字信号处理有关联!大家在大三就要学这门课了!大学课程中的难度天花板!

注意:函数名称发生了变化!

注意:因为 MATLAB 版本的更新问题,在2020a及以后版本中,原函数wavread( ) 要换成函数 audioread( ) 。

两函数的调用格式存在差别,可以在 MATLAB 命令窗口输入 help audioread ,可以了解区别。学会使用help是掌握MATLAB的必由路径。

如果在文件里面加入噪声,那么听起来会有什么变化呢?噪声怎么加?randn函数就可模拟噪声!awgn函数也能完成加入噪声的功能。那么如何能够倍数播放音乐呢?

为什么讲音频文件?

音频信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过声音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,声音也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。

语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于频域来说,大概有8种波形可以让我们分析:矩形方波,锯齿波,梯形波,临界阻尼指数脉冲波形,三角波,余旋波,余旋平方波,高斯波。对于各种波形,我们可以用傅立叶变换进行分析,就是将时域的波形转化到频域结果。

语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。

在上世纪60年代,计算机的广泛应用推动了语音识别技术的发展,出现了多种语音信号分析方法,提出了动态规划(DP)和线性预测分析(LP)技术。其中后者较好地解决了语音信号产生模型的问题,对语音识别的发展产生了深远影响。70年代,语音识别理论取得了突破。LP技术得到进一步发展,动态时间归正技术(DTW)基本成熟,特别是提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。在实践上,实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。80年代,HMM模型和人工神经元网络(ANN)成功应用于实践,并于1988年由CMU研制出了非特定人、大词汇量、连续语音识别系统。它可以理解由1000个单词构成的4200个句子,被认为是语音识别历史上的一个里程碑。HMM模型的广泛应用应归功于AT&T Bell实验室Rabiner等科学家的努力,他们把原本晦涩难懂的HMM纯数学模型工程化,从而为更多研究者了解和认识。ANN和HMM模型建立的语音识别系统,性能相当。进入90年代,随着多媒体时代的来临,迫切要求语音识别系统从实验室走向实用。现在,人工智能语音系统已经进入了社会的方方面面!

建议大家做一下这样的测试!

对音频信号进行采集,然后使用MATLAB中的wavread函数对音频文件进行信号读取,并使用sound函数对信号进行播放,重点用于和对其添加噪声后的新信号进行对比。如何添加噪声?对音频文件读取出的信号进行加噪声处理。使用MATLAB中的相关命令。比如wgn、awgn。wgn用于产生高斯白噪声,awgn则用于在某一信号中加入高斯白噪声,也可直接用randn函数产生高斯分布序列。

扩展知识面!

在MATLAB中,有哪些音频处理方法呢?

  • 音频分析

在对音频信号进行处理之前,需要先对音频信号进行分析。音频分析的目的是了解音频信号的性质,如幅频特性(即信号在不同频段上信号的强度变化)和谱密度等。常用的音频分析方法有:

(1)时域分析:使用时域分析方法可以获得信号的波形特性,如声音的语调和节奏等。这种方法通常直接分析音频信号的时间属性,例如音频信号的波形、功率、能量以及峰值等。

(2)频域分析:使用频域分析方法可以获得音频信号的频域特性,如频率成分、谱密度和频率响应等,这些都有助于了解音频信号的特征。

  • 音频信号滤波

音频信号滤波是指使用滤波器对音频信号进行处理,以去除噪音、增强信号、调整频率响应等。

主要有以下几种滤波方式:

(1)低通滤波器:通常是用于去除高频噪声,保留低频信号,也可以被用来过滤高频随机振动,并平滑低频的形状。

(2)高通滤波器:通常是用于去除低频噪声,保留高频信号,也可以用来过滤低频随机振动,而保留高频的形状。

(3)带通滤波器:用于去除不良频段信号,并提取出希望得到的通带内的信号。

(4)带阻滤波器:也称为不仅通滤波器,用于去除在不希望得到的通带内信号,并弱化不良频段的信号。

  • 音乐合成

音乐合成可以通过各种方式来实现,在MATLAB中主要使用合成器、算法来进行音乐合成。

(1)音色合成:可以使用不同类型的信号(例如正弦信号、方波、sinc函数等),然后用它来重构所需的声音,并混合必要的频谱(频率成)分)。

(2)波场合成:将多个声波波形混合成单个波开形,通过加性混合器可以将多个声波波形添加在一起,形成单个混合的波形。

  • 音频信号压缩

音频信号压缩是音频处理过程中必不可少的过程之一,它可以减小音频文件的大小,并增加存储空间的利用率。在MATLAB中,音频信号压缩可以通过以下几种方式来实现:

(1)动态范围压缩(Dynamic Range CompressionDRC):用于减小音频信号的动态范围,提高信号的平均功率,并使音频信号更具吸引力和响亮。

(2)均衡器(Equalizer,EQ):用于增强或减弱音频信号的各个频率段。这通常是通过使用滤波器来实现的。

(3)无损压缩:无损压缩可以保留音频信号的所有信息,以最小化文件存储空间。

  • 音频降噪

音频降噪是一种通过降低噪音水平来提高听音体验的技术。常见的音频降噪技术有基于时间的降噪与基于频率的降噪两种。在MATLAB中,可以使用以下工具箱和方法来实现音频降噪。

(1)自适应降噪器(Adaptive Noise CancellingANC):自适应降噪器通过对录制的音频数据进行过滤,消除来自环境噪音和杂音的干扰信号。

(2)波形补偿技术(Waveform Synthesis):波形补偿技术利用反馈控制方式,将零输出与期望输出进行比较,校准信号输出,外部干扰可以自动补偿或者消除。

(3)经验模态分解(EMD)、小波降噪技术(Wavelet Denoising)除噪:这两种方法可以用数学和数字信号处理来区分音频信号特征中的噪声和信号,然后消除噪声信号,降低杂音的影响。

这么多内容?是的,什时候才能开始写这方面的程序呢?等学了《信号与系统》、《数字信号处理》就可以开始尝试了!到时候,大家有兴趣,可以找我来指导!

回顾一下函数的内容!

这是一个系列视频既带着大家扩展思维,也带着大家深入学习函数!欢迎大家在视频下面留言评论!教学相长!思维引导的内容会让你大开眼界!这是第一天的讲解!

再来看看课堂上的讲解视频!

第二次课讲了音频采样信号结合滤波的过程,体现了知识的实用性!未完,待续!


修订记录

20230208 完成初稿;

20230829 修订内容v2;

20231206 修订内容v3;


原文标题:MATLAB课程之第五章v3 文件操作(1)

文章出处:【微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信网络
    +关注

    关注

    21

    文章

    2037

    浏览量

    52028

原文标题:MATLAB课程之第五章v3 文件操作(1)

文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    华为-射频基础知识培训

    课程目标z 熟悉和掌握射频基本概念和知识z 了解无线射频系统结构z 了解天馈系统的概念和知课程内容第一 无线通信的基本概念第二 射频常用计算单位简介第三
    发表于 12-10 13:39 0次下载

    《DNESP32S3使用指南-IDF版_V1.6》第五章 搭建开发环境

    第五章 搭建开发环境 在前面章节中,我们已经大致了解了ESP32-S3基础知识及ESP-IDF物联网开发框架的编译与链接原理,现在,我们将进入实际操作阶段,逐步搭建ESP-IDF的开发环境。本章分为
    发表于 12-02 14:28

    第5 MATLAB程序设计.ppt

    第5 MATLAB程序设计
    发表于 10-24 16:40 0次下载

    迅为电子RK3588S开发板第五章 Debian系统功能测试

    迅为电子RK3588S开发板第五章 Debian系统功能测试 迅为iTOP-3588S开发板采用瑞芯微RK3588S处理器,是全新一代AloT高端应用芯片,搭载八核64位CPU,四核
    的头像 发表于 10-15 15:59 1004次阅读
    迅为电子RK3588S开发板<b class='flag-5'>第五章</b> Debian系统功能测试

    浅析SDIO协议V2和V3版本的区别

    1. 支持的功能 V2 :支持的功能更为丰富,包括路由、NAT、DHCP、VPN、QoS、安全等功能。这些功能使得V2在网络配置和管理方面更为灵活和强大。 V3 :相比之下,
    发表于 09-18 08:32

    《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件

    第五章 编译CanMV固件 上一节中已经搭建好了基于CanMV的C开发环境,这么一来便可以进行基于C语言和FreeRTOS的应用开发或者编译基于MicroPython语法的应用开发方式所需
    发表于 09-07 10:56

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载
    的头像 发表于 09-03 16:26 782次阅读
    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》<b class='flag-5'>第五章</b> Ubuntu使用apt-get下载

    第五章-PWM控制电机 开源stm32循迹小车详细制作过程(附加完全版代码)

    ://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电
    的头像 发表于 08-21 16:49 647次阅读
    <b class='flag-5'>第五章</b>-PWM控制电机 开源stm32循迹小车详细制作过程(附加完全版代码)

    双麒麟系统!迅为RK3588开发板+银河麒麟/开放麒麟

    Build root系统功能测试 第四 Ubuntu系统功能测试 第五章 Debian系统功能测试 第六 openkylin系统功能测试 第七 银河麒麟系统功能测试
    发表于 07-15 10:35

    维信诺供货荣耀Magic V3折叠屏手机

    强大依旧,轻薄进阶。7月12日,荣耀举行Magic 旗舰新品发布会。维信诺供货荣耀Magic V3手机,助力全新旗舰折叠机更轻薄、更强大。
    的头像 发表于 07-12 18:07 1407次阅读

    如何通过Miniwiggler V3将labview程序闪存到微控制器?

    我正试图通过 Miniwiggler V3 将 labview 程序闪存到微控制器中,但我找不到任何说明如何操作的文档。 我是新手,有没有什么方法可以直接闪存程序?
    发表于 07-04 06:00

    TSER953 4.16Gbps V3链接串行器数据表

    电子发烧友网站提供《TSER953 4.16Gbps V3链接串行器数据表.pdf》资料免费下载
    发表于 07-02 09:25 9次下载
    TSER953 4.16Gbps <b class='flag-5'>V3</b>链接串行器数据表

    Arm新Arm Neoverse计算子系统(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Neoverse计算子系统(CSS)包括Arm Neoverse CSS V3和Arm Neoverse CSS N3。 Arm推出Neoverse CSS N3V3 Arm Ne
    的头像 发表于 04-24 17:53 1063次阅读
    Arm新Arm Neoverse计算子系统(CSS):Arm Neoverse CSS <b class='flag-5'>V3</b>和Arm Neoverse CSS N<b class='flag-5'>3</b>

    Arm发布Neoverse V3和N3 CPU内核

    在计算市场持续迎来变革的背景下,Arm公司发布了其最新一代Neoverse CPU内核设计,分别为Neoverse V3(代号Poseidon)和N3(代号Hermes),两款内核将为服务器、云计算和基础设施领域带来更大规模和更快速度的计算能力。
    的头像 发表于 02-27 09:27 970次阅读
    Arm发布Neoverse <b class='flag-5'>V3</b>和N<b class='flag-5'>3</b> CPU内核

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash程序员<b class='flag-5'>V3</b> 发布说明