随着人们交通出行的日益频繁,环境噪声已严重影响到出行的质量。传统的降噪手段主要有隔音、材料吸收等,但受限于布置空间、材料特性和成本等因素,传统方法对高频噪声去除效果较好,但对低频噪声效果不太理想。因此,主动降噪开始从民航军事领域逐渐走入大众生活。与传统降噪手段不同,主动噪声控制(ANC)是通过声波干涉相消的原理,利用次级声源发声抵消原有噪声从而实现噪声消除。主动降噪可以根据环境变化自动调整降噪策略,并且能够选择性的处理特定频段的噪声,从而显著的提升降噪质量。目前,主动降噪耳机采用的最著名控制算法是由Widrow提出的滤波-XLMS算法(FXLMS)。该算法特点是在基准信号通道放置一个与次级通道传递特性相同的滤波器来进行LMS算法权修改,以解决引入次级通道带来的系统不稳定性问题。但基于FXLMS算法设计的降噪耳机,使用过程中存在收敛速度慢,仅对窄带噪声效果好,而对宽带噪声控制效果不理想等问题,因此在很多场景下无法得到较好的降噪效果。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4803 2018-04-03 09:55 2invfreqz20180320.m
文件 8931 2018-04-11 11:22 2myinvfreqz.m
文件 0 2018-03-22 11:21 2 1.m
文件 3381 2018-01-22 14:25 2 est0505_3a_lmsfb1_invsz_0117.m
文件 4404 2018-05-25 18:04 2 est0505_3a_lmsfb1_invsz_Soff_0118.m
文件 3032 2018-03-05 17:47 2 est0505_3_lmsff_invsz_Soff_0118.m
文件 4504 2018-01-22 18:37 2 est0505_3_lmsff_lmsfb1_invsz_0122.m
文件 4969 2018-05-23 14:27 2 est0505_3_lmsff_lmsfb1_invsz_Soff_0122.m
文件 1374 2018-05-07 16:43 2 est20180305.m
文件 851 2018-03-20 15:43 2 est20180314.m
文件 40935424 2017-04-02 00:38 2 raffic_noise.WAV
文件 787 2018-05-22 18:11 2voice.m
目录 0 2018-05-23 18:16 2
----------- --------- ---------- ----- ----
40972460 13
function [ba]=testinvfreqz(gwvarargin)
narginchk(49)%%输入变量个数范围,根据变量个数设置函数的初始化参数
if ischar(varargin{1})
realStr = lower(varargin{1}); %
varargin(1) = []; %
else
realStr = ‘real‘;
end
gaussFlag = length(varargin)>3;
if length(varargin)<6
varargin{6} = [];
end
%%检查H是否位可用数据
signal.internal.sigcheckfloattype(g‘‘‘infreqz‘‘H‘);
%强制的精度规则
w = signal.internal.gigcasttofloat(w‘double‘‘invfreqz‘‘W‘‘allownumeric‘);
[nbnawfmaxitertolpf] = deal(varargin{:});
nb = signal.internalsigcasttofloat(nb‘double‘‘invfreaz‘‘NB‘...
‘allownumeric‘);
na = signal.internal.signcasttofloat(na‘double‘‘invfreqz‘‘NA‘...
‘allownumeric‘);
wf = signal.internal.sigcasttorfloat(wf‘double‘‘invfreqz‘‘Wt‘...
‘allownumeric‘);
maxiter = signal.internalsigcasttofloat(maxiter‘double‘‘invfreqz‘...
‘ITER‘‘allownumeric‘);
tol = signal.internalsigcasttofloat(tol‘double‘‘invfreqz‘‘TOL‘....
‘allownumeric‘);
switch realStr
case ‘real‘
realFlag = 1;
case ‘complex‘
realFlag = 0;
otherwise
warning(message(‘signal:invfreqz:InvalidParam‘realStr));
realFlag = 0;
end
nk=0;T=1;%取样间隔位T,分子nk从0开始
nb = nb + nk + 1;
if isempty(pf)
verb=0;
elseif (strcmp(pf‘trace‘))
verb = 1;
else
error(message(‘signal:invfreqz:NotSupported‘pf));
end
if isempty(wf)wf=ones(length(w)1);end
wf=sqrt(wf);
if length(g)~=length(w)error(message(‘signal:invfreqz:InvalidDimensions‘‘H‘‘W‘))end
if length(wf)~=length(w)error(message(‘signal:invfreqz:InvalidDimensions‘‘H‘‘W‘))end
if any((w>pi))|(w<0))&&realFlag
warning(message(‘signal:invfreqz:InvalindRegion‘‘W‘‘INVFREQZ‘‘‘‘complex‘‘‘))
end
[rwcw]=size(w); if rw>cw w=w‘; end
[rgcg] = size(g); if cg [rwfcwf]=size; if cwf>rwfwf=wf‘; end
nm=max(nanb+nk-1);
OM=exp(-li*(0:nm)‘*w*T);
%最小二乘平方估计
Dva=(OM(2:na+1:).‘).*(g*ones(1:na)); %对
Dvb=-(OM(nk+1:nk+nb:).‘); %
D=[Dva Dvb].*(wf*ones(1na+nb)); %
if realFlag
R=real(D‘*D); %取结果实数部分
Vd=real(D‘*(-g.*wf));
else
R=D‘*D; %
Vd=D‘*(-g.*wf); %
end
th=RVd;
a=[1 th(1:na).‘];b=[zeros(1nk) th(na+1:na+nb).‘];
if ~gaussFlagreturnend
%设置默认值
if isempty(maxiter)maxiter = 30;end
if isempty(tol)
tol = 0.01;
end
indb=1:length(b);indg=1:length(a);
a=polystab(a); %稳定多项式
b=polystab(b);
%初步估计
GC=((b*OM(indb:))./(a*OM(indg:))).‘;
e=(GC-g).*wf;
Vcap=e‘*e; t=[a(2:na+1) b(nk+1:nk+nb)].‘;
if(verb)
clcdisp([‘‘ getString(message(‘signal:invfreqs:INTIALESTIMATE‘))]);
disp([getString(message(‘signal:invfreqs:CurrentFit‘)) ‘‘ num2str(Vcap)]);
disp(getString(message(‘signal:invfreqs:Parvector‘)));
disp(t)
end
%最小化循环
gndir=2*tol+1; l=0;st=0;
while all([norm(gndir)>tol 1 l=l+1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4803 2018-04-03 09:55 2invfreqz20180320.m
文件 8931 2018-04-11 11:22 2myinvfreqz.m
文件 0 2018-03-22 11:21 2 1.m
文件 3381 2018-01-22 14:25 2 est0505_3a_lmsfb1_invsz_0117.m
文件 4404 2018-05-25 18:04 2 est0505_3a_lmsfb1_invsz_Soff_0118.m
文件 3032 2018-03-05 17:47 2 est0505_3_lmsff_invsz_Soff_0118.m
文件 4504 2018-01-22 18:37 2 est0505_3_lmsff_lmsfb1_invsz_0122.m
文件 4969 2018-05-23 14:27 2 est0505_3_lmsff_lmsfb1_invsz_Soff_0122.m
文件 1374 2018-05-07 16:43 2 est20180305.m
文件 851 2018-03-20 15:43 2 est20180314.m
文件 40935424 2017-04-02 00:38 2 raffic_noise.WAV
文件 787 2018-05-22 18:11 2voice.m
目录 0 2018-05-23 18:16 2
----------- --------- ---------- ----- ----
40972460 13
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)