frames.m

来自「LPC vocoder LPC vocoder with several op」· M 代码 · 共 42 行

M
42
字号
function [DATA,NFRAMES]=frames(Y,SHIFT,DUR)


%determine number of frames and pad with zeros where needed
L=size(Y,1);
NFRAMES=1;
while L>1
    L=L-SHIFT;
    if L>0
        NFRAMES=NFRAMES+1;
    end
    if L==1
        PAD=DUR-L;
    end
    if L<1
        PAD=DUR-(L+SHIFT);
    end
end
Y=[Y; zeros(PAD,1)]; %pad speech with zeros



%create data array (each column denotes a frame)
DATA=zeros(DUR,NFRAMES); %preallocate DATA for speed
for i=0:NFRAMES-1
    DATA(:,i+1)=Y(1+i*SHIFT:DUR+i*SHIFT);
end



k=NFRAMES;
n=0;
while DATA(:,k)==zeros(DUR,1);
    k=k-1;
    n=n+1;
end



DATA=DATA(:,1:(NFRAMES-n));
NFRAMES=NFRAMES-n;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?