Date post: | 26-Oct-2014 |
Category: |
Documents |
Upload: | mohanaprakash-ece |
View: | 73 times |
Download: | 6 times |
Page
1
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
SYLLABUS
080290034 - DIGITAL SIGNAL PROCESSING LABORATORY
LIST OF EXPERIMENTS
USING MATLAB
1- Generation of Discrete time Signals
2- Verification of Sampling Theorem
3- FFT and IFFT
4- Time & Frequency response of LTI systems
5- Linear and Circular Convolution through FFT
6- Design of FIR filters (Window design)
7-Design of IIR filters (Butterworth & Chebyshev)
USING TMS320C5X
1- Generation of Signals
2- Linear Convolution
3- Implementation of a FIR filter
4- Implementation of an IIR filter
5- Calculation of FFT
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
2
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
3
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 1 GENERATION OF WAVEFORMS USING MATLAB
DATE:
AIM:
To generate unit impulse, unit step, unit ramp, exponential, sine, cosine, saw tooth and square
waveforms.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the range for time‘t’.
Step 3: Generate the unit impulse wave function using s=[zeros(1, 20) zeros (1, 20)] and plot the
waveform.
Step 4: Generate the unit step wave function using s = [zeros (1, 20) zeros (1, 21)] and plot the
waveform.
Step 5: Generate the unit ramp wave function using s = [zeros (1, 20) 0:20] and plot the waveform.
Step 6: Generate the exponential function using exp (n) and plot the waveform.
Step 7: Generate the sine function using sin (t).
Step 8: Generate the saw tooth function using 2*pi*t and plot the waveform.
Step 9: Generate the cosine function using cos (t).
Step 10: Stop the program.
PROGRAM:
clc;
clear all;
close all;
%To plot the unit impulse function:
s=[zeros(1,20),ones(1,1),zeros(1,20)];
n1=-20:20;
subplot(2,2,1);
stem(n1,s);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
4
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
5
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
xlabel('time');
ylabel('amplitude');
title('unit impulse function');
%To plot the unit step function:
s=[zeros(1,20),ones(1,21)];
n2=-20:20;
subplot(2,2,2);
stem(n2,s);
xlabel('time');
ylabel('amplitude');
title('unit step function');
%To plot the unit ramp function:
s=[0:20];
n3=0:20;
subplot(2,2,3);
stem(n3,s);
xlabel('time');
ylabel('amplitude');
title('unit ramp function');
%To plot the unit exponential function:
n4=0:0.1:1;
subplot(2,2,4);
stem(n4,exp(n4));
xlabel('time');
ylabel('amplitude');
title('unit exponential function');
figure(2);
%To plot sine function:
t1=0:pi/12:2*pi;
y=sin(t1);
subplot(2,2,1);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
6
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
7
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
stem(t1,sin(t1));
xlabel('time');
ylabel('amplitude');
title('sine function');
%To plot cosine function:
t2=0:pi/12:2*pi;
y=cos(t2);
subplot(2,2,2);
stem(t2,cos(t2));
xlabel('time');
ylabel('amplitude');
title('cosine function');
%To plot sawtooth function:
t3=0:0.1:5;
y=sawtooth(2*pi*t3);
subplot(2,2,3);
stem(t3,y);
xlabel('time');
ylabel('amplitude');
title('sawtooth function');
%To plot square function:
t4=0:0.1:1;
y=square(2*pi*5*t4);
subplot(2,2,4);
stem(t4,y);
xlabel('time');
ylabel('amplitude');
title('square function');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
8
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
9
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
RESULT:
Thus the unit impulse, unit step, unit ramp, exponential, sine, cosine, saw tooth and square
waveforms are generated.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
10
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
11
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 2 LINEAR CONVOLUTION USING MATLAB
DATE:
AIM:
To perform linear convolution using the given sequences x(n) and h(n) and the output y(n) is
obtained.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the input sequence x (n).
Step 3: Get the input range.
Step 4: Obtain the input sequence h (n).
Step 5: Get the input range h (n).
Step 6: Convolute the sequence 1 and sequence 2.
Step 7: Obtain the output y (n).
Step 8: Graph is plotted in figure.
Step 9: Stop the program.
PROGRAM:
clc;
clear all;
close all;
%linear convolution
%input sequence X(n)
seq1=input('Enter the input sequence X(n):');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
12
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
13
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
n1=input('Enter the input range of X(n):');
subplot(2,2,1);
stem(n1,seq1);
title('input sequence X(n):');
xlabel('time');
ylabel('amplitude');
%input sequence h(n)
seq2=input('Enter the input sequence h(n):');
n2=input('Enter the range of h(n):');
subplot(2,2,2);
stem(n2,seq2);
title('input sequence h(n)');
xlabel('time');
ylabel('amplitude');
%convoluted sequence of y(n)
seq=conv(seq1,seq2);
n=(min(n1)+min(n2):1:max(n1)+max(n2));
disp(seq);
subplot(2,2,3);
stem(n,seq);
title('convoluted sequence of y(n)');
xlabel('time');
ylabel('amplitude');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
14
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
INPUT:
Enter the input sequence X(n):[1 2 3 4]
Enter the input range of X(n):0:3
Enter the input sequence h(n):[2 4 6 8]
Enter the range of h(n):0:3
OUTPUT:
2 8 20 40 50 48 32
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
15
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
RESULT:
Thus the linear convolution is performed by using the given sequences x(n) and h(n) and the
output y(n) is obtained by using MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
16
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
17
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 3 CIRCULAR CONVOLUTION USING MATLAB
DATE:
AIM:
To perform circular convolution using the given sequences x1(n), x2(n) and the output y(n) is
obtained.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program
Step 2: Input sequence x (n) and impulse response.
Step 3: h (n) is given as an input, shift the impulse response to one bit for every n values.
Step 4: Compute the circular convolution by using y (n):∑x(n)h(k-n)
Step 5: The output sequence should have a length M+N-1
Step 6:Plot the input and impulse response
Step 7: Plot the output sequence and end the program.
PROGRAM:
clc;
clear all;
close all;
%Circular convolution
%input sequence X1(n)
seq1=input('Enter the input sequence X1(n):');
N=length(seq1);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
18
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
19
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
%input sequence x2(n)
K=0:N-1;
subplot(2,1,1);
stem(K,seq1);
title('sequence1');
xlabel('time');
ylabel('amplitude');
seq2=input('enter the input sequence x2(n):');
subplot(2,1,2);
stem(K,seq2);
title('sequence2');
xlabel('n');
ylabel('x2(n)');
seq3=[seq2(1) fliplr(seq2(2:N))];
%to find the product of the two sequence
seq4=seq1.*seq3;
%to find the sum
seq(1)=sum(seq4);
for n=1:N-1;
seq5=[seq3(N) seq3(1:N-1)];
seq6=seq5.*seq1;
seq(n+1)=sum(seq6);
seq3=seq5;
end
%convolution sequence x2(n)
seq(n+1)=sum(seq6);
disp('circular convolution sequence y(n)=');
disp(seq);
figure;
stem(K,seq);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
20
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
INPUT:
Enter the input sequence X1(n):[1 1 2 1]
enter the input sequence x2(n):[4 2 5 3]
OUTPUT:
circular convolution sequence y(n)=
19 17 18 16
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
21
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
title('sequence3');
xlabel('n');
ylabel('x3(n)');
RESULT:
Thus the circular convolution was performed by using the sequences x1(n) and x2(n) and the
graph was plotted using the MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
22
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
23
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 4 FAST FOURIER TRASFORM USING MATLAB
DATE:
AIM:
To write a MATLAB program to compute Fast Fourier Transform.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Enter the input sequence.
Step 3: Calculate the FFT of the given sequence.
Step 4: Generate the wave for the sequence.
Step 5: Stop the program.
PROGRAM:
%To compute FFT of the samples
clc;
clear all;
close all;
%Read in the sequence
h=input('Type the sequence:');
%Before padding
%To compute its FFT
H=fft(h);
%to plot the magnitude and phase spectrum
subplot(3,1,1);
stem(abs(H));
xlabel('time');
ylabel('amplitude');
title('input sequence');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
24
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
INPUT:
Type the sequence:[1 1 1 1 0 0 0 0]
OUTPUT:
Columns 1 through 4
4.0000 1.0000 - 2.4142i 0 1.0000 - 0.4142i
Columns 5 through 8
0 1.0000 + 0.4142i 0 1.0000 + 2.4142i
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
25
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
subplot(3,1,2);
stem(abs(H));
xlabel('frequency');
ylabel('gain');
title('real part');
subplot(3,1,3);
stem(angle(H));
xlabel('frequency');
ylabel('angle');
title('phase plot');
disp(H);
RESULT:
Thus the program for Fast Fourier Transform has been computed and the corresponding
magnitude and phase spectrum plots were simulated using MATLAB.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
26
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
27
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 5 SAMPLING OF SEQUENCE USING MATLAB
DATE:
AIM:
To perform upsampling and downsampling of the input sequence.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the output large signal frequency and down sampling factor.
Step 3: Find the input sinusoidal signal.
Step 4: After sampling find the value of y from input sinusoidal signal.
Step 5: Plot the input and output signal.
Step 6: Stop the program.
PROGRAM:
%Down Sampling
clc;
clear all;
close all;
t=0:.00025:1;
x=sin(2*pi*30*t)+sin(2*pi*60*t);
y=decimate(x,4);
subplot(2,1,1);
stem(x(1:120));
title('Orginal Signal');
xlabel('time');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
28
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
29
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
ylabel('amplitude');
subplot(2,1,2);
stem(y(1:30));
title('Decimated Signal');
xlabel('time');
ylabel('amplitude');
%up sampling
figure(2);
N=input('enter the output length:');
L=input('enter the sampling factor:');
f1=input('frequency of the first sinusoidal:');
n=0:N-1;
x=sin(2*3.14*f1*n);
y=interp(x,L);
subplot(2,1,1);
stem(n,x(1:N));
title('input sequence');
xlabel('time');
ylabel('amplitude');
subplot(2,1,2);
n=0:N*L-1;
stem(n,y(1:N*L));
title('output sequence');
xlabel('time');
ylabel('amplitude');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
30
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
INPUT:
enter the output length:20
enter the sampling factor:2
frequency of the first sinusoidal:250
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
31
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
RESULT:
Thus the sampling of the sequence was performed using MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
32
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
33
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 6 IFFT COMPUTATIONS USING MATLAB
DATE:
AIM:
To illustrate IFFT computation using MATLAB program.
TOOLS REQUIRED:
MATLAB 7.5and PC
ALGORITHM:
STEP 1: Start the process
STEP 2: Get the Input sequence.
STEP 3: Compute the Real and Imaginary parts of the spectrum
STEP 4: Calculate the IFFT using the function ifft (h)
STEP 5: Plot the Amplitude and Frequency in x & y axis respectively
STEP 6: Stop the program
PROGRAM:
clc;
clear all;
close all;
% READ IN THE SEQUENCE
h=input('enter the input sequence=');
% COMPUTE ITS IFFT
H=ifft(h)
% TO PLOT THE MAGNITUDE AND PHASE SPECTRUM
figure(1);
subplot(3,1,1);
stem(H);
xlabel('frequency index');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
34
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
INPUT:
enter the input sequence=[5 0 (1-j) 0 1 0 (1+j) 0]
OUTPUT:
H = 1.0000 0.7500 0.5000 0.2500 1.0000 0.7500 0.5000 0.2500
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
35
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
ylabel('amplitude');
title('input sequence');
subplot(3,1,2);
stem(abs(H));
xlabel('time index');
ylabel('amplitude');
title('real part of the domain sample');
subplot(3,1,3);
stem(angle(H));
xlabel('time index');
ylabel('amplitude');
title('imaginary part of time domain sample');
RESULT
Thus the Inverse Fast Fourier Transform is computed using MATLAB.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
36
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
37
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 7 FIR FILTER DESIGN USING RECTANGULAR WINDOW
DATE:
AIM:
To write a MATLAB program to design FIR LPF, BPF HPF and BSF using rectangular
window.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the cutoff frequency and number of samples.
Step 3: Select the filter type.
Step 4: Draw the FIR filter using rectangular window.
Step 5: Stop the program.
PROGRAM:
clc;
clear all;
close all;
%fir LPF
wc=0.6;
n=40;
a=fir1(n,wc,'low',boxcar(n+1));
[h,w]=freqz(a,1,256);
b=abs(h);
m=20*log10(b);
subplot(2,2,1);
plot(w/pi,m);
grid on;
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
38
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
39
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
xlabel('frequency');
ylabel('amplitude');
title('LOW PASS RECTANGULAR');
%fir HPF
wc=0.6;
n=40;
a=fir1(n,wc,'high',boxcar(n+1));
[h,w]=freqz(a,1,256);
b=abs(h);
m=20*log10(b);
subplot(2,2,2);
plot(w/pi,m);
grid on;
xlabel('frequency');
ylabel('amplitude');
title('HIGH PASS RECTANGULAR');
%fir BPF
wc1=0.6;
wc2=0.9;
n=40;
a=fir1(n,[wc1,wc2],'band',boxcar(n+1));
[h,w]=freqz(a,1,256);
b=abs(h);
m=20*log10(b);
subplot(2,2,3);
plot(w/pi,m);
grid on;
xlabel('frequency');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
40
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
41
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
ylabel('amplitude');
title('BAND PASS RECTANGULAR');
%fir BSF
wc1=0.4;
wc2=0.6;
n=40;
a=fir1(n,[wc1,wc2],'stop',boxcar(n+1));
[h,w]=freqz(a,1,256);
b=abs(h);
m=20*log10(b);
subplot(2,2,4);
plot(w/pi,m);
grid on;
xlabel('frequency');
ylabel('amplitude');
title('BAND STOP RECTANGULAR');
RESULT:
Thus the FIR LPF, HPF, BPF, BSF filters were designed using rectangular window by
MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
42
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
43
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 8 FIR FILTER DESIGN USING HAMMING WINDOW
DATE:
AIM:
To write a MATLAB program to design FIR filter using hamming window.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Assume a value and
Step 3:Find the frequency difference between wp,wc and find the order of the filter.
Step 4: Plot the frequency response using respective known formula.
Step 5: Run the program.
Step 6: Stop the program.
PROGRAM:
clc;
clear all;
close all;
%ws=stop band frequency
ws=0.4*pi;
%wp=pass band frequency
wp=0.05*pi;
%as=side band frequency
as=50;
%wc=cut off frequency
wc=(ws+wp)/2;
%fd=frequency difference between ws and wp
fd=ws-wp;
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
44
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
45
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
%m=order of the filter
m=round(6.6*pi/fd);
%hd=LPF(wc,m)
a=(m-1)/2;
for n=1:1:m;
hd(n)=sin((wc*(n-a)))/(pi*(n-a));
end
w=hamming(m);
%h(n)=hd(n)*wn;
h=w*hd(n);
n=0:m-1;
%to plot the result
[seq,r]=freqz(h,1,500);
dbseq=20*log10(seq);
subplot(1,1,1);
plot(r/pi,dbseq);
title('response in the frequency domain');
grid on;
RESULT:
Thus the FIR filter design using hamming window was performed and simulated by a MATLAB
program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
46
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
47
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 9 FIR FILTER DESIGN USING KAISER WINDOW
DATE:
AIM:
To write a MATLAB program to design FIR filter using Kaiser window for LPF, HPF, BPF,
BSF.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the pass band and stop band ripples get the pass band and stop band edge frequencies.
Step 3: Get the sampling frequency.
Step 4: Calculate the order of the filter.
Step 5: Find the window co-efficient using formula.
Step 6: Draw the magnitude and phase response.
PROGRAM:
clc;
clear all;
close all;
rp=input('enter the passband ripple:');
rs=input('enter the stopband ripple:');
fp=input('enter the passband frequency:');
fs=input('enter the stopband frequency:');
f=input('enter the sampling frequency:');
beta=input('enter the beta value:');
wp=2*fp/f;
ws=2*fs/f;
num=-20*log10(sqrt(rp*rs))-13;
den=14.6*(fs-fp)/f;
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
48
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
INPUT:
enter the passband ripple:0.04
enter the stopband ripple:0.02
enter the passband frequency:1200
enter the stopband frequency:1300
enter the sampling frequency:7000
enter the beta value:3
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
49
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
n=ceil(num/den);
n1=n+1;
if(rem(n,2)~=0);
n1=n;
n=n-1;
end
y=kaiser(n1,beta);
%low pass filter
b=fir1(n,wp,'low',y);
[h,o]=freqz(b,1,256);
m=20*log10(abs(h));
subplot(2,2,1);
plot(o/pi,m);
ylabel('gain in db--->');
xlabel('(a)normalized frequency--->');
grid on;
%high pass filter
b=fir1(n,wp,'high',y);
[h,o]=freqz(b,1,256);
m=20*log10(abs(h));
subplot(2,2,2);
plot(o/pi,m);
ylabel('gain in db--->');
xlabel('(b)normalized frequency--->');
grid on;
%band pass filter
wn=[wp,ws];
b=fir1(n,wn,'band',y);
[h,o]=freqz(b,1,256);
m=20*log(abs(h));
subplot(2,2,3);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
50
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
51
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
plot(o/pi,m);
ylabel('gain in db--->');
xlabel('(c)normalized frequency--->');
grid on;
%band stop filter
b=fir1(n,wn,'stop',y);
[h,o]=freqz(b,1,256);
m=20*log(abs(h));
subplot(2,2,4);
plot(o/pi,m);
ylabel('gain in db--->');
xlabel('(c)normalized frequency--->');
grid on;
RESULT:
Thus the FIR filter using Kaiser window was designed and simulated by MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
52
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
53
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 10 BUTTERWORTH IIR FILTER USING MATLAB
DATE:
AIM:
To illustrate the design of Butterworth IIR Filter by using MATLAB program.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Calculate ws and wp of [(fs*2)/fs] and [fs*2/fs]
Step 3: The order of filter is N.
Step 4: The poles and zeros of corresponding filter to be calculated.
Step 5: Plot the frequency response.
Step 6: The procedure is repeated for low pass, high pass, band pass and band stop filter.
Step 7: Stop the program
PROGRAM:
clc;
clear all;
close all;
Fs=1000;
fp=350;
fs=200;
rs=0.5;
rp=0.4;
ws=(fs*2)/Fs;
wp=(fp*2)/Fs;
%to plot for low pass filter
[N1,wn1]=buttord(wp,ws,rp,rs);
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
54
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
55
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
[b1,a1]=butter(N1,wn1,'low');
[h1,o1]=freqz(b1,a1,512,fs);
%m1=20*log10(abs(h1));
figure(1);
subplot(2,2,1);
plot(o1/pi,h1);
grid on;
title('LOW PASS FILTER');
xlabel('Frequency');
ylabel('Gain');
%plot for high pass filter
[N2,wn2]=buttord(wp,ws,rp,rs);
[b2,a2]=butter(N2,wn2,'high');
[h2,o2]=freqz(b2,a2,512,fs);
%m1=20*log10(abs(h1));
subplot(2,2,2);
plot(o2/pi,h2);
grid on;
title('HIGH PASS FILTER');
xlabel('frequency');
ylabel('gain');
%plot for band pass filter
w1=[wp,ws];
[N3,wn3]=buttord(wp,ws,rp,rs);
[b3,a3]=butter(N3,w1,'bandpass');
[h3,o3]=freqz(b3,a3,512,fs);
%m1=20*log10(abs(h));
subplot(2,2,3);
plot(o3/pi,h3);
grid on;
title('BAND PASS FILTER');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
56
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
57
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
xlabel('frequency');
ylabel('gain');
%plot for band stop filter
w2=[wp,ws];
[N4,wn4]=buttord(wp,ws,rp,rs);
[b4,a4]=butter(N4,w2,'stop');
[h4,o4]=freqz(b4,a4,512,fs);
%m1=20*log10(abs(h));
subplot(2,2,4);
plot(o4/pi,h4);
grid on;
title('BAND STOP FILTER');
xlabel('frequency');
ylabel('gain');
RESULT:
Thus the Butterworth IIR filter has been designed and simulated using a MATLAB program.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
58
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
59
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 11 FREQUENCY RESPONSES OF LTI SYSTEMS USING MATLAB
DATE:
AIM:
To write a MATLAB program to obtain the frequency response of LTI system.
TOOLS REQUIRED:
MATLAB 7.5 and PC
ALGORITHM:
Step 1: Start the program.
Step 2: Get the sequence for system 1.
Step 3: Get the sequence for system 2.
Step 4:Obtain the frequency response on the systems.
Step 5:Plot the frequency response on system 1 and 2.
PROGRAM:
clc;
clear all;
close all;
b=ones(1,5);
a=[1];
d=[1,-1];
f=[1];
w=0:.01:2*pi;
[h1]=freqz(b,a,w);
[h2]=freqz(d,f,w);
subplot(2,2,1);
plot(w/pi,abs(h1));
xlabel('normalised frequency');
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
60
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
OUTPUT WAVEFORM:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
61
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
ylabel('magnitude');
grid on;
subplot(2,2,3);
plot(w/pi,angle(h1));
xlabel('normalised frequency');
ylabel('phase in radians');
grid on;
subplot(2,2,2);
plot(w/pi,abs(h2));
xlabel('normalised frequency');
ylabel('magnitude');
grid on;
subplot(2,2,4);
plot(w/pi,angle(h2));
xlabel('normalised frequency');
ylabel('phase in radians');
grid on;
RESULT:
Thus the frequency response of the LTI system is plotted successfully.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
62
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
63
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 12 LINEAR CONVOLUTIONS
DATE:
AIM:
To write a DSP Processor program to obtain the linear convolution between two finite duration
sequence x(n) and h(n).
TOOLS REQUIRED:
Hardware: PC, TMS320 C6713 Trainer kit
Software: Vi debugger for C6713.
PROGRAM:
input .set 80001000h ; 00009000h ;
coeff .set 80001100h ; 00009050h ;
output .set 80001200h ; 00009100h ;
buff .set 80001300h ; 00009200h ;
.sect "00006000h"
.text
mvkl input,a4
mvkh input,a4
mvkl coeff,a5
mvkh coeff,a5
add a4,10h,a4
nop 2
add a5,10h,a5
nop 2
mvkl buff,a3
mvkh buff,a3
mvkl output,a6
mvkh output,a6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
64
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl 8,b2
mvkh 8,b2
zer:
mvkl 00000000h,a2
mvkh 00000000h,a2
stw a2,*a3++
nop 7
stw a2,*a4++
nop 7
stw a2,*a5++
nop 7
stw a2,*a6++
nop 7
sub b2,1h,b2
nop 2
[b2] b zer
nop 6
mvkl input,a4
mvkh input,a4
mvkl 7h,b1
mvkh 7h,b1
mvkl output,a9
mvkh output,a9
start1:
mvkl coeff,a1
mvkh coeff,a1
mvkl buff,a3
mvkh buff,a3
ldw *a4++[1],a8
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
65
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
stw a8,*a3
nop 6
mvkl 4,b0
mvkh 4,b0
nop 3
MVKL 00000000H,a7
MVKh 00000000H,a7
loop1:
ldw *a1++,a5
nop 6
ldw *a3++,a6
nop 6
mpy a5,a6,a6
nop 4
add a7,a6,a7
nop 2
sub b0,1,b0
nop 2
[b0] b loop1
nop 7
stw a7,*a9++[1]
nop 6
mvkl 4,b0
mvkh 4,b0
mvkl buff,b3
mvkh buff,b3
ldw *b3,b4
nop 6
loop2: ; loop to copy x(n) to x(n-1)
ldw *+b3(4),b5
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
66
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
stw b4,*++b3
nop 6
mv b5,b4
nop 2
sub b0,1,b0
nop 2
[b0] b loop2
nop 6
sub b1,1,b1
nop 2
[b1] b start1
nop 7
halt:
b halt
nop 7
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
67
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
RESULT:
Thus the DSP processor for linear convolution was generated, loaded and implemented
successfully.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
68
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 13 CALCULATION OF FFT
DATE:
AIM:
To write a DSP Processor program to calculate the FFT.
TOOLS REQUIRED:
Hardware: PC, TMS320 C6713 Trainer kit
Software: Vi debugger for C6713.
PROGRAM:
8 FFT
.sect "00006000h"
.text
MEMORY .SET 80001000H
MEMREAL .SET 80001200H
MEMIMAG .SET 80001400H
MEMORY1 .SET 80001600H
MEMWRI .SET 80001800H
BFY .SET 80002200H
GRP .SET 80002204H
DNS .SET 80002208H
STG .SET 8000220AH
STGC .SET 8000220AH
main:
mvkl MEMORY,a10
nop
mvkh MEMORY,a10
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
69
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop
mvkl 8,a1
nop
mvkh 8,a1
nop
mvkl MEMORY1,a11
nop
mvkh MEMORY1,a11
nop
copymem:
ldw *a10++[1],a12
nop 6
stw a12,*a11++[1]
nop 6
sub a1,1,a1
nop
[a1] b copymem
nop
nop 6
b bitrev
nop
nop 6
mainret1:
b inczer
nop
nop 6
mainret2:
mvkl 1,a4 ; BFY
nop
mvkh 1,a4
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
70
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl 4,a5 ; GRP
nop
mvkh 4,a5
nop
mvkl 2,a6 ; DNS
nop
mvkh 2,a6
nop
mvkl 3,a7 ; STG
nop
mvkh 3,a7
nop
mvkl 2,a8 ; STGC
nop
mvkh 2,a8
nop
mvkl 3,b0 ; stage loop
nop
mvkh 3,b0
nop
stgloop:
zero b3 ; (((b3))) -> k
mv a6,b6
nop 3
mv a5,a9
cmpeq a5,4,a1
nop
[!a1] b nochg
nop
nop 6
zero a9 ; a9 -> INCTF
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
71
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop
nochg:
mv a9,a9 ; INCTF
nop
mv a5,b1
nop
mvkl MEMWRI,b10
nop
mvkh MEMWRI,b10
nop
grploop:
zero b3 ; k
mv a4,b2 ; ar4
nop
bfyloop:
ldw *b10++[b6],b7
nop 6
mvkl mulbk,b12
nop
mvkh mulbk,b12
nop
b mul
nop
nop 6
mulbk:
mv a6,b6
nop 3
ldw *b10--[b6],b7
nop 6
mvkl adsmbk,b13
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
72
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkh adsmbk,b13
nop
b adsm
nop
nop 6
adsmbk:
add b3,a9,b3
nop
sub b2,1,b2
nop
[b2] b bfyloop
nop
nop 6
mv a6,b6
nop 3
ldw *b10++[b6],b7
nop 6
sub b1,1,b1
nop
[b1] b grploop
nop
nop 6
mpy a4,2,a4
nop
mpy a6,2,a6
nop
;mpy a6,4,b6
mv a6,b6
nop 3
shr a5,1,a5
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
73
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sub b0,1,b0
nop
[b0] b stgloop
nop
nop 6
mvkl MEMWRI,a9
nop
mvkh MEMWRI,a9
nop
mvkl 8,b0
nop
mvkh 8,b0
nop
mvkl MEMREAL,a10
nop
mvkh MEMREAL,a10
nop
mvkl MEMIMAG,a11
nop
mvkh MEMIMAG,a11
nop
separate:
ldw *a9++[1],a5
nop 6
stw a5,*a10++[1]
nop 6
ldw *a9++[1],a5
nop 6
stw a5,*a11++[1]
nop 6
sub b0,1,b0
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
74
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop
[b0] bseparate
nop
nop 6
halt:
b halt
nop
nop 5
inczer:
mvkl MEMORY1,a4
nop
mvkh MEMORY1,a4
nop
mvkl MEMWRI,a5
nop
mvkh MEMWRI,a5
nop
mvkl 8,b0
nop
mvkh 8,b0
nop
inszer:
ldw *a4++[1],a6
nop 5
stw a6,*a5++[1]
nop 5
zero a6
stw a6,*a5++[1]
nop 5
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
75
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sub b0,1,b0
nop
[b0] b inszer
nop
nop 6
b mainret2
nop
nop 6
bitrev:
mvkl MEMORY1,b1
nop
mvkh MEMORY1,b1
nop
mvkl 1,b3
nop
mvkh 1,b3
nop
mvkl 1,b2
nop
mvkh 1,b2
nop
mainloop
cmpgt b3,b2,b0
nop
[!b0] b noswap
nop
nop 6
sub b3,1,b4
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
76
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
ldw *b1++[b4],a5
nop 6
ldw *b1--[b4],a5
nop 6
sub b2,1,b5
nop
ldw *b1++[b5],a6
nop 6
ldw *b1,a6
nop 6
stw a5,*b1--[b5]
nop 6
stw a6,*++b1[b4]
nop 6
ldw *b1--[b4],a10
nop 6
noswap:
mvkl 8,b7 ; 8,16,32
nop
mvkh 8,b7 ; 8,16,32
nop
shr b7,1,b7
nop
shloop:
cmpgt b3,b7,b0
nop
[!b0] b gtnsat
nop
nop 6
mvkl 1,b8
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
77
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkh 1,b8
nop
cmpgt b7,b8,b0
nop
[!b0] b gtnsat
nop
nop 6
sub b3,b7,b3
nop
shr b7,1,b7
nop
b shloop
nop
nop 6
gtnsat:
add b3,b7,b3
nop
mvkl 9,a8 ; 9,17,33
nop
mvkh 9,a8 ; 9,17,33
nop
add b2,1,b2
nop
cmplt b2,a8,a2
nop
[a2] b mainloop
nop
nop 6
b mainret1
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
78
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop 6
mul:
mvkl tabcos,b14
nop
mvkh tabcos,b14
nop
mv b3,b6
nop 3
ldw *b14++[b6],a10
nop 6
ldw *b14,a10 ; c
nop 6
mvkl tabsin,b14
nop
mvkh tabsin,b14
nop
mv b3,b6
nop 3
ldw *b14++[b6],a11
nop 6
ldw *b14,a11 ; d
nop 6
ldw *b10++[1],a12 ; a
nop 6
ldw *b10--[1],a13 ; b
nop 6
mpy a12,a10,a14 ; ac
nop 3
mpy a11,a13,a15 ; bd
nop 3
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
79
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sub a14,a15,a14 ; ac-bd
nop 2
shr a14,8,a14
nop 2
stw a14,*b10++[1]
nop 6
mpy a12,a11,a14 ; ad
nop 3
mpy a10,a13,a15 ; bc
nop 3
add a14,a15,a14 ; ad+bc
nop 2
shr a14,8,a14
nop 2
stw a14,*b10--[1]
nop 6
;mpy a6,4,b6
mv a6,b6
nop 3
b b12
nop
nop 6
adsm:
ldw *b10++[b6],b7
nop 6
mv b7,a10
nop 3
ldw *b10--[b6],b8
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
80
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mv b8,a11
nop 3
add b7,b8,b7
nop
stw b7,*b10
nop 6
sub a10,a11,a12
nop
ldw *b10++[b6],a10
nop 6
stw a12,*b10--[b6]
nop 6
ldw *b10++[1],b7
nop 6
ldw *b10++[b6],b7
nop 6
mv b7,a10
nop
ldw *b10--[b6],b8
nop 6
mv b8,a11
nop
add b7,b8,b7
nop
stw b7,*b10
nop 6
sub a10,a11,a12
nop
ldw *b10++[b6],a10
nop 6
stw a12,*b10--[b6]
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
81
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop 6
ldw *b10--[1],a10
nop 6
ldw *b10++[2],a10
nop 6
b b13
nop
nop 6
tabcos:
.word 000000100H
.word 0000000B5H
.word 000000000H
.word 0FFFFFF4BH
tabsin:
.word 000000000H
.word 0FFFFFF4BH
.word 0FFFFFF00H
.word 0FFFFFF4BH
RESULT:
Thus the DSP processor program for calculating FFT was generated, loaded and calculated
successfully.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
82
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
83
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 14 GENERATION OF WAVEFORMS
DATE:
AIM:
To write a DSP Processor program to generation a following standard input signal.
1. Sinusoidal wave.
2. Saw tooth wave.
3. Triangular wave
4. Square wave.
TOOLS REQUIRED:
Hardware: PC, TMS320 C6713 Trainer kit
Software: Vi debugger for C6713.
PROGRAM:
SINE WAVE GENERATION
.sect "00006000h"
.text
dac1 .set 90040008h
start:
nop
mvkl table,a0
mvkh table,a0
nop
nop
mvkl dac1,a1
mvkh dac1,a1
nop
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
84
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl 0174h,b1
nop
nop
loop1:
ldw .d1 *a0++[1],a2
nop 5
stw .d1 a2,*a1
nop 5
sub b1,1,b1
nop
[b1] b loop1
nop
nop 6
b start
nop
nop 6
hlt:
b hlt
nop
nop 6
table:
.word 07ffH
.word 0815H
.word 082cH
.word 0842H
.word 0859H
.word 0870H
.word 0886H
.word 089dH
.word 08b3H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
85
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 08caH
.word 08e0H
.word 08f6H
.word 090dH
.word 0923H
.word 0939H
.word 094fH
.word 0965H
.word 097bH
.word 0990H
.word 09a6H
.word 09bbH
.word 09d1H
.word 09e6H
.word 09fbH
.word 0a10H
.word 0a25H
.word 0a3aH
.word 0a4eH
.word 0a62H
.word 0a77H
.word 0a8bH
.word 0a9eH
.word 0ab2H
.word 0ac5H
.word 0ad9H
.word 0aecH
.word 0afeH
.word 0b11H
.word 0b23H
.word 0b36H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
86
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0b47H
.word 0b59H
.word 0b6bH
.word 0b7cH
.word 0b8dH
.word 0b9eH
.word 0baeH
.word 0bbeH
.word 0bceH
.word 0bdeH
.word 0bedH
.word 0bfcH
.word 0c0bH
.word 0c1aH
.word 0c28H
.word 0c36H
.word 0c43H
.word 0c51H
.word 0c5eH
.word 0c6aH
.word 0c77H
.word 0c83H
.word 0c8fH
.word 0c9aH
.word 0ca5H
.word 0cb0H
.word 0cbbH
.word 0cc5H
.word 0cceH
.word 0cd8H
.word 0ce1H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
87
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0ceaH
.word 0cf2H
.word 0cfaH
.word 0d02H
.word 0d09H
.word 0d10H
.word 0d17H
.word 0d1dH
.word 0d23H
.word 0d28H
.word 0d2dH
.word 0d32H
.word 0d37H
.word 0d3bH
.word 0d3eH
.word 0d42H
.word 0d45H
.word 0d47H
.word 0d49H
.word 0d4bH
.word 0d4dH
.word 0d4eH
.word 0d4eH
.word 0d4eH
.word 0d4eH
.word 0d4eH
.word 0d4dH
.word 0d4cH
.word 0d4aH
.word 0d48H
.word 0d46H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
88
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0d43H
.word 0d40H
.word 0d3dH
.word 0d39H
.word 0d34H
.word 0d30H
.word 0d2bH
.word 0d26H
.word 0d20H
.word 0d1aH
.word 0d13H
.word 0d0dH
.word 0d05H
.word 0cfeH
.word 0cf6H
.word 0ceeH
.word 0ce5H
.word 0cdcH
.word 0cd3H
.word 0ccaH
.word 0cc0H
.word 0cb5H
.word 0cabH
.word 0ca0H
.word 0c94H
.word 0c89H
.word 0c7dH
.word 0c71H
.word 0c64H
.word 0c57H
.word 0c4aH
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
89
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0c3dH
.word 0c2fH
.word 0c21H
.word 0c12H
.word 0c04H
.word 0bf5H
.word 0be5H
.word 0bd6H
.word 0bc6H
.word 0bb6H
.word 0ba6H
.word 0b95H
.word 0b84H
.word 0b73H
.word 0b62H
.word 0b50H
.word 0b3eH
.word 0b2cH
.word 0b1aH
.word 0b08H
.word 0af5H
.word 0ae2H
.word 0acfH
.word 0abcH
.word 0aa8H
.word 0a94H
.word 0a80H
.word 0a6cH
.word 0a58H
.word 0a44H
.word 0a2fH
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
90
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0a1aH
.word 0a06H
.word 09f1H
.word 09dbH
.word 09c6H
.word 09b1H
.word 099bH
.word 0985H
.word 0970H
.word 095aH
.word 0944H
.word 092eH
.word 0918H
.word 0901H
.word 08ebH
.word 08d5H
.word 08beH
.word 08a8H
.word 0891H
.word 087bH
.word 0864H
.word 084eH
.word 0837H
.word 0820H
.word 080aH
.word 07f4H
.word 07ddH
.word 07c7H
.word 07b0H
.word 0799H
.word 0783H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
91
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 076cH
.word 0756H
.word 073fH
.word 0729H
.word 0713H
.word 06fcH
.word 06e6H
.word 06d0H
.word 06baH
.word 06a4H
.word 068eH
.word 0678H
.word 0663H
.word 064dH
.word 0638H
.word 0622H
.word 060dH
.word 05f8H
.word 05e3H
.word 05cfH
.word 05baH
.word 05a6H
.word 0591H
.word 057dH
.word 0569H
.word 0556H
.word 0542H
.word 052fH
.word 051cH
.word 0509H
.word 04f6H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
92
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 04e4H
.word 04d1H
.word 04bfH
.word 04aeH
.word 049cH
.word 048bH
.word 047aH
.word 0469H
.word 0458H
.word 0448H
.word 0438H
.word 0428H
.word 0418H
.word 0409H
.word 03faH
.word 03ecH
.word 03ddH
.word 03cfH
.word 03c1H
.word 03b4H
.word 03a7H
.word 039aH
.word 038dH
.word 0381H
.word 0375H
.word 0369H
.word 035eH
.word 0353H
.word 0349H
.word 033eH
.word 0334H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
93
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 032bH
.word 0322H
.word 0319H
.word 0310H
.word 0308H
.word 0300H
.word 02f8H
.word 02f1H
.word 02ebH
.word 02e4H
.word 02deH
.word 02d8H
.word 02d3H
.word 02ceH
.word 02c9H
.word 02c5H
.word 02c1H
.word 02beH
.word 02bbH
.word 02b8H
.word 02b6H
.word 02b4H
.word 02b2H
.word 02b1H
.word 02b0H
.word 02b0H
.word 02b0H
.word 02b0H
.word 02b0H
.word 02b2H
.word 02b3H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
94
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 02b5H
.word 02b7H
.word 02b9H
.word 02bcH
.word 02c0H
.word 02c3H
.word 02c7H
.word 02ccH
.word 02d1H
.word 02d6H
.word 02dbH
.word 02e1H
.word 02e7H
.word 02eeH
.word 02f5H
.word 02fcH
.word 0304H
.word 030cH
.word 0314H
.word 031dH
.word 0326H
.word 0330H
.word 0339H
.word 0344H
.word 034eH
.word 0359H
.word 0364H
.word 036fH
.word 037bH
.word 0387H
.word 0394H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
95
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 03a0H
.word 03adH
.word 03bbH
.word 03c8H
.word 03d6H
.word 03e5H
.word 03f3H
.word 0402H
.word 0411H
.word 0420H
.word 0430H
.word 0440H
.word 0450H
.word 0461H
.word 0471H
.word 0482H
.word 0494H
.word 04a5H
.word 04b7H
.word 04c9H
.word 04dbH
.word 04edH
.word 0500H
.word 0513H
.word 0526H
.word 0539H
.word 054cH
.word 0560H
.word 0574H
.word 0588H
.word 059cH
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
96
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 05b0H
.word 05c5H
.word 05d9H
.word 05eeH
.word 0603H
.word 0618H
.word 062dH
.word 0643H
.word 0658H
.word 066eH
.word 0683H
.word 0699H
.word 06afH
.word 06c5H
.word 06dbH
.word 06f2H
.word 0708H
.word 071eH
.word 0734H
.word 074bH
.word 0761H
.word 0778H
.word 078eH
.end
SQUARE WAVE:
.SECT "06000H"
.text
DAC1 .SET 90040008H
start:
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
97
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl .s1 DAC1,a0 ;DAC1
mvkh .s1 DAC1,a0
nop
mvkl 00000000h,a5
mvkh 00000000h,a5
nop
nop
mvkl 150h,b2
nop
positive:
NOP
stw .d1 a5,*a0
NOP
nop
sub b2,1,b2
nop
NOP
[b2] b positive
nop
nop
mvkl .s1 DAC1,a0 ;DAC1
mvkh .s1 DAC1,a0
nop
mvkl 00000fffh,a5
mvkh 00000fffh,a5
nop
nop
mvkl 150h,b2
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
98
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
negative:
NOP
stw .d1 a5,*a0
NOP
nop
sub b2,1,b2
nop
NOP
[b2] b negative
nop
nop
nop
nop
nop
nop
b start
.end
SAWTOOTH WAVE:
.SECT "06000H"
.text
DAC1 .SET 90040008H
start:
mvkl .s1 DAC1,a0 ;DAC1
mvkh .s1 DAC1,a0
nop
mvkl 00000FFFh,a5 ; FFF
mvkh 00000FFFh,a5
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
99
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop
mvkl 333h,b2
nop
next:
nop
stw .d1 a5,*a0
nop 5
sub b2,1,b2
nop
sub a5,5,a5
nop
[b2] b next
nop
nop
nop
nop
nop
nop
nop
b start
.end
TRIANGULAR WAVEFORM:
.SECT "06000H"
.text
DAC1 .SET 90040008H
start:
mvkl .s1 DAC1,a0 ;DAC1
mvkh .s1 DAC1,a0
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
100
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop
mvkl 00000000h,a5
mvkh 00000000h,a5
nop
nop
mvkl 333h,b2
nop
positive:
NOP
stw .d1 a5,*a0
NOP
nop
sub b2,1,b2
nop
add a5,5,a5
NOP
[b2] b positive
nop
nop
mvkl .s1 DAC1,a0 ;DAC1
mvkh .s1 DAC1,a0
nop
;mvkl 00000fffh,a5
;mvkh 00000fffh,a5
nop
nop
mvkl 333h,b2
nop
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
101
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
negative:
NOP
stw .d1 a5,*a0
NOP
nop
sub b2,1,b2
nop
nop
sub a5,5,a5
NOP
[b2] b negative
nop
nop
nop
nop
nop
nop
b start
.end
RESULT:
Thus the DSP processor program for generation of signals were generated, loaded and
implemented successfully.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
102
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
103
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
EXPT: 15 IMPLEMENTATION OF A FIR FILTER
DATE:
AIM:
To write a DSP Processor program to implement a FIR - LPF, BPF, BRF and HPF using
Rectangular window.
TOOLS REQUIRED:
Hardware: PC, TMS320 C6713 Trainer kit
Software: Vi debugger for C6713.
PROGRAM:
LOW PASS FILTER:
.sect "00006000h"
.text
ADCSOC1 .SET 9004000CH
ADCDATA .SET 90040008H
DAC1 .SET 90040008H
MEM .SET 00009000H
B start
NOP 7
coeff:
.word 01FH
.word 010EH
.word 01ABH
.word 01B4H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
104
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0117H
.word 0H
.word 0FECDH
.word 0FDEEH
.word 0FDC2H
.word 0FE6EH
.word 0FFCDH
.word 016FH
.word 02C0H
.word 0333H
.word 0274H
.word 097H
.word 0FE19H
.word 0FBCBH
.word 0FA9BH
.word 0FB53H
.word 0FE50H
.word 0362H
.word 09C5H
.word 01048H
.word 01599H
.word 01895H
.word 01895H
.word 01599H
.word 01048H
.word 09C5H
.word 0362H
.word 0FE50H
.word 0FB53H
.word 0FA9BH
.word 0FBCBH
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
105
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0FE19H
.word 097H
.word 0274H
.word 0333H
.word 02C0H
.word 016FH
.word 0FFCDH
.word 0FE6EH
.word 0FDC2H
.word 0FDEEH
.word 0FECDH
.word 0H
.word 0117H
.word 01B4H
.word 01ABH
.word 010EH
.word 01FH
start:
mvkl coeff,a1 ; COEFFICIENT LOCATION
mvkh coeff,a1
mvkl MEM,a3 ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),...
mvkh MEM,a3
mvkl ADCSOC1,a10 ; ADC SOC
mvkh ADCSOC1,a10
mvkl ADCDATA,a0
mvkh ADCDATA,a0
mvkl 0x00000fff,a12
mvkh 0x00000fff,a12
mvkl 0x0800,a13
mvkh 0x0800,a13
mvkl DAC1,a15 ; DAC1
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
106
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkh DAC1,a15
mvkl 52,b2
mvkh 52,b2
zer:
mvkl 00000000h,a2
mvkh 00000000h,a2
stw a2,*a3++
nop 7
sub b2,1h,b2 ;intialize zero to all delay line locations
nop 2
[b2] b zer
nop 6
mvkl MEM,a3
mvkh MEM,a3
start1:
ldh *a10,a2 ; send SOC
nop 6
ldh *a0,a2 ; Data Read
NOP 6
and a12,a2,a14
xor a14,a13,a2
sub a2,a13,a2
sth a2,*a3
nop 6
mvkl 52,b0
mvkh 52,b0
nop 3
MVKL 00000000H,a7
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
107
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
MVKh 00000000H,a7
loop1:
ldw *a1++,a5
nop 6
ldh *a3++,a6
nop 6
mpy a5,a6,a6
nop 4
shru a6,10h,a6
nop 3
add a7,a6,a7
nop 2
sub b0,1,b0
nop 2
[b0] b loop1
nop 7
mvkl 0x0800,a13
mvkh 0x0800,a13
add a7,a13,a7
nop 4
sth a7,*a15 ; Send Data to DAC
nop 6
mvkl 52,b1
mvkl MEM,b3
mvkh MEM,b3
ldh *b3,b4
nop 6
loop2: ; loop to copy x(n) to x(n-1)
ldh *+b3(2),b5
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
108
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sth b4,*++b3
nop 6
mv b5,b4
nop 2
sub B1,1H,b1
nop 2
[b1] b loop2
nop 6
mvkl coeff,a1
mvkh coeff,a1
mvkl MEM,a3
mvkh MEM,a3
b start1
nop 7
.end
BAND PASS FILTER
.sect "00006000h"
.text
ADCSOC1 .SET 9004000CH
ADCDATA .SET 90040008H
DAC1 .SET 90040008H
MEM .SET 00009000H
B start
NOP 7
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
109
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
coeff:
.word 021BH
.word 0FFAFH
.word 0FD92H
.word 0FED6H
.word 022H
.word 0FE04H
.word 0FBFAH
.word 0FE3FH
.word 015CH
.word 048H
.word 0FE4FH
.word 013AH
.word 059DH
.word 043BH
.word 0BH
.word 018BH
.word 05F6H
.word 02ADH
.word 0F9CAH
.word 0F900H
.word 0FFDAH
.word 0FC43H
.word 0EB69H
.word 0E84EH
.word 0583H
.word 028FDH
.word 028FDH
.word 0583H
.word 0E84EH
.word 0EB69H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
110
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0FC43H
.word 0FFDAH
.word 0F900H
.word 0F9CAH
.word 02ADH
.word 05F6H
.word 018BH
.word 0BH
.word 043BH
.word 059DH
.word 013AH
.word 0FE4FH
.word 048H
.word 015CH
.word 0FE3FH
.word 0FBFAH
.word 0FE04H
.word 022H
.word 0FED6H
.word 0FD92H
.word 0FFAFH
.word 021BH
start:
mvkl coeff,a1 ; COEFFICIENT LOCATION
mvkh coeff,a1
mvkl MEM,a3 ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),...
mvkh MEM,a3
mvkl ADCSOC1,a10 ; ADC SOC
mvkh ADCSOC1,a10
mvkl ADCDATA,a0
mvkh ADCDATA,a0
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
111
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl 0x00000fff,a12
mvkh 0x00000fff,a12
mvkl 0x0800,a13
mvkh 0x0800,a13
mvkl DAC1,a15 ; DAC1
mvkh DAC1,a15
mvkl 52,b2
mvkh 52,b2
zer:
mvkl 00000000h,a2
mvkh 00000000h,a2
stw a2,*a3++
nop 7
sub b2,1h,b2 ;intialize zero to all delay line locations
nop 2
[b2] b zer
nop 6
mvkl MEM,a3
mvkh MEM,a3
start1:
ldh *a10,a2 ; send SOC
nop 6
ldh *a0,a2 ; Data Read
NOP 6
and a12,a2,a14
xor a14,a13,a2
sub a2,a13,a2
sth a2,*a3
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
112
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
nop 6
nop 6
nop 6
mvkl 52,b0
mvkh 52,b0
nop 3
MVKL 00000000H,a7
MVKh 00000000H,a7
loop1:
ldw *a1++,a5
nop 6
ldh *a3++,a6
nop 6
nop 6
nop 6
mpy a5,a6,a6
nop 4
shru a6,10h,a6
nop 3
add a7,a6,a7
nop 2
sub b0,1,b0
nop 2
[b0] b loop1
nop 7
add a7,a13,a7
nop 4
sth a7,*a15 ; Send Data to DAC
nop 6
mvkl 52,b1
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
113
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl MEM,b3
mvkh MEM,b3
ldh *b3,b4
nop 6
nop 6
nop 6
loop2: ; loop to copy x(n) to x(n-1)
ldh *+b3(2),b5
nop 6
nop 6
nop 6
sth b4,*++b3
nop 6
nop 6
nop 6
mv b5,b4
nop 2
sub B1,1H,b1
nop 2
[b1] b loop2
nop 6
mvkl coeff,a1
mvkh coeff,a1
mvkl MEM,a3
mvkh MEM,a3
b start1
nop 7
.end
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
114
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
BAND REJECT FILTER:
.sect "00006000h"
.text
ADCSOC1 .SET 9004000CH
ADCDATA .SET 90040008H
DAC1 .SET 90040008H
MEM .SET 00009000H
B start
NOP 7
coeff:
.word 0FE6FH
.word 037BH
.word 015EH
.word 02B6H
.word 0FCC9H
.word 01FCH
.word 0FF5FH
.word 011AH
.word 0F982H
.word 0FFC5H
.word 0FD54H
.word 0BDH
.word 0F78AH
.word 033H
.word 0FE78H
.word 0508H
.word 0F8C7H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
115
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 051DH
.word 0365H
.word 0F30H
.word 0F9BCH
.word 0CBBH
.word 07D7H
.word 025F7H
.word 0DC9DH
.word 0256BH
.word 0256BH
.word 0DC9DH
.word 025F7H
.word 07D7H
.word 0CBBH
.word 0F9BCH
.word 0F30H
.word 0365H
.word 051DH
.word 0F8C7H
.word 0508H
.word 0FE78H
.word 033H
.word 0F78AH
.word 0BDH
.word 0FD54H
.word 0FFC5H
.word 0F982H
.word 011AH
.word 0FF5FH
.word 01FCH
.word 0FCC9H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
116
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 02B6H
.word 015EH
.word 037BH
.word 0FE6FH
start:
mvkl coeff,a1 ; COEFFICIENT LOCATION
mvkh coeff,a1
mvkl MEM,a3 ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),...
mvkh MEM,a3
mvkl ADCSOC1,a10 ; ADC SOC
mvkh ADCSOC1,a10
mvkl ADCDATA,a0
mvkh ADCDATA,a0
mvkl 0x00000fff,a12
mvkh 0x00000fff,a12
mvkl 0x0800,a13
mvkh 0x0800,a13
mvkl DAC1,a15 ; DAC1
mvkh DAC1,a15
mvkl 52,b2
mvkh 52,b2
zer:
mvkl 00000000h,a2
mvkh 00000000h,a2
stw a2,*a3++
nop 7
sub b2,1h,b2 ;intialize zero to all delay line locations
nop 2
[b2] b zer
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
117
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl MEM,a3
mvkh MEM,a3
start1:
ldh *a10,a2 ; send SOC
nop 6
ldh *a0,a2 ; Data Read
NOP 6
and a12,a2,a14
xor a14,a13,a2
sub a2,a13,a2
sth a2,*a3
nop 6
mvkl 52,b0
mvkh 52,b0
nop 3
MVKL 00000000H,a7
MVKh 00000000H,a7
loop1:
ldw *a1++,a5
nop 6
ldh *a3++,a6
nop 6
mpy a5,a6,a6
nop 4
shru a6,10h,a6
nop 3
add a7,a6,a7
nop 2
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
118
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sub b0,1,b0
nop 2
[b0] b loop1
nop 7
add a7,a13,a7
sth a7,*a15 ; Send Data to DAC
nop 6
mvkl 52,b1
mvkl MEM,b3
mvkh MEM,b3
ldh *b3,b4
nop 6
loop2: ; loop to copy x(n) to x(n-1)
ldh *+b3(2),b5
nop 6
sth b4,*++b3
nop 6
mv b5,b4
nop 2
sub B1,1H,b1
nop 2
[b1] b loop2
nop 6
mvkl coeff,a1
mvkh coeff,a1
mvkl MEM,a3
mvkh MEM,a3
b start1
nop 7
.end
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
119
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
HIGH PASS FILTER:
.sect "00006000h"
.text
ADCSOC1 .SET 9004000CH
ADCDATA .SET 90040008H
DAC1 .SET 90040008H
MEM .SET 00009000H
B start
NOP 7
coeff:
.word 0FE34H
.word 01DFH
.word 0FEE8H
.word 02E0H
.word 0FF91H
.word 03C9H
.word 0FFF7H
.word 0466H
.word 0FFE3H
.word 048DH
.word 0FF2CH
.word 0429H
.word 0FDBCH
.word 0342H
.word 0FB94H
.word 0202H
.word 0F8C7H
.word 0BFH
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
120
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0F567H
.word 03H
.word 0F151H
.word 0DCH
.word 0EB64H
.word 06B7H
.word 0DAD7H
.word 04745H
.word 04745H
.word 0DAD7H
.word 06B7H
.word 0EB64H
.word 0DCH
.word 0F151H
.word 03H
.word 0F567H
.word 0BFH
.word 0F8C7H
.word 0202H
.word 0FB94H
.word 0342H
.word 0FDBCH
.word 0429H
.word 0FF2CH
.word 048DH
.word 0FFE3H
.word 0466H
.word 0FFF7H
.word 03C9H
.word 0FF91H
.word 02E0H
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
121
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
.word 0FEE8H
.word 01DFH
.word 0FE34H
start:
mvkl coeff,a1 ; COEFFICIENT LOCATION
mvkh coeff,a1
mvkl MEM,a3 ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),...
mvkh MEM,a3
mvkl ADCSOC1,a10 ; ADC SOC
mvkh ADCSOC1,a10
mvkl ADCDATA,a0
mvkh ADCDATA,a0
mvkl 0x00000fff,a12
mvkh 0x00000fff,a12
mvkl 0x0800,a13
mvkh 0x0800,a13
mvkl DAC1,a15 ; DAC1
mvkh DAC1,a15
mvkl 52,b2
mvkh 52,b2
zer:
mvkl 00000000h,a2
mvkh 00000000h,a2
stw a2,*a3++
nop 7
sub b2,1h,b2 ;intialize zero to all delay line locations
nop 2
[b2] b zer
nop 6
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
122
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
mvkl MEM,a3
mvkh MEM,a3
start1:
ldh *a10,a2 ; send SOC
nop 6
ldh *a0,a2 ; Data Read
NOP 6
and a12,a2,a14
xor a14,a13,a2
sub a2,a13,a2
sth a2,*a3
nop 6
mvkl 52,b0
mvkh 52,b0
nop 3
MVKL 00000000H,a7
MVKh 00000000H,a7
loop1:
ldw *a1++,a5
nop 6
ldh *a3++,a6
nop 6
mpy a5,a6,a6
nop 4
shru a6,10h,a6
nop 3
add a7,a6,a7
nop 2
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
123
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
sub b0,1,b0
nop 2
[b0] b loop1
nop 7
add a7,a13,a7
nop 4
sth a7,*a15 ; Send Data to DAC
nop 6
mvkl 52,b1
mvkl MEM,b3
mvkh MEM,b3
ldh *b3,b4
nop 6
loop2: ; loop to copy x(n) to x(n-1)
ldh *+b3(2),b5
nop 6
sth b4,*++b3
nop 6
mv b5,b4
nop 2
sub B1,1H,b1
nop 2
[b1] b loop2
nop 6
mvkl coeff,a1
mvkh coeff,a1
mvkl MEM,a3
mvkh MEM,a3
b start1
nop 7
.end
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
124
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE
Page
125
V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY
RESULT:
Thus the DSP processor program for FIR – LPF, BPF, BRF and HPF were loaded and
implemented successfully.
PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE