Circular Coding [18] is a 2D coding method that allows data recovery with merely a cropped portion (size W × H) of the code and no carrier image knowledge involved. The B-bit payload is repeated from row-to-row, with each row being circularly shifted by D positions relative to the previous row. Every V rows, a phase row is interleaved between the payload rows. It is also shifted in the same manner as the payload rows. The encoded data array is embedded in a halftone image by shifting the dot-clusters within the halftone cells. The resulting image can be printed, and then captured with a mobile phone camera. The encoded data array is extracted from the captured halftone image by detecting the shifts in the dot-clusters. In this paper, we introduce the encoding and decoding system and investigate the performance of the method for noisy and distorted images. For a given required decoding rate, we modele the transmission error and compute the minimum requirement for the number of bit repeats. Also, we develope a closed form solution to find the the corresponding cropped-window size that will be used for the encoding and decoding system design.