在学习了IIR滤波器的设计后,可以试图对一个混频信号进行滤波处理,下面附上我的实验报告。

一、实验目的

设计合适的IIR数字滤波器分别提取给定的混音文件中蛐蛐叫声和直升飞机的轰鸣声。独立编写实现上述功能的MATLAB程序,并生成提取后的音频文件。熟悉MATLAB变成,以及数字信号处理相关的MATLAB函数和命令。

二、实验内容

(1)首先在电脑上安装matlab2014及其相应组件,并将数字信号处理实验指导书上的代码示例进行练习,熟悉matlab的编程。

(2)借助audioread函数获取该音频文件的音频信号

(3)然后通过matlab画出混音信号在时域下的幅度曲线、在频域下的声图谱,观察其频率分布,可以看出飞机的轰鸣声位于0-2000Hz的范围内,三声蝉鸣则位于4000-5500Hz的范围内,在清楚了所要滤波的范围之后,即可开始设计IIR滤波器。

(4)低通滤波器:这里取通带频率为2500hz,阻带频率为4000hz,通带最大衰减为0.1dB,阻带最小衰减为60dB。我选择的是用已有的buttord计算出最符合条件的巴特沃思滤波器的阶数n和截止频率,再用butter计算n阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。求出之后使用filter函数进行滤波。

带通滤波器:通带频率为[4000,6000]hz,阻带频率为[3500,6500]hz, 通带最大衰减为0.1dB,阻带最小衰减为60dB。我选择的是用已有的buttord计算出最符合条件的巴特沃思滤波器的阶数n和截止频率,再用butter计算n阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。求出之后使用filter函数进行滤波。

(5)最后再将滤波后的音频通过函数audiowrite重新生成音频文件,就分别得到了蝉鸣和飞机轰鸣声两个文件。

三、实验步骤

(1)通过audioread函数获取该音频文件的音频信号

(2)通过plot()spectrogram()函数画出混音信号在时域下的幅度曲线、在频域下的声图谱

(3)通过cheb1ord()和 butter()函数设计IIR低通滤波器和带通滤波器

(4)通过filter()函数进行滤波,并画出滤波后的频域特征和时域特征

(5)通过audiowrite()函数重制滤波后的音频文件

四、实验程序

%混音信号绘图程序

[sampledata,FS] = audioread('C:\Users\Administrator\Desktop\mixed.wav');

plot(0:(1/FS):4.5873,sampledata);

spectrogram(sampledata,128,120,128,FS);

%低通滤波器程序

[sampledata,FS] = audioread('C:\Users\Administrator\Desktop\mixed.wav');

wp=2500;

ws=4000;

rp=0.1;

rs=60;

wpp=wp/(FS/2);

wss=ws/(FS/2);

[N,Wn]=cheb1ord(wpp,wss,rp,rs,'s');

[B,A]=butter(N,Wn);

y=filter(B,A,sampledata);

spectrogram(y,128,120,128,FS);

audiowrite('plane.wav',y,FS);

%带通滤波器程序

[sampledata,FS] = audioread('C:\Users\Administrator\Desktop\mixed.wav');

wp=[4000,6000];

ws=[3500,6500];

rp=0.1;

rs=60;

wpp=wp/(FS/2);

wss=ws/(FS/2);

[N,Wn]=cheb1ord(wpp,wss,rp,rs,'s');

[B,A]=butter(N,Wn);

y=filter(B,A,sampledata);

spectrogram(y,128,120,128,FS);

audiowrite('insects.wav',y,FS);

五、实验结果

(一)混音信号在时域下的幅度曲线

(二)在频域下的声图谱

(三)低通滤波器输出信号的频域特征和时域特征曲线

(四)带通滤波器输出信号的频域特征和时域特征曲线

(五)通过滤波器得到的音频文件

六、实验心得

按照老师说的我又通过高通滤波器对蝉鸣进行滤波,发现也可以的,十分有成就感,更加加深了我对数字信号处理的热爱和理解。以前完全不了解音频信号,通过这次实验我看到了音频信号的本质,处理方法等等,对我来讲可谓是受益匪浅啊。

以往都是通过课本来感性的认知语音信号,通过本次的课程设计,让我对语音信号有了一个较为实际的认识。于此同时,让我再次把数字信号处理及数字滤波器的设计方法重新进行了复习和学习。而对于Matlab,也再次让我感受到了其功能的强大。最为重要的是,本次课程设计让我重新审视了学习的过程:只去做实验是不行的,首先还是要思考,遇到了问题查书籍,百度搜索也只是一种手段,更加重要的是想,再理解,只有这样才能真正的做好实验。

