matlab程序语句功能求解,下面这短程序什么意思clc;clear;ref =wavread('in.wav'); % Load near endapm = 0.1; %噪声幅度firLen = 160;mu = 0.8;a = zeros(1,firLen);dataLen = length(ref);eout = zeros(1,dataLen);bbeout = zeros(1,dataLen);

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 19:53:19
matlab程序语句功能求解,下面这短程序什么意思clc;clear;ref=wavread(''in.wav'');%Loadnearendapm=0.1;%噪声幅度firLen=160;mu=0.8;

matlab程序语句功能求解,下面这短程序什么意思clc;clear;ref =wavread('in.wav'); % Load near endapm = 0.1; %噪声幅度firLen = 160;mu = 0.8;a = zeros(1,firLen);dataLen = length(ref);eout = zeros(1,dataLen);bbeout = zeros(1,dataLen);
matlab程序语句功能求解,下面这短程序什么意思
clc;
clear;
ref =wavread('in.wav'); % Load near end
apm = 0.1; %噪声幅度
firLen = 160;
mu = 0.8;
a = zeros(1,firLen);
dataLen = length(ref);
eout = zeros(1,dataLen);
bbeout = zeros(1,dataLen);
firIn = zeros(1,firLen);
firIntwo = zeros(1,firLen);
noise = apm*rand(1,dataLen);
near = ref'+noise;
%%%自适应滤波学习bbe模型
for i=1:dataLen
for j = firLen-1:-1:1
firIn(j+1) = firIn(j);
end
firIn(1) = noise(i);
firOut = a*firIn'; %fir滤波
e = near(i)-firOut; %求误差信号
a = a+e*mu*firIn; %lms 系数更新
eout(i) = e;
end
wavwrite(eout,16000,'out.wav');
figure(1)
subplot(411);
plot(ref);
title('原始信号');
subplot(412);
plot(near);
title('语音加噪信号');
subplot(413);
plot(noise);
title('噪声信号');
subplot(414);
plot(eout);
title('自适应消噪信号');
我知道这是一个LMS自适应滤波的降噪程序,但是中间的细节都不是很清楚什么意思
麻烦大神们在后面每一句加上注释,各个函数和参数分别是什么意思 我是小白 麻烦写明白点
还有就是 apm=0.1 是噪声幅度
firLen = 160;
mu = 0.8;
a = zeros(1,firLen);分别是什么意思?

matlab程序语句功能求解,下面这短程序什么意思clc;clear;ref =wavread('in.wav'); % Load near endapm = 0.1; %噪声幅度firLen = 160;mu = 0.8;a = zeros(1,firLen);dataLen = length(ref);eout = zeros(1,dataLen);bbeout = zeros(1,dataLen);
firLen = 160;定义了滤波器的长度
mu = 0.8;定义了学习因子的大小,也是自适应算法的迭代步长
a = zeros(1,firLen);这句产生了一个1行160列的零向量.
clc;
clear;
% ref =wavread('in.wav'); % Load near end
ref = wgn(1,1024,0).'; % 我加了这句,因为我没有你的音频文件,不妨碍功能验证和你对程序原理的理解
apm = 0.1; %噪声幅度
firLen = 160; % 定义了滤波器的长度
mu = 0.8; % 学习因子
a = zeros(1,firLen);
dataLen = length(ref); % 获取了ref信号向量的长度
eout = zeros(1,dataLen); % 产生1行dataLen列的行向量
bbeout = zeros(1,dataLen); % 同上
firIn = zeros(1,firLen); % 同a
firIntwo = zeros(1,firLen); % 同上
noise = apm*rand(1,dataLen); % 产生随机噪声,用来干扰语音信号,实际上我这里也用噪声作为语音信号
near = ref'+noise; % 产生含加性噪声的语音信号,表示语音信号被噪声污染了
%%%自适应滤波学习bbe模型
for i=1:dataLen
for j = firLen-1:-1:1
firIn(j+1) = firIn(j);
end % 这个for循环让firIn向量的后一个值等于前一个值
firIn(1) = noise(i); % 第一个值等于噪声
firOut = a*firIn'; %fir滤波 这一步实现的是横向滤波器的操作
e = near(i)-firOut; %求误差信号
a = a+e*mu*firIn; %lms 系数更新
eout(i) = e;
end
% wavwrite(eout,16000,'out.wav');
figure(1)
subplot(411);
plot(ref);
title('原始信号');
subplot(412);
plot(near);
title('语音加噪信号');
subplot(413);
plot(noise);
title('噪声信号');
subplot(414);
plot(eout);
title('自适应消噪信号');
figure;plot(abs(ref.' - eout))
最后一句是我加上的,想看看你的程序去噪能力怎么样,你也可以自己看看,我觉得你的程序算法那块怪怪的,你在确认下算法有没有问题

matlab程序语句功能求解,下面这短程序什么意思clc;clear;ref =wavread('in.wav'); % Load near endapm = 0.1; %噪声幅度firLen = 160;mu = 0.8;a = zeros(1,firLen);dataLen = length(ref);eout = zeros(1,dataLen);bbeout = zeros(1,dataLen); 求下面微机原理程序的说明解释,就是各个语句的功能文字说明? 下面的程序的功能是【 】.表示的是什么语句INPUT x=;xIF x 数学题````循环语句`````下面程序的功能是_________________n=0i=1DOINPUT xIF x10PRINT nEND matlab语句 a是一个序列 u=[]; for i=1:le u=[u a]; (le是a序列的长度)求解这程序的意思 matlab while语句对n!求和的程序 编写用均值滤波去噪的matlab程序,用两种方法实现.(重谢)用两种方法实现,一种是简单功能语句filter2,另一种是双循环语句,移动平均法 matlab矩阵求求解微分方程组{用matlab编程}数值求解微分方程组求程序 要求用MATLAB写出简单的求解程序 求解matlab进行高斯分峰拟合的程序?或者原理? 帮帮忙求解这个抛物方程的matlab程序 怎样有Matlab求解数学期望,求程序! 求解!matlab计算函数导数的命令语句 写出直接求解线性代数方程组的MATLAB语句. 求解二维抛物线型偏微分方程matlab程序方程如下:求h,需要编出求解的matlab程序, 这段MATLAB程序是什么意思 matlab求解方程.下面是方程,最好带上程序.x=1438.13-1319.2exp(-3.973*log(5.15*10^18/x/x)). 这是一个matlab程序,为什么这个程序只运行else后面的语句,x=-2*pi:0.01:2*pi;if x