problem to make fft

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

6 Comments

isn't it true that you need 2^N samples to calculate the fft / ifft?
itsik
itsik on 6 Jun 2011
ok so if i will sample the function with 1024 points how do i make the oposite fft to find the bits?
why exactly is ifft (matlab function) not an option for you?
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
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
itsik on 8 Jun 2011
anyone , please ?

Sign in to comment.

 Accepted Answer

Yella
Yella on 14 Jun 2011

1 vote

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..

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Asked:

on 6 Jun 2011

Community Treasure Hunt

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

Start Hunting!