problem with fft

2 views (last 30 days)
itsik
itsik on 19 May 2011
hello i have this program that make ifft for some random vary maybe someone can help me with the fft? thanks
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

Accepted Answer

Arturo Moncada-Torres
Arturo Moncada-Torres on 20 May 2011
Why don't you use MATLAB's fft and ifft functions directly?
EDIT
For example, if you want it to have a length of 1000, it is very easy:
% Suppose "x" is the signal you want
x_fft = fft(x, 1000);
x_mag = abs(x_fft); % Magnitude
x_pha = angle(x_fft); % Phase

More Answers (2)

itsik
itsik on 20 May 2011
cause i need the length of the fft will be 1000 do u know how i make it? with fft?

itsik
itsik on 20 May 2011
maybe someone's know? or how to replace all this code in ifft command?

Categories

Find more on Fourier Analysis and Filtering 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!