clear all; close all; a1 = xlsread('D:\DSD\Blog\FFT_IFFT_1024\Test_data\FFT_64\imag.xlsx'); %a1 = 0.5; a = a1; n = 8; % number bits for integer part of your number m = 10; % number bits for fraction part of your number N = m + n; % binary number k = zeros(size(a1,1),size(a1,2)); for j = 1:size(a1,2) for i=1:size(a1,1) if a(i,j)>0 x = fix(rem(abs(a(i,j))*pow2(-(n-1):m),2)); y = x*pow2((m+n-1):-1:0).'; else x = fix(rem(abs(a(i,j))*pow2(-(n-1):m),2)); y = twos_comp(m,n,x) ; end k(i,j)=y; end for i=1:size(k,1) if k(i,j)==2^N k(i,j)=0; else k(i,j)=k(i,j); end end end xlswrite('D:\DSD\Blog\FFT_IFFT_1024\Test_data\FFT_64\imag_bin.xlsx',k) function [y1] = twos_comp(m,n,x) % compute the 2's complement number for 16 bit short % Written by Tal Levinger, 13/07/04 % x = [0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]; x1 = ~x; y = x1*pow2((m+n-1):-1:0).'; y1 = y + 1; end