lms消噪声matlab,关于LMS去噪声的仿真
使用书上的例子效果很好,但是将白噪声更换为自己录制的声音,其他处理不变的情况下去噪效果很差。原理是自己录制的噪声也是和加噪语音信号完全相关的,效果为什么这么差呢?
%
% pr7_1_1
close all;clear all; clc;
filedir=[]; % 设置路径
filename='bluesky1.wav'; % 设置文件名
fle=[filedir filename]; % 构成完整的路径和文件名
[s, fs, bits] = wavread(fle); % 读入数据文件
s=s-mean(s); % 消除直流分量
s=s/max(abs(s)); % 幅值归一
N=length(s); % 语音长度
time=(0:N-1)/fs; % 设置时间刻度
SNR=5; % 设置信噪比
%r2=randn(size(s)); % 产生随机噪声
r2=load('in1.dat'); % 自己录制的噪声
r2=r2-mean(r2); % 消除直流分量
r2=r2/max(abs(r2));
%r2=r2/3;
r2=r2(1:32000);
a=r2(1:8000);
r2(8001:16000)=a; %去掉噪声中的突发噪声
b=fir1(31,0.5); % 设计FIR滤波器,代替H
r21=filter(b,1,r2); % FIR滤波
%[r1,r22]=add_noisedata(s,r21,fs,fs,SNR);% 产生带噪语音,信噪比为SNR
r1 = s+r2;
M=100; % 设置M和mu
mu=0.1;
snr1=SNR_singlech(s,r1); % 计算初始信噪比
h = adaptfilt.lms(M,mu); % LMS滤波
[y,e] = filter(h,r2,r1);
output=e; % LMS滤波输出
snr2=SNR_singlech(s,output); % 计算滤波后的信噪比
snr=snr2-snr1;
SN1=snr1; SN2=snr2; SN3=snr;
fprintf('snr1=%5.4f snr2=%5.4f snr=%5.4f\n',snr1,snr2,snr);
wavplay(r1,fs); % 从声卡发声比较
pause(1)
wavplay(output,fs);
% 作图
% subplot 311; plot(time,s,'k'); ylabel('幅值'); ylim([-1 1 ]); title('原始语音信号');
% subplot 312; plot(time,r1,'k'); ylabel('幅值') ;ylim([-1 1 ]); title('带噪语音信号');
% subplot 313; plot(time,output,'k'); ylabel('幅值');ylim([-1 1 ]); title('LMS滤波输出语音信号');
subplot 411; plot(time,r1,'k'); ylabel('d r1幅值'); ylim([-1 1 ]); title('原始语音信号');
subplot 412; plot(time,r2,'k'); ylabel('x r2幅值') ;ylim([-1 1 ]); title('带噪语音信号');
subplot 413; plot(time,y,'k'); ylabel('y幅值');ylim([-1 1 ]); title('输出y');
subplot 414; plot(time,e,'k'); ylabel('e幅值') ;ylim([-1 1 ]); title('输出e');
xlabel('时间/s');
2016-8-22 11:13 上传
点击文件名下载附件
339 KB, 下载次数: 198
噪声文件
lms消噪声matlab,关于LMS去噪声的仿真相关推荐
- MATLAB对水下目标去噪声代码,水下目标噪声与背景噪声的建模与仿真
0引言在水声信号处理领域中,舰船在海水中的辐射噪声信号一直是人们研究的热点,它是被动式声呐设备的信息来源,这一信息可用于对舰船目标进行探测.定向.定位.跟踪和识别等.由于实测舰船噪声离散性很大并需要耗 ...
- lms算法的matlab实现,LMS算法的MATLAB实现
LMS算法的MATLAB实现 用MATLAB实现LMS算法,将输入和输出信号对比,并给出均方误差曲线.假设滤波器抽头个数为K,数据长度为N. >> g=100; N=1024; k=128 ...
- 【优化】超详细的LMS算法的matlab实现
LMS自适应滤波算法是基于维纳滤波算法,在最陡梯度下降法的基础上形成的滤波算法,它用梯度矢量的估计值来代替其精确值,应用广泛.本文是自己在入门学习LMS算法时整理归纳所得,里面包含了自己在编程实现时的 ...
- 舰船辐射噪声 matlab,基于MATLAB的舰船辐射噪声信号小波消噪处理
基于MATLAB的舰船辐射噪声信号小波消噪处理 针对舰船辐射噪声信号的特点提出了小波消噪的方法,对小波消噪理论作了简要的阐述,并设计了一种消噪方案,最后利用MATLAB,在计算机 (本文共4页) 阅读 ...
- mlse均衡器matlab,基于LMS自适应均衡器matlab仿真.doc
基于LMS自适应均衡器matlab仿真.doc 毕 业 设 计 (2014届) 题 目 一种基于OpenCV的摄像机标定方法 学 院 物理电气信息学院 专 业 电子信息工程 年 级 2010 学生学号 ...
- LMS自适应滤波matlab仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 LMS(Least Mean Square), 由 Widrow 和 Hoff 于1960年提出,也称Δ规则.该算法与感知器网 ...
- MATLAB 用LMS算法实现语音去噪,在Matlab中实现基于LMS算法语音信号去噪
ComputerKnowledgeand Technology 电脑知识与技术 第10卷第32期 (2014年11月) 本栏目责任编辑:谢媛媛软件设计开发 在Matlab中实现基于LMS算法语音信号去 ...
- 基于MATLAB的LMS算法仿真实现
一.引言 自适应滤波器在通信.信号处理和控制领域具有广泛的应用.其中,最小均方误差(Least Mean Square, LMS)算法是一种经典的自适应滤波算法,具有实现简单.收敛速度较快的优点.本文 ...
- matlab怎么添加条纹噪声,基于频域的图像条纹噪声消除方法
基于频域的图像条纹噪声消除方法 徐花艳 孙瑞宁 (长安大学 陕西 西安 710064) 摘 要: 主要以图像去噪为主的研究对象,利用图像的频谱图对图像中的条纹噪声的频率分布进行分析,并使用巴特沃斯带阻 ...
最新文章
- vue点击改变data值_vue 中自定义指令改变data中的值
- Javascript 原型和继承(Prototypes and Inheritance)
- iscsi存储的简单配置
- Boost正则表达式
- 【Python】Scrapy的安装与使用
- 金融时报:人工智能在银行中的应用—对全球30家大型银行的调查
- Cookies 、 Session 和 token 的区别
- hnu 暑期实训之回文串
- .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
- pccad 电气元件_CAD电气符号库下载|cad电气符号图库大全 GB4728完整版 - 极光下载站...
- 开发环境 -- 在linux中写一个脚本拷机
- 自己编写一个读取TGA文件的类
- 在信用证支付的情况下,空运单可否作成以银行为收货人?在此种情况下可否起到约束进口方付款的作用?...
- DIY智能小车篇(一):结构模块
- 如何设置双路由器,图文详解
- java+vue3实现生成、验证图形验证码,和手机短信验证码
- “数据产品经理”的产品技能成长之路
- 自己动手,打造自己的事件总线
- Qt编写物联网管理平台31-用户权限管理
- cartographer导航的时候更新地图
热门文章
- 金融业的数字化转型过程大致分为三个阶段
- Adobe部分软件PJ版
- 数据结构:若借助栈由输入序列1,2…n得到的输出序列为p1p2…pn(它是输入序列的一个排列),证明在输出序列中不可能出现这样的情形:存在着i<j<k,使pj<pk<pi
- Oracle(二)Oracle sql操作
- python实现rar解压和压缩
- 离散数学 学习笔记-Day4
- 整存整取的文档设计[by absolutezero]
- 向控件拖放数据,不积硅步无以至千里
- Dynamics 365 JS调WEB API 报missing privilege ae5c41f0-e823-4cb9-b25a-8ef020201973
- 阿里云服务器+MobaXtern+Anaconda