+ All Categories
Home > Documents > Dsp Manual

Dsp Manual

Date post: 26-Oct-2014
Category:
Upload: mohanaprakash-ece
View: 73 times
Download: 6 times
Share this document with a friend
Popular Tags:
150
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/ECE M.KAVIYARASAN, LECTURER/ECE
Transcript
Page 1: Dsp Manual

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: Dsp Manual

Page

2

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 3: Dsp Manual

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: Dsp Manual

Page

4

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 5: Dsp Manual

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: Dsp Manual

Page

6

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 7: Dsp Manual

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: Dsp Manual

Page

8

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 9: Dsp Manual

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: Dsp Manual

Page

10

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 11: Dsp Manual

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: Dsp Manual

Page

12

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 13: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

16

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 17: Dsp Manual

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: Dsp Manual

Page

18

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 19: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

22

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 23: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

26

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 27: Dsp Manual

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: Dsp Manual

Page

28

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 29: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

32

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 33: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

36

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 37: Dsp Manual

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: Dsp Manual

Page

38

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 39: Dsp Manual

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: Dsp Manual

Page

40

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 41: Dsp Manual

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: Dsp Manual

Page

42

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 43: Dsp Manual

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: Dsp Manual

Page

44

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 45: Dsp Manual

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: Dsp Manual

Page

46

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 47: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

50

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 51: Dsp Manual

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: Dsp Manual

Page

52

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 53: Dsp Manual

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: Dsp Manual

Page

54

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 55: Dsp Manual

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: Dsp Manual

Page

56

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 57: Dsp Manual

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: Dsp Manual

Page

58

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 59: Dsp Manual

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: Dsp Manual

Page

60

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 61: Dsp Manual

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: Dsp Manual

Page

62

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 63: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

82

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 83: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

102

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 103: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

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: Dsp Manual

Page

124

V SEM ECE – 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY K.MOHANAPRAKASH, AP/ECEM.KAVIYARASAN, LECTURER/ECE

Page 125: Dsp Manual

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


Recommended