Mat Lab Programs for Ece Students

Published on March 2017 | Categories: Documents | Downloads: 20 | Comments: 0 | Views: 170
of 5
Download PDF   Embed   Report

Comments

Content


CONVOLUTION
%program for the generation of first sequence[x(n)]
N=input('enter the length of I sequence:');
n=-N:1:N;
X=input('enter the first sequence:');
subplot(3,1,1);
stem(n,X);
xlabel('time index');
ylabel('x(n)');
title('Iinputpsequence');
%program for the generation of second sequence[h(n)]
K=input('enter the length of II sequence:');
k=-K:1:K;
H=input('enter the second sequence:');
subplot(3,1,2);
stem(k,H);
xlabel('time index');
ylabel('h(k)');
title('IIinputpsequence');
%program for the generation of first sequence[y(n)=x(n)*h(n)]
p=(-N-K):1:(K+N);
y=conv(X,H)
subplot(3,1,3);
stem(p,y);
xlabel('time index');
ylabel('y(p)');
title('convolution');


FREQUENCY RESPONSE OF DISCRETE TIME SYSTEM

%program to plot frequency response of first order system
%y(n)-0.8y(n-1)=x(n)
clear all;
a=[1,-0.8];
b=[1];
w=-(2*pi):0.001:(2*pi);
[h]=freqz(b,a,w);
subplot(2,1,1);
plot(w/pi,abs(h));grid;
title('frequency response in pi');
xlabel('normalised frequency');
ylabel('magnitude response');
subplot(2,1,2);
plot(w/pi,angle(h));grid;
xlabel('normalised frequency');
ylabel('phase response');

DFT USING FFT
%program to compute DFT using FFT
clear all;
N=input('enter length of FFT:');
k=0:N-1;
x=input('enter the sequence:');
D=fft(x,N);
subplot(2,1,1);
stem(k,abs(D));
xlabel('k');
ylabel('real part of D');
title('magnitude part');
subplot(2,1,2);
stem(k,angle(D));
xlabel('k');
ylabel('imaginary part of D');
title('phase part');

BUTTERWORTH LPF
%program to design a butterworth low pass filter for the given
%specifications
clear all;
alphap=4;%pass band attenuation in dB
alphas=30;%stop band attenuation in dB
fp=400;%pass band frequency in hz
fs=800;%stop band frequency in hz
F=2000;%sampling frequency in hz
omp=2*fp/F; oms=2*fs/F;
%to find cutoff frequency and order of the filter
[n,wn]=buttord(omp,oms,alphap,alphas)
%system function of the filter
[b,a]=butter(n,wn)
w=0:0.01:pi;
[h,om]=freqz(b,a,w,'whole');
m=20*log10(abs(h));
an=angle(h);
subplot(2,1,1);
plot(om/pi,m);grid;
xlabel('gain in dB');
ylabel('normalised frequency');
title('magnitude response');
subplot(2,1,2);
plot(om/pi,an);grid;
ylabel('phase in radians')
xlabel('normalised frequency');
title('phase response');

BPF
%program to design a butterworth band pass filter for the
given
%specifications
clear all;
alphap=2;%pass band attenuation in dB
alphas=20;%stop band attenuation in dB
wp=[0.2*pi,0.4*pi];%pass band frequency in hz
ws=[0.1*pi,0.5*pi];%stop band frequency in hz
%to find cutoff frequency and order of the filter
[n,wn]=buttord(wp/pi,ws/pi,alphap,alphas)
%system function of the filter
[b,a]=butter(n,wn)
w=0:0.01:pi;
[h,ph]=freqz(b,a,w);
m=20*log(abs(h));
an=angle(h);
subplot(2,1,1);
plot(ph/pi,m);grid;
xlabel('gain in dB');
ylabel('normalised frequency');
title('magnitude response');
subplot(2,1,2);
plot(ph/pi,an);grid;
ylabel('phase in radians')
xlabel('normalised frequency');
title('phase response');

HPF
%program to design a butterworth high pass filter for the
given
%specifications
clear all;
alphap=4;%pass band attenuation in dB
alphas=30;%stop band attenuation in dB
fp=400;%pass band frequency in hz
fs=800;%stop band frequency in hz
F=2000;%sampling frequency in hz
omp=2*fp/F; oms=2*fs/F;
%to find cutoff frequency and order of the filter
[n,wn]=buttord(omp,oms,alphap,alphas)
%system function of the filter
[b,a]=butter(n,wn,'high')
w=0:0.01:pi;
[h,om]=freqz(b,a,w);
m=20*log10(abs(h));
an=angle(h);
subplot(2,1,1);
plot(om/pi,m);grid;
xlabel('gain in dB');
ylabel('normalised frequency');
title('magnitude response');
subplot(2,1,2);
plot(om/pi,an);grid;
ylabel('phase in radians')
xlabel('normalised frequency');
title('phase response');

DISCRETE
%program for generation of unit impulse sequence[$(n)]
k=input('enter the length of sequence of k=');
n=-k:1:k;
x=[zeros(1,k),ones(1,1),zeros(1,k)];
subplot(5,1,1);
stem(n,x);
xlabel('time index');
ylabel('$(n)');
title('unit impulse');
%program for generation of unit step function[U(n)]
L=input('enter length of sequence of L:');
n=-L:1:L;
x=[zeros(1,L),ones(1,(L+1))];
subplot(5,1,2);
stem(n,x);
xlabel('time index');
ylabel('U(n)');
title('unit step');
%program for generation of exponential function[c*(a.^n)]
N=input('Enter the duration of the signal N = ');
a=input ('Enter the scaling factor a = ');
c=input('enter the coefficient c=');
n=0:n-1;
y=c*(a.^n);
subplot(5,1,3);
stem(n,y);
ylabel ('Amplitude');
xlabel ('Time Index');
TITLE ('Exponential Signal');
%program for generation of sinusoidal sequence[S(n)]
N=input('enter length of sequence of N:');
n=0:N;
x=sin(2*pi/10*n);
subplot(5,1,4);
stem(n,x);
xlabel('time index');
ylabel('S(n)');
title('sinusoidal');
%program for generation of ramp function[Z(n)]
O=input('enter length of sequence of O:');
L=0:O;
x=L;
subplot(5,1,5);
stem(L,x);
xlabel('time index');
ylabel('Z(n)');
title('ramp function');

FOURIER TRANSFORM

%program for fourier transform of discete time
n=-10:10;
x=(-0.9).^n;
k=-200:200;
w=(pi/100)*k;
x=x*(exp(-1j*(pi/100)*(n'*k)));
magx=abs(x);
angx=angle(x);
subplot(2,1,1);
plot(w/pi,magx);grid;
xlabel('frequency in pi');
ylabel('modx');
title('magnitude port');
subplot(2,1,2);
plot(w/pi,angx/pi);grid;
xlabel('frequency in pi');
ylabel('phase part');


Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close