interpolate.m
来自「the implement of the encoder and the dec」· M 代码 · 共 32 行
M
32 行
function [ x, y ] = interpolate( x, start, n, d, m )
global TRUE FALSE nfrac
global dfrac twelfth wsinc FirstComp dlysize dlyml dlymh szsubf
y = zeros( 1, szsubf );
kmin = dlyml;
kmax = kmin + dlysize - 1;
% Get hamming windowed sinc interpolating function for each fraction.
if FirstComp == TRUE
hwin = hamming( (12*dlysize) + 1 )';
for i = 1:nfrac
wsinc( i,1:dlysize ) = sinc( dfrac(i) + (kmin:kmax) ) .* ...
hwin( 12*(0:dlysize-1) + twelfth(i) + 1 );
end
FirstComp = FALSE;
end
% find the corresponding index
indx=find(abs(dfrac-d)<10e-4);
% resample
for i = 0:n-1
x( start + i ) = sum( x( start - m + i + (kmin:kmax) ) .* ...
wsinc(indx,(1:dlysize)));
end
y( 1:n ) = x( start:start+n-1 );
x( start:start+n-1 ) = zeros( 1, n );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?