Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Nbits = 100;
- numtrials = 50;
- Bs = 1:10;
- for k=1:length(Bs)
- B = Bs(k)
- % https://www.mathworks.com/matlabcentral/fileexchange/24336
- H = walshcode(B);
- SF = size(H,1);
- D = kron(eye(Nbits), ones(1, SF));
- Hh = repmat(H, Nbits, 1);
- for trial=1:numtrials
- bits = sign(randn(Nbits, SF));
- bits_cr = upfirdn(bits, ones(1, SF), SF);
- x = sum(bits_cr .* Hh,2);
- x = sign(x-sign(randn(size(x)))*eps); % clip
- y = repmat(x,1,SF) .* Hh;
- bits_hat = sign(D*y);
- BER(trial,k) = sum(sum(bits_hat ~= bits))/SF/Nbits;
- end
- end
- plot(Bs, mean(BER));xlabel('log(WalshCodeLength)');ylabel('BER');
Add Comment
Please, Sign In to add comment