DSP Basicprograms
DSP Basicprograms
Sine wave
clear all;
clc;
x=pi/10:pi/10:10*pi
y=sin(x);
plot(x,y)
Cosine wave
clear all;
clc;
x=pi/10:pi/10:10*pi
y=cos(x);
plot(x,y)
Ramp
clc;
clear all;
y=0:5
plot(y)
Step
clc;
clear all;
y=[0 ones(1,10)]
plot(y)
Exponential wave
clear all;
clc;
t=1:0.1:10
y=cosh(t)-sinh(t);
plot(y);
title('impulse');
xlabel('time');
ylabel('amplitude');
Triangular wave
clc;
clear all;
t=0;
for i=0:2
for x=0:10
t=t+1;
if(x<=5)
y(t)=x;
else
y(t)=10-x;
end
end
end
plot(y);
Square wave
clc;
clear all;
t=0;
for i=0:2
for x=0:10
t=t+1;
if(x<=5)
y(t)=-0.5;
else
y(t)=0.5;
end
end
end
plot(y);
Sawtooth wave
clc;
clear all;
t=0;
for i=0:2
for x=0:10
t=t+1;
if(x<=10)
y(t)=x;
else
y(t)=0;
end
end
end
plot(y);
Linear convolution
clear all;
clc;
x=[1 2 3 4];
h=[1 2 3 4 5]
N1=length(x);
N2=length(h);
X=[x,zeros(1,N2-1)];
H=[k,zeros(1,N1-1)];
for i=1:N1+N2-1
y(i)=0;
for j=1:N1
if(i-j+1>0)
y(i)=y(i)+X(j)*H(i-j+1)
end
end
end
stem(y)
Circular convolution
clear all;
clc;
x=[1 2 2 1];
h=[1 2 3 1];
N=length(x);
x1=fliplr(x);
x1=[x1(N) x1(1:N-1)]
for i=1:N
k=h';
y(i)=x1*k;
x1=[x1(end) x1(1:end-1)];
end
stem(y);
Auto correlation
x=[1 2 1 1];
h=fliplr(x);
N=length(x);
X=[x,zeros(1,N-1)];
H=[h,zeros(1,N-1)];
for i=1:2*N-1
y(i)=0;
for j=1:N
if(i-j+1>0)
y(i)=y(i)+X(j)*H(i-j+1);
end
end
end
stem(y)
Cross correlation
clear all;
clc;
x=[1 2 3 4];
h1=[1 2 3 4 5]
h=fliplr(h1);
N1=length(x);
N2=length(h);
X=[x,zeros(1,N2-1)];
H=[h,zeros(1,N1-1)];
for i=1:N1+N2-1
y(i)=0;
for j=1:N1
if(i-j+1>0)
y(i)=y(i)+X(j)*H(i-j+1)
end
end
end
stem(y)
dft
function w=dft(z)
%z=[1 1 0 0];
n=length(z);
for k=0:n-1
w(k+1)=0;
for i=0:n-1
w(k+1)=w(k+1)+z(i+1)*exp((-j*2*pi*k*i)/n);
end
end
disp('result');w
autocorr
function y=autocorr(x)
%x=[1 2 1 1];
h=fliplr(x);
N=length(x);
X=[x,zeros(1,N-1)];
H=[h,zeros(1,N-1)];
for i=1:2*N-1
y(i)=0;
for j=1:N
if(i-j+1>0)
y(i)=y(i)+X(j)*H(i-j+1);
end
end
end
stem(y)
plot(angle(h));
m=20*log10(abs(h));
plot(w/pi,m);
FIR HPF USING KAISERWINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
p=input('enter beta value');
n=input('enter n');
wp=(2*wp)/fs;
y=kaiser(n+1,p);
b=fir1(n,wp,'high',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BPF USING KAISERWINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
p=input('enter beta value');
n=input('enter n');
wp=(2*wp)/fs;
y=kaiser(n+1,p);
b=fir1(n,wp,'bandpass',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BRF USING KAISERWINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
p=input('enter beta value');
n=input('enter n');
wp=(2*wp)/fs;
y=kaiser(n+1,p);
b=fir1(n,wp,'stop',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR LPF USING HAMMING WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=hamming(n+1);
b=fir1(n,wp,y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR HPF USING HAMMING WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=hamming(n+1);
b=fir1(n,wp,'high',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BPF USING HAMMING WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=hamming(n+1);
b=fir1(n,wp,'bandpass',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BRF USING HAMMING WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=hamming(n+1);
b=fir1(n,wp,'stop',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
plot(w/pi,m);
plot(w/pi,m);
FIR HPF USING BLACKMAN WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=blackman(n+1);
b=fir1(n,wp,'stop',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BPF USING BLACKMAN WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=blackman(n+1);
b=fir1(n,wp,'stop',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);
FIR BRF USING BLACKMAN WINDOW
clear all;
clc;
wp=input('enter wp');
fs=input('enter fs');
n=input('enter n');
wp=(2*wp)/fs;
y=blackman(n+1);
b=fir1(n,wp,'stop',y);
[h,w]=freqz(b,1,256);
m=20*log10(abs(h));
plot(w/pi,m);