• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Matlab
  • 标签: LMS  

资源简介

LMS算法matlab程序,非常简单,但很实用

资源截图

代码片段和文件信息

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_file);
% Create the impulse response for the desired signal
impulse=zeros(filter_size1);
for (i=1:5)
    impulse(((i-1)*filter_size/5)+1)=1/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
    input_vector(1)=input_signal(i);         % insert new sample at beginning of input vect

评论

共有 条评论