Tuesday, 24 July 2012

Region of Convergence of Z Transform Properties

The z-transform exists when the infinite sum converges.

The sum may not converge for all values of ‘z’. The value of ‘z’ for which the sum converges is called Region of Convergence (ROC). 


1. The ROC is a concentric ring or a circle in the z-plane centered at the origin.

2. The ROC cannot contain any poles.

3. If x(n) is a finite duration causal sequence, the ROC is entire z-plane except at z=0.        

If x(n) is a finite duration anti causal sequence, then the ROC is the entire z-plane       except at z=∞.
If x(n) is a finite duration 2-sided sequence, then the ROC will the entire z-plane except at z=0 and z=∞.                                                                                                
4.If x(n) is a right sided sequence and if the circle |z|=r0 is in the ROC, then all finite values of ‘z’ for which |z|>ro will also be in ROC.
5. If x(n) is a left sided sequence and if the circle |z|=r0 is in the ROC, then all values of z for which 0<|z|<ro will be in ROC.
6. If x(n) is a 2-sided sequence and if the circle |z|=r0 is in the ROC, then the ROC will consists of a ring in the z-plane that includes the circle |z|=r0
7. If the z-Transform X(z) of x(n) is rational, then its ROC is bounded by poles or extends to ‘∞’.
8. If the z-Transform X(z) of x(n) is rational and if x(n) is right sided, then ROC is the region in the z-plane outside the outermost pole. In other words, Outside the radius of circle = the largest magnitude of pole of x(z). If x(n) is causal then ROC also includes Z= ∞.
9. If the z-Transform X(z) of x(n) is rational and if x(n) is left sided, then ROC is the region in the z-plane inside the outermost ‘non zero pole’.

In other words, inside the circle of radius = the smallest magnitude of pole of x(z) other than at z=0 and extending inwards to and possibly including z=0. If x(n) is anti-causal, ROC includes z=0.
10.If x(n) is a finite duration 2-sided sequence, then ROC will consists of a circular ring in the z-plane bounded on the interior and exterior by a pole and not containing any pole.
11. The ROC of an LTI (Linear Time Invariant) system contains the unit circle.
12. ROC must be a connected region.

Inverse Z-Transform with Examples

represents the discrete time fourier transform of (r^-n*x (n)).

The Fourier inverse of X (r*e^ (j*ω)) is

x (n)*(r^-n) = (1/(2*π))* X (r*e^ (j*ω))* e^ (j*ω*n) dω

Multiplying by (r^n) on both sides, we get,

x (n)= (1/(2*π))* X (r*e^ (j*ω))* (r*e^ (j*ω))^n dω

Changing the variable of integration from ω to z
r*e^ (j*ω) = z

Differentiating the above equation, we get

r*j*( e^ (j*ω)) dω = dz

dω = (dz/ r*j*( e^ (j*ω)))

That is,   dω = (dz/ j*(r*( e^ (j*ω))))

dω = (dz/(z*j))


x (n) = (1/(2*π))* X (z)*(z^n)/ (j*z) dz =(1/(2*π*j))* X (z)*(z^(n-1)) dz

Since the integration over a(2*π) interval in ‘ω’, in terms of ‘z’ corresponds to one transfers around a circle |z|=r

x (n) =(1/(2*π*j))* X (z)*(z^(n-1)) dz

Which gives the inverse z-transform of x(z)
X (z) =(b0+(b1*z^(-1))+(b2*z^(-2))+………………..+(bm*z^(-m)))/(1+(a1*z^(-1)) +

Where (n>m).

The roots of the numerator polynomial are those values of ‘z’ for which x(z)=0 and are referred as zeroes of X (z).Zeros are represented by ‘0’ in the z-plane.

The roots of the denominator polynomial are those values of ‘z’ for which X (z) = ∞ and referred as poles of X (z).poles are represented by ‘x’ in the z-plane.

Z-Transform Basics with Formulas

The Z-Transform is the discrete time counter part of Laplace transform. Z-transform allows us to perform transform analysis of unstable systems and to develop additional insights and tools for LTI (linear Time Invariant)system analysis. The Z-transform transforms difference equation into algebraic equations and hence the discrete time system analysis is specified. Z Transform Basics with Z transform formulas are explained below,

The Z-Transform of a discrete time signal x(n) is defined as:

Where ‘z’ is a complex variable and z=r*e^ (j*ω)

Where ‘r’ is the radius of the circle.

If the sequence x(n) exists for ‘n’ in the range( -∞ to ∞), then,

represents a bilateral or two sided Z transform.

If the sequence x(n) exists only for n>=0,then

which is called one sided or unilateral Z-Transform.

Saturday, 21 July 2012

Hamming Code with Example

For a hamming code,

n = (2^m)-1
k = (2^m)-1-m
n-k = m,      where m>=3.
If this condition is satisfied then the code is called hamming code.
Hamming Distance:

Hamming distance is actually defined as the difference in number of elements in the respective locations.
Consider an example:
1101       1111

Hamming Weight:

Each code vector will have a hamming weight. Hamming weight is the number of non zero elements in the code vector.

Ci, t                                                                           Cj, t

T = the number of bits up to which the linear block code can correct.

In other words, it can correct the number of bits with in the circle.
If Ci and Cj are together taken, then the correct bits will be:

D (Ci, Cj) >= (2*t)+1  

 t – Ci , t – Cj .

i.e.  d (Ci, Cj)  >=  (2*t)+1

That is d min >= (2*t)+1
             d min-1 >= (2*t)
             (2*t) <= d min-1
              t <= ½*(d min– 1)
                                               d min
The minimum distance (d min) between two codes is the minimum code vector of the linear block codes.

Lempel Ziv Algorithm with Example

Coding for sources with memory:

                 A drawback of Huffman’s code is that it requires simple probabilities. For real time applications, Huffman encoding becomes impractical as a source statistics are not always known apriori. A code that might be more efficient to use statistical interdependence of the letters in the alphabet along with their individual probabilities of occurrences is the Lempel-ziv algorithm. This algorithm belongs to the class of universal source coding algorithms.

The logic behind Lempel-ziv universal coding is as follows:

* The compression of an arbitrary binary sequence is possible by coding a series of zeros and ones as some previous such string (prefix string) + one new bit.

* The new string formed by such parsing becomes a potential prefix, string for future strings.
   These variables are called phrases (sub sequences). The phrases are listed in a dictionary or code book which stores the existing phrases and their locations. In encoding a new phrase be specified the location of the existing phrase in the code book and append the new letter.

Consider an example:

1.     Determine the Lempel-ziv code for the given sequence:
000101110010100101…………..  ?
                   The given sequence is:
                                 00, 01, 011, 10, 010, 100, 101
Depending on this a table can be formed as :

Numeric position
Sub sequence
Numerical representation

Binary coding sequence


Maximum number in numerical representation = 6
No of bits = 3

0 = 000
1 = 001
2 = 0101
4 = 100
5 = 101
6 = 110

The last symbol of each sub sequence in the code book is an innovation sequence corresponding the last bit of each uniform blocks of bits in the binary encoded representation of the data stream represents innovation symbol for the particular subsequence under consideration. The remaining bits provide the equal binary representation of the pointer in the root subsequence that matches the one in question except for the innovation number