基于MATLAB对语音信号的处理_XDU

基于MATLAB对语音信号的处理

本文是本专业(工程信号与系统)作业的汇总. 写在自己的账号里或许能帮到别人, 也为了自己以后复习的时候用.

文章所有内容均为原创, 参考了一些博主的博客(文中有贴出), 不能保证正确, 仅为参考.

具体要求

自己录制一段语音或音乐信号,进行傅里叶变换,用通频带小于信号带宽的带通滤波器去除高频和低频,然后将滤波后的信号进行时域恢复,比较与原声在时域上有何差别。

回答六个问题:

  1. 使用的信号处理软件是 ?
  2. 语音信号的时域波形(截屏贴图)?
  3. 语音信号的频谱(截屏贴图),并说明语音信号的频带范围是多少 ?
  4. 带通滤波器的通频带(频谱)(截屏贴图),并说明通频带是多少 ?
  5. 输出信号的频谱(截屏贴图),并说明输出信号的频带范围是多少 ?
  6. 输出信号的时域波形(截屏贴图),并说明和最初的时域波形相比有什么变化,为什么 ?

My Answer

因为我信号与系统的课基本都是自己跟着mooc学的, 所以在布置上机作业的时候有点懵, 全程都是翻阅网上相关资料. 现将我的思路汇总一下.

应该用什么软件

这个问题我问了ChatGPT, 它是这样说的.

Q:
如果我想自己录制一段语音或音乐信号,进行傅里叶变换,用通频带小于信号带宽的带通滤波器去除高频和低频,然后将滤波后的信号进行时域恢复,比较与原声在时域上有何差别。应该用哪个信号处理软件?
A:

您可以使用许多不同的信号处理软件来完成这个任务,其中一些是免费的,而其他一些则需要购买许可证。 以下是一些常用的信号处理软件:
MATLAB:MATLAB是一种广泛使用的数学软件,它具有强大的信号处理功能,包括傅里叶变换、滤波器设计和时域重建等。MATLAB还有许多开源的信号处理工具箱,可以方便地完成各种信号处理任务。
GNU Octave:GNU
Octave是一个免费的、开源的MATLAB兼容软件,它也具有强大的信号处理功能,包括傅里叶变换、滤波器设计和时域重建等。
Python:Python是一种流行的编程语言,具有广泛的信号处理库,如NumPy、SciPy和matplotlib。这些库提供了许多信号处理功能,包括傅里叶变换、滤波器设计和时域重建等。
Audacity:Audacity是一种免费的、开源的音频编辑软件,具有许多信号处理功能,包括傅里叶变换、滤波器设计和时域重建等。Audacity还具有用户友好的界面和易于使用的工具,可以方便地完成许多不同的音频处理任务。
无论您选择哪种软件,都应该具备实现您所需的信号处理功能所必需的工具和库。同时,您还需要了解信号处理的基础知识和技能,才能有效地完成这个任务。

因为只对MATLAB有基础, 所以我选择MATLAB来解决这个问题.

通过查CSDN和MATLAB官方文档,我差不多搞清楚了具体是用什么函数和函数的具体用法. 我用到了以下有关于本题的函数, 具体的用法还需要大家去自行查阅.

  • audioread //读取本机的音频文件, **但不一定是wav文件, 我使用的是flac后缀文件
  • soundsc //播放音频的函数
  • fft //快速傅里叶变换
  • 工具箱命令: fdatool //用来生成滤波器的, 好像是很新手的方法, 大佬都是自己写(?

什么是带通滤波器, 带通滤波器通频带是什么?

简单来说, 带通滤波器是让信号的某个频率区间的信号分量通过, 而其他频率的信号就被过滤了. 所以对带通滤波器来说就有一个能通过的最大频率 f H f_H fH 和能通过的最小频率 f L f_L fL . 事实上我们观察带通滤波器的函数, 在 f H

  • 39
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值