首页/文章/ 详情

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

1年前浏览4791

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

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

五个部分!

每个部分都涉及一种常用的文件!

先来看常用的音频文件!

大家都爱听音乐的吧!现在的耳机已经都是无线耳机了,我们早年都是用有线耳机,这一切的变化都要归功于通信技术和芯片技术的发展啊!我们电子专业、通信专业的学生学的就是这个技术!自豪吧?当然了!学好了就在这个领域好好发展,贡献力量吧!数字世界的未来需要大家的参与!

音频文件也有多种格式!

目前,WAV格式比较常用!

什么是采样率?

这些知识都和数字信号处理有关联!

大家在大三就要学这门课了!

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

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

如果在文件里面加入噪声,那么听起来会有什么变化呢?噪声怎么加?randn函数就可模拟噪声!

为什么讲音频文件?

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

语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于频域来说,大概有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 完成初稿;

20230826 修订内容v2;

来源:通信工程师专辑
振动电子MATLAB芯片通信声学理论控制人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-28
最近编辑:1年前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 398粉丝 2605文章 362课程 40
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