i have problem in matlab

3 views (last 30 days)
BANI tita
BANI tita on 21 Jan 2013
i programmed one program for processing signal but i don't arrive to result please you can correct for me this problem:
Fs=4000;
n= 1481;
T=1/Fs;
L=4096;
t=(0:L-1)*T;
d = pow2(nextpow2(L));
f = (0:d-1)*(Fs/d);
p=40;
M=4;
A=[0.12;0.059;0.053;0.036];
for Ap=0.5
for i=1:3
s1=A(1,1)*sin(2*pi*1*(n/60)*t);
si=A(i+1,1)*sin(2*pi*(i+1)*(n/60)*t);
s=s1+si;
s;
x1=Ap*sin(2*pi*(n/60)*p*t+s);
y1=fft(x1,d)/L;
end
end
thank you

Answers (3)

Walter Roberson
Walter Roberson on 21 Jan 2013
No, we cannot correct it for you, as you have not indicated what you do expect and you have not indicated what problems you observe. The code you show is perfect for achieving whatever it achieves right now, and we have no reason to know that what it does now is not exactly what it should be doing.

Image Analyst
Image Analyst on 21 Jan 2013
Ap is in a for loop but it never takes on any values except 0.5, you're indexing A as if it's a 2D array when it's really just a 1D array, and you overwrite x1 and y1 every iteration. Those are some unusual looking things, but other than that, we don't know what you're expecting because you didn't tell us.

BANI tita
BANI tita on 21 Jan 2013
for Ap take 2 values 0.5 and 1, but in every value Ap, A take 4 values i want to find spectrum graphics, but in this program i find principal spectrum and spectrum of A=0.12 and for A=0.036. thank you
  5 Comments
BANI tita
BANI tita on 21 Jan 2013
Edited: Walter Roberson on 21 Jan 2013
i have program of frequency modulation, but the modulated signal is sum of 4 signals of amplitude variant and frequency too. my function is:
x(t)=Ap*sin[2*pi*p*(n/60)*t+sum(Am*sin(2*pi*m*(n/60)*t)]
with AP=0.5 & 1
m takes 1,2,3 and 4
Am takes 0.12, 0.059, 0.053 and 0.036 depending of m.
program that i was doing is in 1st conversion for Ap=0.5, problem that i'm finding is when execute program i find 3 spectrums : principal and for m=1 and m=4. normally i must find all spectrum
Walter Roberson
Walter Roberson on 21 Jan 2013
Your "for i" loop only goes to 3, so I am not surprised you got 3 of something. How many spectrum are you expecting?
I note that your code overwrites x1 and y1 in ever iteration of the "for i" loop; is there a reason you are computing the values and throwing them away in the next iteration of the loop?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!