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,

 Accepted Answer

Walter Roberson
Walter Roberson on 20 Apr 2011
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 Comments

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??
for g = w:w+nsb-1
thanks it works perfectly :)

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!