为了验证滤波器的可使用性,我们用常用的sin函数来进行验证。其具体程序及运行结果如下:

t=[0:1/1023:1];

s=sin(2*pi*t);

N=length(s);

y=s+0.5*rand(1,N);

subplot(2,1,1);

plot(y);

title('加噪语音信号的时域波形','fontweight','bold');

S=fft(y);

subplot(2,1,2);

plot(abs(S));

title('加噪语音信号的频域波形','fontweight','bold');

Ft=8000;

Fp=1000;

Fs=1200;

wp=2*pi*Fp/Ft;

ws=2*pi*Fs/Ft;

[n11,wn11]=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率

[b11,a11]=butter(n11,wn11,'s');    %求S域的频率响应的参数

[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换

z11=filter(num11,den11,s);

sound(z11);

m11=fft(z11);  %求滤波后的信号

figure;

subplot(2,2,1);

plot(abs(S),'g');

title('滤波前信号的频谱','fontweight','bold');

grid;

subplot(2,2,2);

plot(abs(m11),'r');

title('滤波后信号的频谱','fontweight','bold');

grid;

subplot(2,2,3);

plot(y);

title('滤波前信号的波形','fontweight','bold');

grid;

subplot(2,2,4);

plot(z11);

title('滤波后的信号波形','fontweight','bold');

grid;

用自己设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。

函数fftfilt用的是重叠相加法实现线性卷积的计算。调用:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。

函数filter的调用格式:yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。其中xn是输入信号向量,yn输出信号向量。

由于所设计的滤波器有六个,故我们需要进行六次滤波,然后比较得出哪种滤波器的效果最好。下面我们以IIR低通为例:

[y,fs,nbits]=wavread (‘OriSound’);   %IIR低通

n = length (y) ;         %求出语音信号的长度

Noise=0.2*randn(n,2);  %随机函数产生噪声

s=y+Noise;             %语音信号加入噪声

S=fft(s);

Ft=8000;

Fp=1000;

Fs=1200;

wp=2*pi*Fp/Ft;

ws=2*pi*Fs/Ft;

[n11,wn11]=buttord(wp,ws,1,50,’s’);%求低通滤波器的阶数和截止频率

[b11,a11]=butter(n11,wn11,’s’);    %求S域的频率响应的参数

[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换

z11=filter(num11,den11,s);

sound(z11);

m11=fft(z11);  %求滤波后的信号

figure;

subplot(2,2,1);

plot(abs(S),’g’);

title(‘滤波前信号的频谱’,’fontweight’,’bold’);

axis([ 0 150000 0 4000]);

grid;

subplot(2,2,2);

plot(abs(m11),’r’);

title(‘滤波后信号的频谱’,’fontweight’,’bold’);

axis([ 0 150000 0 4000]);

grid;

subplot(2,2,3);

plot(s);

title(‘滤波前信号的波形’,’fontweight’,’bold’);

axis([95000 100000 -1 1]);

grid;

subplot(2,2,4);

plot(z11);

title(‘滤波后的信号波形’,’fontweight’,’bold’);

axis([95000 100000 -1 1]);

grid;

程序结果如下图:

图  4-2  IIR低通滤波器

经过以上的加噪处理后,可在Matlab中用函数sound对声音进行回放。其调用格式:sound(y,Fs),sound(y)和sound(y,Fs,bits)。可以察觉滤波前后的声音有明显的变化。比较后可得;低通效果较好,高通其次,带通最差。对原始语音信号具体程序及运行结果如附录(II 比较滤波前后语音信号的波形及频谱

基于MATLAB的有噪声语音信号处理相关推荐

  1. 基于matlab的有噪声语音信号处理,基于matlab的有噪声语音信号处理毕设

    基于matlab的有噪声语音信号处理毕设 - I - I 大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理- II - II 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR 数字 ...

  2. 基于MATLAB有噪声语音信号处理算法设计

    获取项目源文件,联系Q:1415736481,可指导毕设,课设 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分.利用MATLAB信号处理工 ...

  3. matlab关于噪声课设,基于matlab的有噪声的语音信号处理的课程设计.doc

    基于matlab的有噪声的语音信号处理的课程设计.doc DSP实验课程设计实验报告DSP实验课程设计实验报告姓名学号班级1课程设计题目基于MATLAB的有噪声的语音信号处理的课程设计.2课程设计的目 ...

  4. 正弦信号加多普勒matlab,基于Matlab测速仪设计(多普勒效应回波信号处理).doc

    PAGE PAGE 1 "数字信号处理课程设计"任务书 题目5 基于Matlab测速仪设计(多普勒效应回波信号处理) 主要 内容 利用离散付里叶变换进行频谱分析,设计数字滤波器组, ...

  5. 基于Matlab App Designer的语音信号分析与处理(二):IIR和FIR滤波器的设计,语音信号的滤波

    接上文:https://blog.csdn.net/weixin_53877178/article/details/122470759 目录 一.课题的任务 二.内容.步骤和要求 (1)语音信号的采集 ...

  6. 【语音增强】基于matlab人耳掩蔽效应语音增强【含Matlab源码 428期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[语音增强]基于matlab人耳掩蔽效应语音增强[含Matlab源码 428期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  7. matlab声音信号加入余弦噪声,基于窗函数法的数字滤波器语音信号处理

    摘要:有限长冲激响应(FIR)数字滤波器具有描述方便.系统稳定.易于实现线性相位等特点,获得了广泛的应用.该文采用FIR数字滤波器的窗函数法设计滤波器,针对语音信号中出现的加性噪声进行消除,并在mat ...

  8. matlab 自适应噪声对消,基于Matlab的RLS自适应语音噪声对消系统的设计与实现

    基于Matlab 的R LS 自适应语音噪声 对消系统的设计与实现 ① 肖 哲 (湖南工业大学科技学院, 湖南株洲 412008) 摘 要:自适应信号处理的理论和技术经过40多年的发展和完善,已逐渐成 ...

  9. 【语音去噪】基于matlab GUI IIR滤波器语音去噪【含Matlab源码 1864期】

    一.语音处理简介 语言是人们获得各类有效信息的主要途径, 而语音是语言的表现形式.语音在一定程度上可影响人们的生活, 因此, 语音信号的研究对科学领域和人们日常生活具有一定的研究价值和意义.噪声广泛存 ...

最新文章

  1. win10启动telnet
  2. 永远不要相信用户的输入
  3. Redis分布式锁(Redlock官方文档的理解)
  4. 百度联盟广告代码php,百度联盟原生广告的投放步骤
  5. JAVA的sleep
  6. oracle+5秒钟一个间隔,ORACLE日期时间函数大全 (二)
  7. android:src app:srccompat,android – 数据绑定与srcCompat
  8. cognos宏函数的使用prompt
  9. Linux之ping命令
  10. 2020语义分割网络语义流:Semantic Flow for Fast and Accurate Scene Parsing
  11. RPC框架原理及从零实现系列文章(四):支持zookeeper注册中心与负载均衡
  12. 31岁清华副教授誓为国产工控软件护航
  13. 暴雪即将公布《暗黑破坏神3》新职业
  14. 可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用
  15. 收集一些练习英语口语的资料和美剧
  16. JetBrains产品字体大小调整
  17. 数据结构实验-学生信息表
  18. java中什么路径_Java中的路径问题
  19. php计算1-100奇数的和,学习脚本1:计算100以内奇数和和偶数和 (笔记)
  20. 保温杯哪种材质最好_水杯材质哪种好 六种材质杯子的使用细节

热门文章

  1. 深圳Java培训:Java和大数据的关系
  2. [kpw] USBNetwork + WinSCP + PublicKey + PrivateKey
  3. dm9000c 移值新内核 linux-4.1.24
  4. java查看动态库路径_Linux动态库(.so)搜索路径
  5. WiFi基本概念(一)WiFi和互联网
  6. 使用C语言+USRP B210从零开始实现无线通信(2) 获取以太网数据并封装
  7. 分离变与不变——软件设计的基本原则分析
  8. 交易所撮合引擎原理及实现代码
  9. Android上传文件
  10. 2019年2月被举报钓鱼网站