Conversion of complex number in to fixedpoint representation

18 views (last 30 days)
i want to convert array of complex number in to fixed point (Q1.14) . how to do this things
(0.5590 + 0.1757i,
0.1771 + 0.9121i,
0.9884 + 0.1842i,
0.4145 + 0.8949i,
0.1781 + 0.0133i,
0.8541 + 0.2089i,
0.6628 + 0.1040i,
0.5400 + 0.5972i,
0.4648 + 0.0715i,
0.3596 + 0.8972i,
0.3479 + 0.9052i,
0.3308 + 0.7455i,
0.7069 + 0.2999i,
0.7640 + 0.2425i,
0.0567 + 0.1967i,
0.4460 + 0.6754i,
0.8985 + 0.7363i,
0.9995 + 0.1341i,
0.8182 + 0.0538i)
i wrote code for this but i don't know it is right or not
my code is
fid = fopen('1.txt', 'rt');
x = textscan(fid, '%f');
fprintf(fid, '%f%+fi\n', real(x{:,1}), imag(x{:,1}))
fclose(fid);
x{1}
%%convert complexdata into 32bit binary
re = real(x{:,1});
im = imag(x{:,1});
n = uint32(((re<0) + abs(re)) * 2^15) * 2^16 + uint32(((im<0) + abs(im)) * 2^15)
d=dec2bin(n(:,1),32)
  2 Comments
stuti
stuti on 12 Sep 2018
yup sir. in Fixed point format
Sign bit- integer part- fraction part
where i want 1 or 2 bits for integer and rather bits in fraction part.

Sign in to comment.

Answers (1)

Dimitris Kalogiros
Dimitris Kalogiros on 12 Sep 2018
Edited: Dimitris Kalogiros on 12 Sep 2018
An example:
clear; clc; close all;
% a complex number
x=0.3435637634857634+1i*0.66735646778675;
% parameters for fixed point conversion
wordLength=15;
sign=0; % unsigned numbers
fractionalPart=14;
% covertion to fixed point
X=fi(x,sign,wordLength, fractionalPart);
% how to access values
Xre=real(X);
disp('binary word: '); disp(Xre.bin); fprintf('\n');
disp('real world value, as a string: '); disp(Xre.Value); fprintf('\n');
disp('fixed point value: '); disp(Xre.data); fprintf('\n');
% comparison with floating arithmetic values
disp('----------------');
disp('rounding error: ')
disp( X.data-x )
Conversion to fi-objects is controlled from muny parameters, I suggest to have a look at mathwork's help files

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!