Hi! I am Mahanta, a final student of communication enginerring. I'm recently doing a project regarding modulation algorithms by using matlab version 6.5.

I'v built up a simple NRZI encoding algorithm2 convert the binary inputs into analog signal. Ayw, when i come2 the effort adding bit stuffing in this NRZI, I'm totally lose n don't know where2 start. Could someone pls give idea2 me how2 implement bit stuffing in matlab code?

btw, NRZI stands for Non-Return-to-Zero Inverted & bit stuffing is used2 solve the problem of loosing synchronizatin with NRZI. In bit stuffing technique, each time a series of 5 consecutive '0' bits are transmitted, a '1' bit will automatically added to force a transition.

Below is the NRZI function i've developed. my assignations are :
fs=100Hz, Rb=1bps, M=2, binary_sequence_2 = [0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0]. i've oso attached the simulation result.

function Baseband_encoding = NRZI(binary_sequence,fs, Rb)
%=================NRZI======================

%---------wave_gen----------------------
Ts = 1/fs; % Sampling period
Tb = 1/Rb; % Binary data period;

no_binary = length(binary_sequence); % Number of bits to be coded
no_sample = no_binary * Tb/Ts; % Number of samples to be
time_t = [0:(no_sample-1)] * Ts; % Sampling instances
binary_sequence = binary_sequence(:); % column vector.

%---------------rect_NRZ---------------------
out = ones(1,fs/Rb);

%---------------differiential-----------------
delay = 1;
initial = ones(delay,1);
ns = length(binary_sequence);
tmp = [initial(:); ones(ns,1)];
for n = 1:1:(ns)
tmp(n+delay) = xor(binary_sequence(n),tmp(n));
end

% --------binary to polar conversion---------
polar_sequence_2 = 2*tmp - ones(size(tmp));

%-------------output--------------------------
x = (polar_sequence_2*out)';
Baseband_encoding = x(:);

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.