【Matlab】音频信号分析及IIR滤波处理——巴特沃斯(Butterworth)

news/2024/6/17 16:54:10 标签: matlab, 信号处理

一、前言

1.1 课题内容:

  1. 利用麦克风采集语音信号(人的声音、或乐器声乐),人为加上环境噪声(窄带)
  2. 分析上述声音信号的频谱,比较两种情况下的差异
  3. 根据信号的频谱分布,选取合适的滤波器指标(频率指标、衰减指标),设计对应的 IIR 滤波器
  4. 实现数字滤波,将滤波前、后的声音播放,由听觉主观判别滤波效果。并选择、计算合适的客观参数(如:信噪比)评价滤波效果
  5. 优化参数,取得更好的滤波效果

1.2 课题要求:

  1. 滤波部分要详细讨论各种参数对结果的影响,并对结果数据进行分析、比较与总结
  2. 分析、讨论至少两种不同滤波方案的优劣
  3. 采用 Matlab 语言编程

1.3 应用价值:

  • 20世纪60年代中期形成的一系列数字信号处理方法和算法,如数字滤波器,快速傅里叶变换(FFT)是语音数字信号处理的理论和技术基础。而70年代初期产生的线性预测编码(LPC)算法,为语音信号的数字处理提供了一个强有力的工具。语音信号的编码和压缩是语音信号处理的主要内容。语音信号处理在通信、语音识别与合成、自然语言理解、多媒体数据库以及互联网等多个领域有广泛的应用,同时它对于理解音频类等一般的声音媒体的特点也有很大的帮助。对于移动通信来说,最多的信息是语音信号,语音编码的技术在数字移动通信中具有相当关键的作用,高质量低速率的语音编码技术是数字移动网的永远的追求。所谓语音编码是信源编码,它是将模拟语音信号变成数字信号以便在信道中传输。除了通信带宽的要求外,计算机存储容量的限制也要求对语音信号进行压缩,以满足海量数据情况下进行实时或准实时计算机处理的目的。

二、文献综述

  • 数字滤波器有很多种,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种:有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。
  • IIR滤波器和FIR滤波器的设计方法不同,IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将按某种方法转换成数字滤波器的系统函数。在设计IIR滤波器时可以借助成熟的模拟滤波器的成果,如巴特沃斯、切比雪夫和椭圆滤波器等,根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
  • IIR滤波器设计方法有巴特沃斯滤波器、切比雪夫滤波器Ⅰ/Ⅱ型、椭圆、贝塞尔滤波器等。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。巴特沃斯滤波器的频率特性曲线,无论在通带内还是阻带内都是频率的单调函数。因此,当通带的边界处满足指标要求时,通带内肯定会有裕量。所以,更有效的设计方法应该是将精确度均匀的分布在整个通带或阻带内,或者同时分布在两者之内。这样就可用较低阶数的系统满足要求。巴特沃斯滤波器通带内的幅频响应曲线能得到最大限度的平滑,但牺牲了截止频率的坡度。切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器,振幅特性在通带内是等波纹。在阻带内是单调的称为切比雪夫I型滤波器;振幅特性在通带内是单调的,在阻带内是等波纹的称为切比雪夫II型滤波器。采用何种形式的切比雪夫滤波器取决于实际用途。切比雪夫I型滤波器通带内等波纹,阻带内单调;切比雪夫Ⅱ型滤波器通带内单调,然而阻带内等波纹。椭圆滤波器阻带和通带内都是等波纹的,但下降的坡度更大,而且可以以更低的阶数实现和其他两类滤波器一样的性能指标。

三、算法分析

  • IIR滤波器与FIR滤波器相比,具有相位特性差的缺点,但它的的结构简单、运算量小,具有经济、高效的特点,并且可以用较少的阶数获得很高的选择性。因此也得到了广泛应用。IIR滤波器具有无限长度的单位脉冲响应,在结果上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关。巴特沃斯滤波器相较于切比雪夫滤波器、椭圆、贝塞尔等经典滤波器,在同等阶数条件下有通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零的特点。
  • 目前IIR数字滤波器设计的最通用方法是借助于模拟滤波器的设计方法。模拟滤波器已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已经有的资源会给数字滤

http://www.niftyadmin.cn/n/5357691.html

相关文章

实用Python定时点击Chrome网页按钮

# conda create -n python39 python3.9# 导入 selenium 和 time 库 from webdriver_manager.chrome import ChromeDriverManager # python -m pip install webdriver-manager # service ChromeService(executable_pathChromeDriverManager().install()) # driver webdriver.C…

【开源学习】TB-gateway -- 基本配置与使用

【开源学习】TB-gateway -- 基本配置与使用 tb-gateway 安装部署centOS 7 安装(不推荐)Docker 安装(推荐) tb-gateway 通用配置文件连接配置模块 thingsboard存储配置模块 storage远程调用配置模块 grpc连接器配置模块 connectors…

[word] word中每个段落的段落标记在哪里 #媒体#其他#学习方法

word中每个段落的段落标记在哪里 在Word文档中,每个段落都有自己的段落标记,段落标记的位置在段落的结尾处。 下面我们来看一下Word中段落标记的位置: 1、首先我们打开需要编辑的Word文档。然后我们点击打开段落右上角的显示/隐藏编辑标记…

rust学习基于tokio_actor聊天服务器实战(一 )

前言 tokio是Rust中使用最广泛的异步Runtime,它性能高、功能丰富、便于使用,是使用Rust实现高并发不可不学的一个框架 Actor 背后的基本思想是产生一个独立的任务,该任务独立于程序的其他部分执行某些工作。 通常,这些参与者通过使…

通过手写简易版RPC理解RPC原理

RPC是什么 所谓的RPC其实是为了不同主机的两个进程间通信而产生的,通常不同的主机之间的进程通信,程序编写需要考虑到网络通信的功能,这样程序的编写将会变得复杂。RPC就来解决这一问题的,一台主机上的进程对另外一台主机的进程发…

ssh: connect to host github.com port 443: Connection timed out 解决方法

前言 我是本地配置了vpn,是全局代理。 解决步骤: 1.配置git代理 如下图:参数是主机ip 端口号。那么如何得来的呢?是这里: git config --global http.proxy 127.0.0.1:10809git config --global https.proxy 127…

BUUCTF-Real-[PHP]XXE

目录 1、原理 2、XXE漏洞产生的原因 3、开始复现 paylaod 复现 4、flag 1、原理 XML数据在传输过程中,攻击者强制XML解析器去访问攻击者指定的资源内容(本地/远程),外部实体声明关键字SYSTEM会令XML解析器读取数据&#xf…

C语言——动态内存管理(经典例题)

题1、 为什么会崩溃呢&#xff1f;&#x1f914;&#x1f914;&#x1f914; #include <stdio.h> #include <stdlib.h> #include <string.h>void GetMemory(char** p) {*p (char*)malloc(100); } void Test(void) {char* str NULL;GetMemory(&str);str…