www.pudn.com > Simulation.zip > ReceiverHD.m
function [DataOut, Metric] = ReceiverHD(HDchips, G, Scrambler); % % ReceiverHD Hard Decision Receiver. This function performs transmitted packet data recovering, % based on Viterbi Decoder. % % Block Diagram: % HDchips -> [DeScrambler] -> [De-Interleaver] -> [Viterbi Decoder] % % % Inputs: HDchips - Hard Decision RAKE receiver symbols % G - Viterbi Encoder generation polynom % Scrambler - Scrambler sequence % % Outputs: DataOut - Received data (binary form) % Metric - The best metric of Viterbi Decoder % %====================== COMMON DEFINITIONS ================= %------- Viterbi Polynom --------- if (nargin == 1) G = [1 1 1 1 0 1 0 1 1; 1 0 1 1 1 0 0 0 1]; end %============================== R E C E I V E R ========================== %----------- DeScrambler--------- % Rate = 19.2 KBps HDchips = xor(HDchips, Scrambler); %-------- DeInterleaver --------- INTERL = reshape(HDchips, 16, 24); % IN-> rows, OUT-> columns HDchips = reshape(INTERL', length(HDchips), 1); % Rate = 19.2 KBps %-------- HD Input Viterbi Decoder ---------- [DataOut Metric] = VitDec(G, HDchips, 1);