qcoeff.m

来自「Digital Signal Processing with MATLAB是Pr」· M 代码 · 共 20 行

M
20
字号
function [y,L,B] = QCoeff(x,N)
%  [y,L,B] = QCoeff(x,N)
%      Coefficient Quantization using N=L+B bit Representation
%        with Rounding operation
%      y: quantized array (same dim as x)
%      L: number of integer bits 
%      B: number of fractional bits
%      x: a scalar, vector, or matrix
%      N: total number of bits

xm = abs(x);
 L = max(max(0,fix(log2(xm(:)+eps)+1))); % Integer bits
if (L > N)
     errmsg = [' *** N must be at least ',num2str(L),' ***'];
     error(errmsg);
end 
B = N-L;                            % Fractional bits
y = xm./(2^L); y = round(y.*(2^N)); % Rounding to N bits
y = sign(x).*y*(2^(-B));            % L+B+1 bit representation

⌨️ 快捷键说明

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