资源简介
各种自适应算法 LMS NLMS VSLMS VSNLMS RLS 的matlab仿真 在回波消除中的应用仿真 并有PPT介绍
代码片段和文件信息
function [input_signal error_signal desired_signal filter_output impulse filter_current mse db db_avg]=LMS(filter_size step_size input_file iterations)
% Function to perform the LMS algorithm on an input file.
% Inputs: Filter order step size input wav file number of iterations.
% Outputs: Input signal error estimation signal (echo cancelled) desired signal (echoed signal) adaptive filter output real impulse response
% Estimation of impulse response mean sqaure error attenuation (dB) average attenuation.
%Read in the input file
input_signal = wavread(input_file30000);
% Create the impulse response for the desired signal
impulse=zeros(filter_size1);
for (i=1:5) %#ok
impulse(((i-1)*filter_size/5)+1)=3/i;
end
% Convolve the impulse with the input signal to generate the desired signal
desired_signal = conv(input_signal impulse);
% initialise adaptive filter impulse and input vector to zero vector of length specified at command line
filter_current = zeros(filter_size1);
input_vector = zeros(filter_size 1);
% Loop for number of iterations specified in command line.
for i=1:iterations;
%i;#ok
input_vector(1)=input_signal(i); % insert new sample at beginning of input vector.
filter_output(i)=dot(filter_current input_vector); %#ok %Caluclate adaptive filter output
error= desired_signal(i)-filter_output(i); % Calculate estimation error
filter_current = filter_current + 2*step_size*error*input_vector; % Update filter taps by LMS recursion
% Shfit values ion vector along.
for j=filter_size:-1:2;
input_vector(j)=input_vector(j-1);
end
error_signal(i)=error; %#ok % store estimation error
cost(i)=error*error; %#ok % calculate instantaneous cost sqaure error
if (i==1)
fc0=filter_current; %#ok
end
if (i==7500)
fc1=filter_current; %#ok
end
if (i==15000)
fc2=filter_current; %#ok
end
if (i==22500)
fc3=filter_current; %#ok
end
if (i==30000)
fc4=filter_current; %#ok
end
end
% Find moving average of error squared.
for i=1:iterations-100;
mse(i)=mean(cost(i:i+100)); %#ok
%i#ok
end
%find moving avarage of db attenuation (averaged to smooth output).
for i=1:iterations-2500;
db(i)=-20*log10(mean(abs(desired_signal(i:i+2500)))‘./mean(abs(error_signal(i:i+2500)))); %#ok
%i;#ok
end
%find total avarage db attenuation
db_avg=mean(db);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 204346 2010-12-07 20:19 自适应算法\自适应算法\ll.wav
文件 2693 2010-12-07 20:31 自适应算法\自适应算法\LMS.m
文件 2122 2010-12-07 20:48 自适应算法\自适应算法\NLMS.m
文件 2507 2010-12-07 20:54 自适应算法\自适应算法\RLS.m
文件 2847 2010-12-07 21:06 自适应算法\自适应算法\VSLMS.m
文件 2834 2010-12-07 21:14 自适应算法\自适应算法\VSNLMS.m
文件 308424 2011-01-15 17:00 自适应算法\自适应算法\Adaptive_Filter_Design(NO.3).pptx
目录 0 2011-01-15 16:54 自适应算法\自适应算法
目录 0 2011-01-15 16:59 自适应算法
----------- --------- ---------- ----- ----
525773 9
- 上一篇:matlab SAR图像滤波
- 下一篇:遗忘因子递推最小二乘参数估计MATLAB程序
相关资源
- 频域块LMS算法
- matlab中仿真自适应信号处理LMSNewton算
- matlab中仿真自适应信号处理LMS算法
- 归一化多通道LMS自适应盲辨识算法
- 自适应噪声抵消LMS算法
- 基于格梯形LMS算法的自适应滤波器
- 自适应信号处理 LMS算法
- LMS自适应滤波器MATLAB代码
- FXLMS算法的matlab仿真
- lms算法处理含噪语音
- LMS音频降噪matlab程序
- 基于RLS和LMS的自适应滤波器的MATLAB代
- nlms 回声消除
- LMS算法MATLAB代码
- LMS基本理论matlab
- Eriksson method
- 仿射投影APA与NLMS算法比较
- 功率倒置算法的LMS实现
- 最小二乘算法(LMS)处理滤波并预测
- LMS RLS CMA 自适应均衡算法matlab仿真
- 基于LMS算法的自适应均衡器的MATLAB实
- 自适应滤波器的理论研究及Matlab仿真
- matlab频域自适应滤波器(FDAF)演示
- vsslms与传统算法比较
- anc 基于FXLMS算法的有源噪声控制源码
- aec回声对消算法rlsfrlsnlmsapa的matlab仿真
- SVSLMS 本程序提出了变步长自适应滤波
- TheuseandyanjiuofAdaptivefilter 该文档是自适
- LMS-of-image 最小二乘影像匹配
- LMS
评论
共有 条评论