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 件のコメント

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

サインインしてコメントする。

 採用された回答

Yella
Yella 2011 年 6 月 14 日

1 投票

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

その他の回答 (0 件)

質問済み:

2011 年 6 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by