decision device in BASK receiver

I'm designing decision device in BASK receiver and i have total no. of symbols ns=3000 and divided into total number of bits (tnb)=30 and each bit contains (nsb=100) samples.. i want to make nested for loops that add each 100 sample in each bit and divide it by the total no. of samples (nsb) to get average, if the sum greater than 0.5 then the output is 1 else 0 !!! i made the following code but it's wrong
for w=1:nsb:ns
summ=0;
for g=1:nsb
summ= (summ+fds(g))/nsb
if summ <= 0.5
bitout=0;
else
bitout=1;
end
end
end
where fds is the output from the transmitter after the envelope detector
please could anyone help me with this code?? thanks,

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 20 Apr. 2011

1 Stimme

I suspect that at the very least you want to move your "if" to after the "end" of the "for g". However, I have to been able to tell from your description what you are trying to do. For example, why calculate all those bitout values only to throw them away the next time you go through the loop?

3 Kommentare

Salma
Salma am 20 Apr. 2011
i did a little modification in the code
%ns=3000
%nsb=100
%tnb=30
%fds= output from envelope detector
for w=1:nsb:ns
summ=0;
for g=1:nsb
summ= summ+fds(g);
end
tot= summ/nsb;
if summ <= 0.5
bitout=0
else
bitout=1
end
end
the problem is that in the second for loop it loops only from 1 to 100 (1:nsb) but it doesn't continue from 101 to 200, 201 to 300 and so on.. so do you have any idea how could i solve that??
Walter Roberson
Walter Roberson am 20 Apr. 2011
for g = w:w+nsb-1
Salma
Salma am 21 Apr. 2011
thanks it works perfectly :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by