数字信号处理综合实验 ——提取混音音频相关推荐

  1. 数字信号处理综合实验——Matlab实现DTMF信号的产生与提取

    数字信号处理综合实验: 一.实验内容及要求 实验内容: 综合运用课程所学相关知识,根据实际信号的频谱特性,确定数字滤波器设计技术指标,设计相应的数字滤波器,实现DTMF信号的提取. 设计要求: (1) ...

  2. 实验一熟悉matlab环境,数字信号处理报告实验一:熟悉MATLAB环境.doc

    数字信号处理报告实验一:熟悉MATLAB环境.doc 实验一熟悉MATLAB环境一 实验目的1. 熟悉MATLAB的主要操作命令.2. 学会简单的矩阵输入和数据读写.3. 掌握简单的绘图命令.4. 用 ...

  3. 数字信号处理matlab实验报告,数字信号处理,matlab实验报告

    数字信号处理,matlab实验报告 Matlab实验报告 实验一: 1. 实验Matlab代码: N=25; Q=0.9+0.3*j; WN=exp(-2*j*pi/N); x=zeros(25,1) ...

  4. 基于matlab的心电信号处理毕业论文,浅议仿真基于MATLAB的“数字信号处理”仿真实验毕业论文范文...

    论文导读:),通过扬声器可以听到"重庆邮电大学,重庆邮电大学"声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下: figure: t=(0:length(x)-1)/Fs ...

  5. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  6. 数字信号处理上机实验一 离散时间信号的时域分析

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  7. 数字信号处理课程实验

    问题重述 DSP课程实验 计算机模拟产生多频率信号: 编写通用的FFT子程序 设置参数,对信号进行频谱分析 对信号分别以满足和不满足奈奎斯特采样定理的采样率进行采样,观察其频谱变化 设计低通.高通.带 ...

  8. 数字信号处理奥本海姆pdf_奥本音频处理器9300

    点击箭头处"蓝色字",关注我们哦!! 奥本音频处理器9300 9300是Orban 中波音频处理器系列的尽善尽美的一款产品,功能强大,便于用户使用.Orban 9300 全数字中波 ...

  9. matlab数字音频处理实验报告,数字信号处理MATLAB实验1

    wavread 实验一熟悉MATLAB环境 一.实验目的 (1)熟悉MATLAB的主要操作命令. (2)学会简单的矩阵输入和数据读写. (3)掌握简单的绘图命令. (4)用MATLAB编程并学会创建函 ...

最新文章

  1. Mybatis 3.5.X 解析LocalDateTime 错误问题
  2. 她是数学奇女子,巴贝奇的好友,却没能等到计算机的辉煌时刻
  3. 聊聊那些令人惋惜的车模
  4. 会员日亚马逊工人罢工:反抗“与机器比速度”的考核制!
  5. Java的知识点24——多线程技术理论——程序、进程、线程
  6. php fastcgi,配置apache以fastcgi运行php
  7. LoaderManager使用详解(二)---了解LoaderManager
  8. 七边形简单画法步骤图_眼线笔的画法步骤图
  9. 最小树形图+朱刘算法
  10. snapchat注册不到_从Snapchat获得开发人员职位中学到的经验教训
  11. python多进程写入mysql_Python实现 多进程导入CSV数据到 MySQL
  12. 华为acl怎么生效_华为ACL配置教程(一)
  13. AOSP6.0.1 launcher3入门篇-解析DeviceProject.java及相关文件
  14. [HAOI2007]反素数
  15. 【报告分享】2020中国直播行业风云洞察.pdf
  16. 修改navigationbar右侧按钮离屏幕边缘位置
  17. 「leetcode」37. 解数独【回溯算法】详细图解!
  18. 最新楚琳web打印控件下载 - 2019适配所有浏览器
  19. 从微信服务通知进入小程序显示环境加载失败,请稍后再试
  20. 15分钟的html倒计时,js实现5分钟倒计时

热门文章

  1. code::blocks下载与安装
  2. android开发获取权限,Android开发程序代码获取root权限
  3. tar 分卷压缩与解压缩
  4. 商标中R标和TM标的区别
  5. 卡内基梅隆大学(CMU)的Eric Xing(邢波)教授为什么能读完一般学校的分子生物学PhD后到伯克利去CS PhD?
  6. mysql 怎么表示正无穷_C语言中正无穷大怎么表示
  7. [CCD] CCD感光模块的尺寸是怎么算的?
  8. 三国杀online网页版服务器更新,2019年《三国杀Online》更迭汇总,一切为了“fun”...
  9. Oculus Spatializer Plugin (OSP)
  10. python-三角函数