1. The problem statement, all variables and given/known data I am currently embarking on a project which requires me to design a system where I can transmit voice over a distance, by inputting an analog voice signal on one end and then recovering the voice which I input on the transmitting end at the receiving end. The general design (given by my teacher) is here (and I am allowed to modify the design if I wish to): However, I am stuck on the problem of achieving frame synchronisation, which is essential in recovering the voice signal at the decoder (receiver). 2. Relevant equations (I will state the components I have in here.) TTL I.C.s components: 74 HC 00 NAND gates 74 HC 04 NOT gate 74 HC 32 OR gates 74HC73 Dual J-K Flip-Flops with CLR 74HC74 D-flip-flop 74 HC 164 Parallel-out serial-in shift register 74 HC 165 Parallel-out serial-in shift register 74 HC 191 4-bit counter 74HC297 DPLL Analog components: TP3054/TP3057 PCM codec LM386 Audio amplifier 3. The attempt at a solution Currently, I have thought of using bit stuffing to achieve frame synchronisation while keeping the probability of the frame marker detector detecting false frames to a minimum via the attempt to eliminate false frame markers. However, in the project, we have to ensure bit synchronisation and hence, the presence of the bit clock hampers our solution, which is to do bit stuffing, since the insertion of a binary digit will extend the bit clock duration and cause bit synchronisation problems between the receiver and transmitter. Hence, I have modified our solution to the case where, instead of inserting a binary digit, I will change the LSB (least significant bit) of the n-bit codewords, e.g. 01111110 to 01111111, for instance. However, I have 3 questions in mind: Q1. Is this implementation of my solution possible with the chips I have above? Q2. How can I tell my chip to change the least significant bit of my n-bit codewords? Q3. How do I identify the LSB of my n-bit codewords? Just wondering, if my modified solution of bit stuffing does not work, are there any solutions or resources which I can point to to get ideas for eliminating to a minimum, false frame marker detection by the frame marker detector? A big thank you to anyone who can help me in my questions above. :D Thanks again!