Pages

Saturday, June 7, 2014

time shifting and scaling of signal


% time shifting and scaling of signal
clc;
clear all;
close all;

limit=15;
step=0.01;
T=5;
t=-limit:step:limit;

 x=t.*[t>=0 & t<=T];
 subplot(421)
 plot (t,x);
 grid on;
 xlabel('x(t)');

 a=-1;
 t0=0;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(422)
 plot (t,x);
 grid on;
 xlabel('x(-t)');

 a=1;
 t0=5;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(423)
 plot (t,x);
 grid on;
 xlabel('x(t+5)');

 a=1;
 t0=-5;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(424)
 plot (t,x);
 grid on;
 xlabel('x(t-5)');

 a=2;
 t0=0;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(425)
 plot (t,x);
 grid on;
 xlabel('x(2t)');

 a=1/2;
 t0=0;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(426)
 plot (t,x);
 grid on;
 xlabel('x(t/2)');

 a=2;
 t0=5;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(427)
 plot (t,x);
 grid on;
 xlabel('x(2t+5)');

 a=-2;
 t0=5;
 t1=a*t+t0;
 x=t1.*[t1>=0 & t1<=T];
 subplot(428)
 plot (t,x);
 grid on;
 xlabel('x(-2t+5)');

Sunday, February 23, 2014

HDB3


%HBD3
clc;
clear all;
close all;
x=[1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0];
%x=[1 0 0 0 0 1 0  1 1 1 0 0 0 0 1 0 1];
%x=[0 0 0 0 0 1 1 1 0 0 0 0 1 0];
hdb3_code=x;
ami_code=x;
nx=size(x,2);
next_pulse=1;
sign=-1;
B=0;
V=1;
N=0;
i=1;
flag=0;
four_zero=0;
while i<nx+1
    if x(i)==1
        hdb3_code(i)=next_pulse;      
        next_pulse=next_pulse*-1;
        N=N+1;      
       
    else
        if i<nx-2
            if (x(i+1)==0 & x(i+2)==0 & x(i+3)==0 )                                                              
                        if(rem(N,2)~=0 | flag==0)
                            B=0;
                            V=next_pulse*-1;
                        else
                            B=next_pulse;
                            V=B;
                            next_pulse=next_pulse*-1;
                        end                      
                        hdb3_code(i)=B;
                        hdb3_code(i+3)=V;                      
                        N=0;
                        flag=1;
                        four_zero=1;
                       
             end
        end        
    end
    if four_zero==1
        i=i+4;
        four_zero=0;
    else
        i=i+1;
    end
end
x
hdb3_code


i=1;
while i<nx+1
    t = i:0.001:i+1-0.001;
    if x(i)==1
        unipolar_code=square(t*2*pi,100);
        bipolar_code=sign*square(t*2*pi,100);
        sign=sign*-1;
       
    else
        unipolar_code=0;              
        bipolar_code=0;
       
    end
    subplot(3,1,1);
    plot(t,unipolar_code);
    ylabel('unipolar code');
    hold on;
    grid on;
    axis([1 nx -2 2]);
   
    subplot(3,1,2);
    plot(t,bipolar_code);
    ylabel('bipolar code');
    hold on;
    grid on;
    axis([1 nx -2 2]);
   
    subplot(3,1,3);
    plot(t,hdb3_code(i)*square(t*2*pi,100));
    ylabel('HDB3 code');
    hold on;
    grid on;
    axis([0 nx+1 -2 2]);
    i=i+1;
end