function x_q = fp_quantize(x, N_int, N_frac) % x_q = fp_quantize(x, N_int, N_frac) % % DESC: % quantize a number using N_int bits for the integer part and N_frac bits % for the fractional part and one bit for the sign. % % AUTHOR % Marco Zuliani - zuliani@ece.ucsb.edu % % VERSION: % 1.0.0 % % INPUT: % x = input number % N_int = number of bits for the integer part % N_frac = number of bits for the fractional part % % OUTPUT: % x_q = quantized number % HISTORY % 1.0.0 ??/??/06 - Initial version x_i = fix(x); x_f = abs(x - x_i); n = prod(size(x)); x_q = zeros(n, 1); for h = 1:n if (x_i(h) > 2^N_int-1) xq_i = 2^N_int-1; else xq_i = bitand(x_i(h), 2^N_int-1); end xq_f = floor(x_f(h) * 2^N_frac)/2^N_frac; x_q(h) = sign(x(h)) * (xq_i + xq_f); end; x_q = reshape(x_q, size(x)); return;