• 大小: 109KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: LMS、RLS  algorithm  

资源简介

包括这两个算法的matlab程序和简单的使用说明,其中在程序中有详细的说明,有利于大家加深对这两个算法的理解。

资源截图

代码片段和文件信息

function [signalnoise]=add_noisedata(sdatafsfs1snr)
s=s(:);                          % 把信号转换成列数据
s=s-mean(s);                     % 消除直流分量
sL=length(s);                    % 求出信号的长度

if fs~=fs1                       % 若纯语音信号的采样频率与噪声的采样频率不相等
    x=resample(datafsfs1);     % 对噪声重采样,使噪声采样频率与纯语音信号的采样频率相同
else
    x=data;
end

x=x(:);                          % 把噪声数据转换成列数据
x=x-mean(x);                     % 消除直流分量
xL=length(x);                    % 求噪声数据长度
if xL>=sL                        % 如果噪声数据长度与信号数据长度不等,把噪声数据截断或补足
    x=x(1:sL);
else
    disp(‘Warning: 噪声数据短于信号数据,以补0来补足!‘)
    x=[x; zeros(sL-xL1)];
end

Sr=snr;
Es=sum(x.*x);                    % 求出信号的能量
Ev=sum(s.*s);                    % 求出噪声的能量
a=sqrt(Ev/Es/(10^(Sr/10)));      % 计算出噪声的比例因子
noise=a*x;                       % 调整噪声的幅值
signal=s+noise;                  % 构成带噪语音


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-02 09:57  LMS Algorithm\
     文件       36044  2012-11-12 08:31  LMS Algorithm\aa.wav
     文件        1050  2013-10-23 04:28  LMS Algorithm\add_noisedata.m
     文件        1656  2015-06-02 09:50  LMS Algorithm\LMS.m
     文件         400  2013-05-01 19:07  LMS Algorithm\SNR_singlech.m
     目录           0  2015-06-02 09:52  RLS Algorithm\
     文件       36044  2012-11-12 08:31  RLS Algorithm\aa.wav
     文件       36044  2015-06-02 11:30  RLS Algorithm\filter the noise.wav
     文件        1859  2015-06-02 09:51  RLS Algorithm\RLS.m
     文件       36044  2015-06-02 11:30  RLS Algorithm\speech and noise.wav
     文件       42496  2015-05-27 21:49  user guide.doc

评论

共有 条评论