基于matlab的音频信号低通滤波实验_低通滤波处理例题-程序员宅基地

技术标签: matlab  音频  低通滤波  

基于matlab的音频信号低通滤波实验

一、实验任务

  1. 录制语音信号,查看其时域频谱图。
  2. 加入高频噪声信号,并查看其时域频谱图。
  3. 设计低通滤波器,将带有高频噪声的语音信号经过低通滤波器,将噪声滤除,查看其输出时域频谱图。

二、仿真软件

matlab2013a

三、实验原理

  1. 语音信号:这次大作业录制的语音信号是WAV格式,通过audioread()函数读取了语音数字信号的采样频率和数据。数据是两列N行的矩阵,两列表示双通道立体声,我只取第一列进行处理。
  2. 高频噪声信号:
    模拟信号噪声:xn(t)=Acos(2πft),f为噪声频率,设定8kHz。
    语音信号的采样频率为fs,周期为T,则:
    以语音信号采样频率对模拟噪声采样得xn(nT)=Acos(2πfnT),xn(n)=Acos(2πfn/fs),得数字噪声信号矩阵(n取值范围是1到语音信号长度N)。噪声信号矩阵与语音信号矩阵相加得到加噪信号矩阵。
  3. 低通滤波器设计:
    这次采用IIR巴特沃斯低通滤波器。低通滤波器得技术指标为:通带边界频率fp=3000Hz,阻带边界频率Fs=4000Hz,通带最大衰减1db,阻带最小衰减60db。按照IIR设计出滤波器。因为人声在300Hz到3.4KHz,噪声得频率在8kHz,因此噪声信号被滤除,语音信号稍微缺失一点。
    四、实验代码


clear

clc

[audio,fs]=audioread('test.wav');%声音读取

audio = audio(:,1); %双通道变单通道

n=length(audio);

 

 

T = 1/fs;%采样间隔

t = (0:n-1)*T;%时间轴

f = (0:n-1)/n*fs;%频率轴

 

 %快速傅里叶变换

audio_fft=fft(audio,n)*T; 

 

%加噪声

tt =(1:n);

