Scrambling Function, what I am doing wrong

3 views (last 30 days)
Shan
Shan on 5 Dec 2011
Hi,
I am trying write a scrambling program,Summary is as follow -Random data -Scrambling function with x^32 polynomial and e being initial states of 32 bit length. -Modulation -Demodulation -DeScrambling,
Now if I compare the output after the deScrambling it matches for first run but failed for rest. I have tried to clear/release the deScrambling handler and all possible solutions which I can think of.
I need to put Scrambling block into my already build physical layer simulation with other coding and modulation schemes. Code below is just test code which fails to return which is expected from deScrambling object
clc
clear all
N = 2;
px=[1,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1;];
e= [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;];
hSCR = comm.Scrambler(N,px,e);
p=4;
data = randint(p, 5);
for ii=1:p
scrData(ii,:) = step(hSCR, data(ii,:)');
end
hModulator = comm.BPSKModulator;
for ii=1:p
modData(ii,:) = step(hModulator, scrData(ii,:)');
end
hDemod = comm.BPSKDemodulator;
hDSCR = comm.Descrambler(N,px,e);
for ii=1:p
DemodData(ii,:) = step(hDemod, modData(ii,:)');
end
release(hDemod);
hDSCR = comm.Descrambler(N,px,e);
for ii=1:p
deScrData(ii,:) = step(hDSCR, DemodData(ii,:)');
release(hDSCR);
a(ii,:)=isequal(data(ii,:),deScrData(ii,:));
[data(ii,:)' deScrData(ii,:)']
% clear hDSCR;
end
a
  1 Comment
Walter Roberson
Walter Roberson on 5 Dec 2011
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

Sign in to comment.

Answers (1)

Shan
Shan on 5 Dec 2011
here is simplified version of this code,
uncomment the nested LOOP , which results in Scrambling function to fail, Why?????
clc
clear all
N = 2;
px=[1,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1;];
e= [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;];
hSCR = comm.Scrambler(N,px,e);
hDSCR = comm.Descrambler(N,px,e);
for jj=1:5
data(jj,:) = randint(1, 4);
scrData(jj,:) = step(hSCR, data(jj,:)');
end
for jj=1:5
% for counter = 1:3 %uncomment this loop and Scrambler fails, WHY?
deScrData = step(hDSCR, scrData(jj,:)');
a(jj)=isequal(data(jj,:)', deScrData);
% end
end
disp(a);
  3 Comments
Shan
Shan on 9 Dec 2011
Im using R2011b, But still have this error,
Why on 2nd loop it fails
:-(
Shan
Shan on 12 Dec 2011
I am testing that code on 2011b, When I enable nested loop scrambler fails.
Seems like bug in scrambling block?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!