# problem to make fft

1 view (last 30 days)
itsik on 6 Jun 2011
hello i have this code and i want to make the fft for it to make the same bits as i start with can u help me?>
thanks alot
clear all
N=10;
fs=1e6;
T=1e-3;
% random signal
bit=randint(20,1); % 20 bits 0 or 1 1 x 20
% serial-to-parallel converter
par=reshape(bit,2,10); % 2 x 10 2 bits for sym
% mapper
sym=par'*[2;1]; % multiplay for mapper 00-0 01-1 10-2 11-3
phase=[-3*pi/4,3*pi/4,-pi/4,pi/4];
phase_sym=phase(sym+1); % every sym gets phase for example pi/4 will get '3'
% IFFT
for k=0:N-1
i=1
for t=1/fs:1/fs:T
x(k+1,i)=cos((2*pi*k*t)/T+phase_sym(k+1))+j*sin((2*pi*k*t)/T+phase_sym(k+1));
i=i+1
end
end

Walter Roberson on 6 Jun 2011
Jonas: no, 2^N is not required for fft / ifft. The size has to do with efficiencies in the calculation, but other sizes can still be calculated. There are even sizes that are faster to calculate than 2^N
itsik on 6 Jun 2011
fist of all i want to thank you for your help
supposed thats i use ifft function :
ifft(phase_sym,1024) ( sampling of 1024)
and then i use the fft function , im getting a matrix of
1x1024
so my question is, how i can get the original matrix
(1X10 of phase_sym) back
thank you all
itsik on 8 Jun 2011

Yella on 14 Jun 2011
Heyy
Check this code
x=[1 2 3 4 5 6]; y=fft(x,512) z=ifft(y)
and u observe that x=z(1:1:length(x))
the first elements of the ifft is the signal the other elemnts in the matrix are made zero..