noise=0.02*cos(8000*2*pi/fs*tt');%加噪声

s=audio+noise;

s_fft=fft(s,n)*T; 

 

%设计IIR低通滤波器

rp = 1;

rs=60;

Ft=fs;

Fp=2000;

Fs=4000;                                        

 

wp=2*pi*Fp/Ft;

ws = 2*pi*Fs/Ft ;   %求出待设计的模拟滤波器的边界频率

 

[N,wn]=buttord(wp,ws,rp,rs,'s');    %低通滤波器的阶数和截止频率

[b,a]=butter(N,wn,'s');             %S域频率响应的参数即:滤波器的传输函数

[bz,az]=bilinear(b,a,0.5);          %利用双线性变换实现频率响应S域到Z域的变换

 

figure(2);%低通滤波器特性

[h,w]=freqz(bz,az);

title('IIR低通滤波器');

plot(w*fs/(2*pi),abs(h));

grid;

 

 

%滤波

z=filter(bz,az,s);

z_fft=fft(z);     %滤波后的信号频谱

 

figure(1); 

 

%绘出原始音频时域波

subplot(2,3,1);

plot(t,audio);   

xlabel('时间/s');

ylabel('幅度');

title('初始信号波形');  

grid;

 

 %绘出原始音频频域频谱

subplot(2,3,4); 

audiof = abs(audio_fft);

plot(f(1:(n-1)/2),audiof(1:(n-1)/2));

title('初始信号频谱');

xlabel('频率/Hz');

ylabel('幅度');

grid;

 

%绘出加噪音频时域波

subplot(2,3,2)

plot(t,s);

title('加噪声后信号波形')

xlabel('时间/s');

ylabel('幅度');

grid;

 

 %绘出加噪音频频域频谱

subplot(2,3,5)

sf = abs(s_fft);

plot(f(1:(n-1)/2),sf(1:(n-1)/2));

xlabel('频率/Hz');

ylabel('幅度');

title('加噪声后信号信号频谱');

grid;

 

%绘出滤波音频时域波

subplot(2,3,3);

plot(t,z);

title('低通滤波后的信号波形');

xlabel('时间/s');

ylabel('幅度');

grid;

 

%绘出滤波音频频域波

subplot(2,3,6);

zf = abs(z_fft);

plot(f(1:(n-1)/2),zf(1:(n-1)/2));

title('低通滤波后信号的频谱');

xlabel('频率/Hz');

ylabel('幅度');

grid;

 

audio_final = [audio;s;z];%原始语音,加噪语音,滤波语音的合成音频矩阵

sound(audio_final,fs); %播放语音


五、实验结果

滤波器幅频特性

在这里插入图片描述
各个时频域图

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43160569/article/details/86544542

智能推荐

Netty专题-程序员宅基地

文章浏览阅读147次。1.Netty是什么面试官:介绍一下自己对netty的认识吧!小伙砸~我:好的!我就用简单的几点来概括下netty吧Netty 是一个基于NIO 的 client-server(客户端服务端框架),使用它可以快速简单第开发网络应用程序。它极大地简化并优化了TCP和UDP套接字服务器等网络编程,并且性能以及安全性等很多方面甚至都要更好。支持多种协议 如FTP,SMTP,HTTP以及各种二进制和基于文本的传统协议。用官方的总结就是:Netty 成功地找到了一种在不妥协可维护和性能的情况下实现易于_netty专题

六个office免费学习的精品教程 office自学教程让你从小白到高手-程序员宅基地

文章浏览阅读4.4k次。今天给大家分享六个免费学习的精品教程,包括了word,ppt,excel常用的办公三剑客,学会这三个让你办公无忧,也能让你靠这些技术找到一份好工作,这些office自学教程让你从小白到高手。一.PPT零基础入门教程PPT教程PPT零基础,PPT入门小白脱白系列,让你从做PPT的小白到高手,职场无敌。学习地址为:https://www.bilibili.com/video/av1205327...

OpenGL 创建窗口/三角形VAO、VBO、EBO_opengl bao-程序员宅基地

文章浏览阅读963次,点赞3次,收藏7次。Day 1 使用OpenGL创建三角形程序运行效果VAO vertex array object 顶点数组对象VBO vertex buffer object 顶点缓冲对象EBO element(index) buffer object 索引缓冲对象VBO and VAOData Flow from CPU to GPUVertex Buffer Object (VBO)VBO..._opengl bao

缓存雪崩、缓存穿透、缓存击穿-程序员宅基地

文章浏览阅读1.1k次,点赞28次,收藏24次。当然,可能针对缓存穿透的情况,也有可能是其他的原因引起,可以针对具体情况,采用对应的措施。缓存击穿,就是说某个 key 非常热点,缓存击穿和缓存雪崩很类似,只不过是缓存击穿是一个热点key失效,而缓存雪崩是大量热点key失效。undefined 缓存失效:缓存中的某些数据过期或者被淘汰,在数据重新加载到缓存之前,大量请求会直接穿透到存储系统中查询,导致存储系统负载剧增。2缓存失效:缓存中的某些数据过期或者被淘汰,在数据重新加载到缓存之前,大量请求会直接穿透到存储系统中查询,导致存储系统负载剧增。

pg_probackup备份与恢复-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏5次。一、pg_probackup概述pg_probackup 是一款免费的postgres数据库集群备份工具,与其他备份工具相比,它主要有如下一些优势:提供增量备份,增量备份一定程度上可以节省磁盘空间的使用并且减少备份时间消耗 可通过全量备份+增量备份进行增量恢复 无需通过实际的数据恢复操作验证备份文件是否有效 Verification: on-demand verification of Postgres Pro instance with the checkdb command. 可以通过设_pg_probackup

视线估计/视线追踪/视线检测(Gaze Estimation)研究以及车辆应用(DMS or OMS)-程序员宅基地

文章浏览阅读622次。最近在研究驾驶员监控系统(DMS or DSM),目前针对眼睛、嘴巴、头姿特征的算法已经很成熟了,而最新的研究方向是利用人眼视线进行判断,应用场景可能如下:1、头部转动,但是视线仍在道路前方;2、头部虽然朝向道路,但视线已经脱离了道路,向其他地方看去;3、偏向于娱乐方面的话,实际应用有蔚来的NOMI,当驾驶员看向NOMI的时候,NOMI会自动看向驾驶员,视线检测在未来的扩展性会很强。_视线追踪

随便推点

Manjaro安装一款好用的截图工具Deepin-screenshot_manjaro dwm窗口下好用的截图软件-程序员宅基地

文章浏览阅读7.3k次,点赞2次,收藏7次。效果图安装yaourt deepin-screenshot自定义快捷键截图配置设置--->设备   keyboard--------> 新建快捷键-->点击+号 使用:直接点一下键盘上的截屏键即可:PrtSc(是个缩写) ..._manjaro dwm窗口下好用的截图软件

网易云音乐移动端项目实战(分解上),2024年最新学it主要学什么-程序员宅基地

文章浏览阅读537次,点赞9次,收藏11次。/获取歌单的详情api 下的index.js//获取轮播图API/*0: pc1: android2: iphone3: ipad*///获取推荐歌单默认十条数据//获取歌单的详情router 下的index.jspath: ‘/’,},},routes})views下的listview.vue。

Intellij IDEA--生成UML类图的方法_intellij idea生成java uml-程序员宅基地

文章浏览阅读3.1k次。本文介绍Idea如何生成UML类图。_intellij idea生成java uml

idea识别不到maven下载的jar_idea maven有jar包却不能识别-程序员宅基地

文章浏览阅读963次。Maven初级问题_idea maven有jar包却不能识别

珞珈一号数据预处理完整流程及一些总结_arcgis滤波器在哪里-程序员宅基地

文章浏览阅读7.2k次,点赞18次,收藏65次。珞珈一号的噪声噪点什么的都非常多,想要去噪声个人总结出了很多方法:1.arcgis滤波器(空间分析工具——邻域分析——滤波器:低通滤波)2.envi低通滤波(同上面的工具,特点是可以平滑图像减少噪声同时会减少细节)3.利用自然间断点分级法来进行灯光分级(级别越多越好,分的越细,阈值也就更加精确),分级后从中选择适合的灯光值作为阈值以去除噪声4.老方法(不变目标区域法):选择同年同月份的npp影像,默认npp影像上DN值为0的地方在珞珈一号DN值也为0,以此作为掩膜去剔除噪声…(方法很多,仅供参考)_arcgis滤波器在哪里

NBT封面:水稻NRT1.1B基因调控根系微生物组参与氮利用(作者解读)-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏11次。https://www.nature.com/nbt/volumes/37/issues/6Nature Biotechnology杂志2019年6月5日(37卷第6期),中科院遗传发..._nrt1.1b is associated with root microbiota composition and nitrogen use in f

推荐文章

热门文章

相关标签