资源简介
Matlab WebRTC 回声消除 AEC fullaec
代码片段和文件信息
% Partitioned block frequency domain adaptive filtering NLMS and
% standard time-domain sample-based NLMS
%fid=fopen(‘aecFar-samsung.pcm‘ ‘rb‘); % Load far end
fid=fopen(‘aecFar.pcm‘ ‘rb‘); % Load far end
%fid=fopen(farFile ‘rb‘); % Load far end
rrin=fread(fidinf‘int16‘);
fclose(fid);
%rrin=loadsl(‘data/far_me2.pcm‘); % Load far end
%fid=fopen(‘aecNear-samsung.pcm‘ ‘rb‘); % Load near end
fid=fopen(‘aecNear.pcm‘ ‘rb‘); % Load near end
%fid=fopen(nearFile ‘rb‘); % Load near end
ssin=fread(fidinf‘int16‘);
%ssin = [zeros(10241) ; ssin(1:end-1024)];
fclose(fid);
rand(‘state‘13);
fs=16000;
mult=fs/8000;
%rrin=rrin(fs*0+1:round(fs*120));
%ssin=ssin(fs*0+1:round(fs*120));
if fs == 8000
cohRange = 2:3;
elseif fs==16000
cohRange = 2;
end
% Flags
NLPon=1; % NLP
CNon=1; % Comfort noise
PLTon=1; % Plotting
M = 16; % Number of partitions
N = 64; % Partition length
L = M*N; % Filter length
if fs == 8000
mufb = 0.6;
else
mufb = 0.5;
end
%mufb=1;
VADtd=48;
alp = 0.1; % Power estimation factor alc = 0.1; % Coherence estimation factor
beta = 0.9; % Plotting factor
%% Changed a little %%
step = 0.3;%0.1875; % Downward step size
%%
if fs == 8000
threshold=2e-6; % DTrob threshold
else
%threshold=0.7e-6;
threshold=1.5e-6; end
if fs == 8000
echoBandRange = ceil(300*2/fs*N):floor(1800*2/fs*N);
%echoBandRange = ceil(1500*2/fs*N):floor(2500*2/fs*N);
else
echoBandRange = ceil(300*2/fs*N):floor(1800*2/fs*N);
%echoBandRange = ceil(300*2/fs*N):floor(1800*2/fs*N);
end
%echoBandRange = ceil(1600*2/fs*N):floor(1900*2/fs*N);
%echoBandRange = ceil(2000*2/fs*N):floor(4000*2/fs*N);
suppState = 1;
transCtr = 0;
Nt=1;
vt=1;
ramp = 1.0003; % Upward ramp
rampd = 0.999; % Downward ramp
cvt = 20; % Subband VAD threshold;
nnthres = 20; % Noise threshold
shh=logspace(-1.3-2.2N+1)‘;
sh=[shh;flipud(shh(2:end-1))]; % Suppression profile
len=length(ssin);
w=zeros(L1); % Sample-based TD NLMS
WFb=zeros(N+1M); % Block-based FD NLMS
WFbOld=zeros(N+1M); % Block-based FD NLMS
YFb=zeros(N+1M);
erfb=zeros(len1);
erfb3=zeros(len1);
ercn=zeros(len1);
zm=zeros(N1);
XFm=zeros(N+1M);
YFm=zeros(N+1M);
pn0=10*ones(N+11);
pn=zeros(N+11);
NN=len;
Nb=floor(NN/N)-M;
erifb=zeros(Nb+11)+0.1;
erifb3=zeros(Nb+11)+0.1;
ericn=zeros(Nb+11)+0.1;
dri=zeros(Nb+11)+0.1;
start=1;
xo=zeros(N1);
do=xo;
eo=xo;
echoBands=zeros(Nb+11);
cohxdAvg=zeros(Nb+11);
cohxdSlow=zeros(Nb+1N+1);
cohedSlow=zeros(Nb+1N+1);
%overdriveM=zeros(Nb+1N+1);
cohxdFastAvg=zeros(Nb+11);
cohxdAvgBad=zeros(Nb+11);
cohedAvg=zeros(Nb+11);
cohedFastAvg=zeros(Nb+11);
hnledAvg=zeros(Nb+11);
hnlxdAvg=zeros(Nb+11);
ovrdV=zeros(Nb+11);
dIdxV=zeros(Nb+11);
SLxV=zeros(Nb+11);
hnlSortQV=zeros(Nb+11);
hnlPrefAvgV=zeros(Nb+11);
mutInfAvg=zeros(Nb+11);
%overdrive=zeros(Nb+11);
hnled = zeros(N+1 1);
weight=zeros(N+11);
hnlMax = zeros(N+1 1);
hnl = zeros(N+1 1);
overdrive = ones(1 N+1);
xfwm=zeros(N+1M);
dfm=zeros(N+1M);
WFbD=ones(N+11);
fbSupp = 0;
hnl
相关资源
- matlab 2012b crack
- matlab2011a 破解文件
- 三个参与主体演化博弈matlab.docx
- 支持向量机用于肌电信号模式识别的
- 数字信号处理实验MATLAB版的
- NSST(非下采样剪切波变换)matlab工具
- DFS优先算法matlab实现
- 多径信道下 简单OFDM matlab仿真
- FastSLAMmatlab仿真算法
- 锁相环 matlab程序 附带注释
-
matlab simuli
nk 电路距离保护仿真文件 - 光伏电池阵列matlab模型
- 蚁群算法实现机器人避障和路径规划
- matlab算法——计算三维散乱点云的曲
- 潮流计算matlab程序
- matlab环境下光伏电池典型模型光照变
- 拉丁超立方体抽样matlab
- 朴素贝叶斯分类器MATLAB源代码
- 《MATLAB 7.0从入门到精通》书中源代码
-
无人车轨迹跟踪控制的MATLAB/Simuli
- 通信原理基于matlab的计算机仿真_源代
- 基于Matlab的导线网平差程序设计
- 基于matlab的fir滤波器设计
- 超详细的ORB解读.md
- 数字信号处理 基于MATLAB 的语音处理
- matlab提取图像HSV特征
- 直接转矩控制 matlab仿真模型
- MATLAB GUI串口程序 实现16进制收发
- FIR低通滤波器+matlab程序
- 三相电压型逆变电路MATLAB仿真报告
评论
共有 条评论