i have problem in matlab

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

Risposte (3)

Walter Roberson
Walter Roberson il 21 Gen 2013

1 voto

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 il 21 Gen 2013

0 voti

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 il 21 Gen 2013

0 voti

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 Commenti

No it doesn't. You clearly wrote
for Ap=0.5
which is a single value, not two values.
BANI tita
BANI tita il 21 Gen 2013
Modificato: Image Analyst il 21 Gen 2013
this first case for Ap=0.5, in this case we take different values of A, normally equation is x=Ap*sin[2*pi*p*(n/60)*t+A1*sin(2*pi*1*(n/60)*t) +....+A4sin(2*pi*4*(n/60)*t)] with p=40 case 1: Ap=0.5 A=[0.12;0.059;0.053;0.036]
Walter Roberson
Walter Roberson il 21 Gen 2013
Please re-state the question, and the problem you are observing. What error message are you seeing, at what line?
BANI tita
BANI tita il 21 Gen 2013
Modificato: Walter Roberson il 21 Gen 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 il 21 Gen 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?

Accedi per commentare.

Richiesto:

il 21 Gen 2013

Community Treasure Hunt

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

Start Hunting!

Translated by