synthesize.m

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

M
24
字号
function Y_HAT = synthesize(Y_HAT_DATA,NFFT,w_hat,NFRAMES,SHIFT,YSIZE)

A=real(ifft(Y_HAT_DATA,NFFT));
WINDOW_DATA_HAT=zeros(NFFT,NFRAMES);
for j=1:NFRAMES
    A_WINDOW_DATA(:,j)=A(:,j).*w_hat;
end
pad=zeros(SHIFT*(NFRAMES-1),NFRAMES);
A_WINDOW_DATA=[A_WINDOW_DATA; pad];
for i=0:(NFRAMES-1)
    A_WINDOW_DATA(:,i+1)=circshift(A_WINDOW_DATA(:,i+1),[i*SHIFT 0]);
end
Y_HAT_=sum(A_WINDOW_DATA,2);

if size(Y_HAT_,1)<YSIZE
    PAD=zeros(YSIZE-size(Y_HAT_,1),1);
    Y_HAT=[Y_HAT_; PAD];
elseif size(Y_HAT_,1)>YSIZE
    Y_HAT=Y_HAT_(1:YSIZE,1);
else
    Y_HAT=Y_HAT_;
end

end

⌨️ 快捷键说明

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