📄 excitation.m
字号:
function train=excitation(Y,PITCH_UPDATE,PP)
L=PITCH_UPDATE;
M=floor(size(Y,1)/L);
if mod(size(Y,1),L)~=0
M=M+1;
end
b(1,1)=L;
for i=2:M
b(i,1)=b(i-1,1)+L;
end
cur_samp=1;
j=0;
for i=1:size(PP,1)
if PP(i,1)==0 && j<M
train(cur_samp:b(j+1,1),1)=randn(b(j+1,1)-cur_samp+1,1);
train(cur_samp:b(j+1,1),1)=train(cur_samp:b(j+1,1),1)/max(abs(train(cur_samp:b(j+1,1),1)));
cur_samp=b(j+1,1)+1;
j=j+1;
elseif j<M
while cur_samp<b(j+1,1)
train(cur_samp,1)=1;
train(cur_samp+1:cur_samp+PP(i,1)-1,1)=zeros(PP(i,1)-1,1);
cur_samp=cur_samp+PP(i,1);
end
j=j+1;
else
end
end
% % % % % function train=excitation(Y,FS,PITCH_UPDATE,PP)
% % % % %
% % % % % L=FS*PITCH_UPDATE/1000;
% % % % % M=floor(size(Y,1)/L);
% % % % % if mod(size(Y,1),L)~=0
% % % % % M=M+1;
% % % % % end
% % % % % b(1,1)=L;
% % % % % for i=2:M
% % % % % b(i,1)=b(i-1,1)+L;
% % % % % end
% % % % %
% % % % % cur_samp=1;
% % % % % j=0;
% % % % % for i=1:size(PP,1)
% % % % % if PP(i,1)==0 && j<M
% % % % % train(cur_samp:b(j+1,1),1)=randn(b(j+1,1)-cur_samp+1,1);
% % % % % train(cur_samp:b(j+1,1),1)=train(cur_samp:b(j+1,1),1)/max(abs(train(cur_samp:b(j+1,1),1)));
% % % % % cur_samp=b(j+1,1)+1;
% % % % % j=j+1;
% % % % % elseif j<M
% % % % % while cur_samp<b(j+1,1)
% % % % % train(cur_samp,1)=1;
% % % % % train(cur_samp+1:cur_samp+PP(i,1)-1,1)=zeros(PP(i,1)-1,1);
% % % % % cur_samp=cur_samp+PP(i,1);
% % % % % end
% % % % % j=j+1;
% % % % % else
% % % % % end
% % % % % end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -