Sei sulla pagina 1di 125

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

Page

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 1 DATE: GENERATION OF WAVEFORMS USING MATLAB

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 timet. 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;
Page

stem(n1,s); PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

subplot(2,2,1);

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

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;
Page

subplot(2,2,1); PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

y=sin(t1);

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

RESULT: Thus the unit impulse, unit step, unit ramp, exponential, sine, cosine, saw tooth and square
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

waveforms are generated.

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

10

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 2 DATE: LINEAR CONVOLUTION USING MATLAB

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

11

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

12

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

13

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

14

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.
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

15

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

16

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 3 DATE: AIM: To perform circular convolution using the given sequences x1(n), x2(n) and the output y(n) is obtained. CIRCULAR CONVOLUTION USING MATLAB

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)

N=length(seq1);

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

17

seq1=input('Enter the input sequence X1(n):');

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

18

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);
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

19

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

20

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

21

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

22

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 4 DATE: FAST FOURIER TRASFORM USING MATLAB

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');
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

23

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


Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

24

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:
Page

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/ECE M.KAVIYARASAN, LECTURER/ECE

25

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

26

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 5 DATE: SAMPLING OF SEQUENCE USING MATLAB

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);

title('Orginal Signal'); xlabel('time'); PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

27

stem(x(1:120));

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

28

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

29

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

30

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

RESULT: Thus the sampling of the sequence was performed using MATLAB program.
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

31

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

32

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 6 DATE: IFFT COMPUTATIONS USING MATLAB

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

33

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY INPUT: enter the input sequence=[5 0 (1-j) 0 1 0 OUTPUT: H = 1.0000 0.7500 0.5000 0.2500 1.0000 0.7500 0.5000 0.2500 (1+j) 0]

OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

34

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

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

35

Thus the Inverse Fast Fourier Transform is computed using MATLAB.

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

36

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 7 DATE: FIR FILTER DESIGN USING RECTANGULAR WINDOW

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

37

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

38

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');
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

39

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

40

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

41

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

42

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 8 DATE: FIR FILTER DESIGN USING HAMMING WINDOW

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

43

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

44

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.
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

45

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

46

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 9 DATE: FIR FILTER DESIGN USING KAISER WINDOW

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

47

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/ECE M.KAVIYARASAN, LECTURER/ECE

Page

48

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

49

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

50

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:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

51

Thus the FIR filter using Kaiser window was designed and simulated by MATLAB program.

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

52

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 10 DATE: BUTTERWORTH IIR FILTER USING MATLAB

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

53

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

54

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

55

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

56

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.
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

57

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

58

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 11 DATE: FREQUENCY RESPONSES OF LTI SYSTEMS USING MATLAB

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);

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

xlabel('normalised frequency');

59

plot(w/pi,abs(h1));

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY OUTPUT WAVEFORM:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

60

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:

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

61

Thus the frequency response of the LTI system is plotted successfully.

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

62

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 12 DATE: LINEAR CONVOLUTIONS

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 ; ; 00009050h ; ; 00009100h ; ; 00009200h ;

coeff .set 80001100h output .set buff .set 80001200h 80001300h

.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 output,a6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

mvkl output,a6

63

mvkh buff,a3

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

64

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: ldw *+b3(4),b5 nop 6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE ; loop to copy x(n) to x(n-1)
Page

65

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 nop halt 7

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

66

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

RESULT: Thus the DSP processor for linear convolution was generated, loaded and implemented successfully.
Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

67

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 13 DATE: CALCULATION OF FFT

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 GRP DNS STG

.SET 80002200H .SET 80002204H .SET 80002208H .SET 8000220AH

STGC .SET 8000220AH

main:

mvkh

MEMORY,a10 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

nop

68

mvkl

MEMORY,a10

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop mvkl nop mvkh nop mvkl nop mvkh nop copymem: ldw nop stw nop sub nop [a1] b nop nop b nop nop mainret1: b nop nop mainret2: mvkl nop mvkh nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE 1,a4
Page

8,a1

8,a1

MEMORY1,a11

MEMORY1,a11

*a10++[1],a12 6 a12,*a11++[1] 6 a1,1,a1

copymem

6 bitrev

inczer

1,a4

; BFY

69

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkl nop mvkh nop mvkl nop mvkh nop mvkl nop mvkh nop mvkl nop mvkh nop mvkl nop mvkh nop stgloop: zero mv nop mv b3 a6,b6 3 a5,a9 ; (((b3))) -> k 3,b0 3,b0 ; stage loop 2,a8 2,a8 ; STGC 3,a7 3,a7 ; STG 2,a6 2,a6 ; DNS 4,a5 4,a5 ; GRP

cmpeq a5,4,a1 nop [!a1] b nop nop zero 6 a9 ; a9 -> INCTF PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

nochg

70

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop nochg: mv nop mv nop mvkl MEMWRI,b10 nop mvkh nop grploop: zero mv nop bfyloop: ldw nop *b10++[b6],b7 6 b3 a4,b2 ;k ; ar4 MEMWRI,b10 a5,b1 a9,a9 ; INCTF

mvkl mulbk,b12 nop mvkh mulbk,b12 nop b nop nop mulbk: mv nop ldw nop a6,b6 3 *b10--[b6],b7 6
Page

mul

mvkl adsmbk,b13 nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

71

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkh adsmbk,b13 nop b nop nop adsmbk: add nop sub nop [b2] b nop nop mv nop ldw nop sub nop [b1] b nop nop mpy nop mpy nop ;mpy a6,4,b6 mv nop shr nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE a6,b6 3 a5,1,a5
Page

adsm

b3,a9,b3

b2,1,b2

bfyloop

6 a6,b6 3 *b10++[b6],b7 6 b1,1,b1

grploop

6 a4,2,a4

a6,2,a6

72

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY sub nop [b0] b nop nop 6 stgloop b0,1,b0

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

73

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop [b0] b separate nop nop 6

halt: b halt nop nop 5

inczer: mvkl nop mvkh nop mvkl nop mvkh nop mvkl nop mvkh nop inszer: ldw nop stw nop zero stw nop *a4++[1],a6 5 a6,*a5++[1] 5 a6 a6,*a5++[1] 5 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

MEMORY1,a4

MEMORY1,a4

MEMWRI,a5

MEMWRI,a5

8,b0

8,b0

74

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY sub nop [b0] b nop nop b nop nop 6 6 mainret2 inszer b0,1,b0

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 nop nop sub nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE 6 b3,1,b4
Page

noswap

75

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY ldw nop ldw nop sub nop ldw nop ldw nop stw nop stw nop ldw nop noswap: mvkl 8,b7 nop mvkh 8,b7 nop shr nop shloop: cmpgt b3,b7,b0 nop [!b0] b nop nop 6
Page

*b1++[b4],a5 6 *b1--[b4],a5 6 b2,1,b5

*b1++[b5],a6 6 *b1,a6 6 a5,*b1--[b5] 6 a6,*++b1[b4] 6 *b1--[b4],a10 6

; 8,16,32

; 8,16,32

b7,1,b7

gtnsat

mvkl 1,b8 nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

76

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkh 1,b8 nop cmpgt b7,b8,b0 nop [!b0] b nop nop sub nop shr nop b nop nop 6 shloop b7,1,b7 6 b3,b7,b3 gtnsat

gtnsat: add nop mvkl 9,a8 nop mvkh 9,a8 nop add nop cmplt b2,a8,a2 nop [a2] b nop nop b nop PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE 6 mainret1
Page

b3,b7,b3

; 9,17,33

; 9,17,33

b2,1,b2

mainloop

77

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop 6

mul: mvkl nop mvkh nop mv nop ldw nop ldw nop mvkl nop mvkh nop mv nop ldw nop ldw nop ldw nop ldw nop mpy nop mpy nop b3,b6 3 *b14++[b6],a11 6 *b14,a11 6 *b10++[1],a12 6 *b10--[1],a13 6 a12,a10,a14 3 a11,a13,a15 3 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE ; bd
Page

tabcos,b14

tabcos,b14

b3,b6 3 *b14++[b6],a10 6 *b14,a10 6 tabsin,b14 ;c

tabsin,b14

;d

;a

;b

; ac

78

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY sub nop shr nop stw nop a14,a15,a14 2 a14,8,a14 2 a14,*b10++[1] 6 ; ac-bd

mpy nop mpy nop add nop shr nop stw nop

a12,a11,a14 3 a10,a13,a15 3 a14,a15,a14 2 a14,8,a14 2 a14,*b10--[1] 6

; ad

; bc

; ad+bc

;mpy a6,4,b6 mv nop b nop nop 6 a6,b6 3 b12

adsm: ldw nop mv nop ldw nop *b10++[b6],b7 6 b7,a10 3 *b10--[b6],b8 6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

79

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mv nop add nop stw nop sub nop ldw nop stw nop ldw nop ldw nop mv nop ldw nop mv nop add nop stw nop sub nop ldw nop stw *b10++[b6],a10 6 a12,*b10--[b6] PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

b8,a11 3 b7,b8,b7

b7,*b10 6 a10,a11,a12

*b10++[b6],a10 6 a12,*b10--[b6] 6 *b10++[1],b7 6 *b10++[b6],b7 6 b7,a10

*b10--[b6],b8 6 b8,a11

b7,b8,b7

b7,*b10 6 a10,a11,a12

80

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop ldw nop ldw nop b nop nop 6 6 *b10--[1],a10 6 *b10++[2],a10 6 b13

tabcos: .word .word .word .word tabsin: .word .word .word .word 000000000H 0FFFFFF4BH 0FFFFFF00H 0FFFFFF4BH 000000100H 0000000B5H 000000000H 0FFFFFF4BH

RESULT: Thus the DSP processor program for calculating FFT was generated, loaded and calculated successfully.

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

81

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

82

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY EXPT: 14 DATE: GENERATION OF WAVEFORMS

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/ECE M.KAVIYARASAN, LECTURER/ECE
Page

83

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 b start nop nop hlt: b nop nop 6 hlt 6 6

table: .word .word .word .word .word .word .word .word .word 07ffH 0815H 082cH 0842H 0859H 0870H 0886H 089dH 08b3H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

84

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 08caH 08e0H 08f6H 090dH 0923H 0939H 094fH 0965H 097bH 0990H 09a6H 09bbH 09d1H 09e6H 09fbH 0a10H 0a25H 0a3aH 0a4eH 0a62H 0a77H 0a8bH 0a9eH 0ab2H 0ac5H 0ad9H 0aecH 0afeH 0b11H 0b23H 0b36H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

85

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 0b47H 0b59H 0b6bH 0b7cH 0b8dH 0b9eH 0baeH 0bbeH 0bceH 0bdeH 0bedH 0bfcH 0c0bH 0c1aH 0c28H 0c36H 0c43H 0c51H 0c5eH 0c6aH 0c77H 0c83H 0c8fH 0c9aH 0ca5H 0cb0H 0cbbH 0cc5H 0cceH 0cd8H 0ce1H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

86

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 0ceaH 0cf2H 0cfaH 0d02H 0d09H 0d10H 0d17H 0d1dH 0d23H 0d28H 0d2dH 0d32H 0d37H 0d3bH 0d3eH 0d42H 0d45H 0d47H 0d49H 0d4bH 0d4dH 0d4eH 0d4eH 0d4eH 0d4eH 0d4eH 0d4dH 0d4cH 0d4aH 0d48H 0d46H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

87

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 0d43H 0d40H 0d3dH 0d39H 0d34H 0d30H 0d2bH 0d26H 0d20H 0d1aH 0d13H 0d0dH 0d05H 0cfeH 0cf6H 0ceeH 0ce5H 0cdcH 0cd3H 0ccaH 0cc0H 0cb5H 0cabH 0ca0H 0c94H 0c89H 0c7dH 0c71H 0c64H 0c57H 0c4aH PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

88

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 0c3dH 0c2fH 0c21H 0c12H 0c04H 0bf5H 0be5H 0bd6H 0bc6H 0bb6H 0ba6H 0b95H 0b84H 0b73H 0b62H 0b50H 0b3eH 0b2cH 0b1aH 0b08H 0af5H 0ae2H 0acfH 0abcH 0aa8H 0a94H 0a80H 0a6cH 0a58H 0a44H 0a2fH PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

89

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 0a1aH 0a06H 09f1H 09dbH 09c6H 09b1H 099bH 0985H 0970H 095aH 0944H 092eH 0918H 0901H 08ebH 08d5H 08beH 08a8H 0891H 087bH 0864H 084eH 0837H 0820H 080aH 07f4H 07ddH 07c7H 07b0H 0799H 0783H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

90

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 076cH 0756H 073fH 0729H 0713H 06fcH 06e6H 06d0H 06baH 06a4H 068eH 0678H 0663H 064dH 0638H 0622H 060dH 05f8H 05e3H 05cfH 05baH 05a6H 0591H 057dH 0569H 0556H 0542H 052fH 051cH 0509H 04f6H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

91

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 04e4H 04d1H 04bfH 04aeH 049cH 048bH 047aH 0469H 0458H 0448H 0438H 0428H 0418H 0409H 03faH 03ecH 03ddH 03cfH 03c1H 03b4H 03a7H 039aH 038dH 0381H 0375H 0369H 035eH 0353H 0349H 033eH 0334H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

92

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 032bH 0322H 0319H 0310H 0308H 0300H 02f8H 02f1H 02ebH 02e4H 02deH 02d8H 02d3H 02ceH 02c9H 02c5H 02c1H 02beH 02bbH 02b8H 02b6H 02b4H 02b2H 02b1H 02b0H 02b0H 02b0H 02b0H 02b0H 02b2H 02b3H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

93

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 02b5H 02b7H 02b9H 02bcH 02c0H 02c3H 02c7H 02ccH 02d1H 02d6H 02dbH 02e1H 02e7H 02eeH 02f5H 02fcH 0304H 030cH 0314H 031dH 0326H 0330H 0339H 0344H 034eH 0359H 0364H 036fH 037bH 0387H 0394H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

94

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word 03a0H 03adH 03bbH 03c8H 03d6H 03e5H 03f3H 0402H 0411H 0420H 0430H 0440H 0450H 0461H 0471H 0482H 0494H 04a5H 04b7H 04c9H 04dbH 04edH 0500H 0513H 0526H 0539H 054cH 0560H 0574H 0588H 059cH PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE
Page

95

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .end 05b0H 05c5H 05d9H 05eeH 0603H 0618H 062dH 0643H 0658H 066eH 0683H 0699H 06afH 06c5H 06dbH 06f2H 0708H 071eH 0734H 074bH 0761H 0778H 078eH

SQUARE WAVE: .SECT "06000H" .text

DAC1 start:

.SET

90040008H

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

96

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkl .s1 DAC1,a0 mvkh .s1 DAC1,a0 nop mvkl 00000000h,a5 mvkh 00000000h,a5 nop nop mvkl 150h,b2 nop ;DAC1

positive: NOP stw .d1 a5,*a0 NOP nop sub b2,1,b2 nop NOP [b2] b positive nop nop

mvkl .s1 DAC1,a0 mvkh .s1 DAC1,a0 nop mvkl 00000fffh,a5 mvkh 00000fffh,a5 nop nop mvkl 150h,b2 nop

;DAC1

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

97

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 start:

.SET

90040008H

mvkl .s1 DAC1,a0 mvkh .s1 DAC1,a0 nop mvkl mvkh nop

;DAC1

00000FFFh,a5 ; FFF 00000FFFh,a5


Page

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

98

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY nop mvkl nop 333h,b2

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 start:

.SET

90040008H

mvkl .s1 DAC1,a0 mvkh .s1 DAC1,a0

;DAC1

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

99

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 mvkh .s1 DAC1,a0 nop ;mvkl 00000fffh,a5 ;mvkh 00000fffh,a5 nop nop

;DAC1

nop

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

100

mvkl 333h,b2

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:

implemented successfully.

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

101

Thus the DSP processor program for generation of signals were generated, loaded and

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

102

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

EXPT: 15 DATE:

IMPLEMENTATION OF A FIR FILTER

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 ADCDATA .SET DAC1 .SET

9004000CH 90040008H

90040008H

MEM .SET 00009000H

B start NOP 7

coeff: .word 01FH .word 010EH .word 01ABH .word 01B4H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

103

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 0FA9BH .word 0FBCBH PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

104

.word 0FB53H

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 mvkh coeff,a1 mvkl MEM,a3 mvkh MEM,a3 mvkl ADCSOC1,a10 mvkh ADCSOC1,a10 mvkl ADCDATA,a0 mvkh ADCDATA,a0 mvkl 0x00000fff,a12 mvkh 0x00000fff,a12 ; ADC SOC ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),... ; COEFFICIENT LOCATION

mvkh 0x0800,a13 mvkl DAC1,a15 ; DAC1 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

105

mvkl 0x0800,a13

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 nop 2 [b2] b zer nop 6 mvkl MEM,a3 mvkh MEM,a3 ;intialize zero to all delay line locations

start1: ldh *a10,a2 ; send SOC nop 6 ldh *a0,a2 NOP 6 and a12,a2,a14 xor a14,a13,a2 sub a2,a13,a2 sth a2,*a3 nop 6 mvkl 52,b0 ; Data Read

nop 3 MVKL 00000000H,a7 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

106

mvkh 52,b0

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 nop 6 mvkl 52,b1 mvkl MEM,b3 mvkh MEM,b3 ldh *b3,b4 nop 6 ; Send Data to DAC

ldh *+b3(2),b5 nop 6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

107

loop2:

; loop to copy x(n) to x(n-1)

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 ADCDATA .SET DAC1 .SET

9004000CH 90040008H

90040008H

MEM .SET 00009000H

NOP 7

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

108

B start

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 0E84EH .word 0EB69H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

109

.word 0583H

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 mvkh coeff,a1 mvkl MEM,a3 mvkh MEM,a3 mvkl ADCSOC1,a10 mvkh ADCSOC1,a10 mvkl ADCDATA,a0 mvkh ADCDATA,a0 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE ; ADC SOC ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),... ; COEFFICIENT LOCATION

Page

110

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkl 0x00000fff,a12 mvkh 0x00000fff,a12 mvkl 0x0800,a13 mvkh 0x0800,a13 mvkl DAC1,a15 mvkh DAC1,a15 ; DAC1

mvkl 52,b2 mvkh 52,b2 zer: mvkl 00000000h,a2 mvkh 00000000h,a2 stw a2,*a3++ nop 7 sub b2,1h,b2 nop 2 [b2] b zer nop 6 mvkl MEM,a3 mvkh MEM,a3 ;intialize zero to all delay line locations

start1: ldh *a10,a2 ; send SOC nop 6 ldh *a0,a2 NOP 6 and a12,a2,a14 ; Data Read

sub a2,a13,a2 sth a2,*a3 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

111

xor a14,a13,a2

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

nop 6 mvkl 52,b1 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

112

sth a7,*a15

; Send Data to DAC

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY mvkl MEM,b3 mvkh MEM,b3 ldh *b3,b4 nop 6 nop 6 nop 6 loop2: 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 ; loop to copy x(n) to x(n-1)

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

113

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY BAND REJECT FILTER:

.sect "00006000h" .text ADCSOC1 .SET ADCDATA .SET DAC1 .SET 9004000CH 90040008H

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 0508H .word 0F8C7H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

114

.word 0FE78H

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 01FCH .word 0FCC9H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

115

.word 0FF5FH

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word 02B6H .word 015EH .word 037BH .word 0FE6FH start: mvkl coeff,a1 mvkh coeff,a1 mvkl MEM,a3 mvkh MEM,a3 mvkl ADCSOC1,a10 mvkh ADCSOC1,a10 mvkl ADCDATA,a0 mvkh ADCDATA,a0 mvkl 0x00000fff,a12 mvkh 0x00000fff,a12 mvkl 0x0800,a13 mvkh 0x0800,a13 mvkl DAC1,a15 mvkh DAC1,a15 ; DAC1 ; ADC SOC ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),... ; COEFFICIENT LOCATION

mvkl 52,b2 mvkh 52,b2 zer: mvkl 00000000h,a2 mvkh 00000000h,a2 stw a2,*a3++ nop 7 sub b2,1h,b2 nop 2 [b2] b zer nop 6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE ;intialize zero to all delay line locations

Page

116

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 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 ; Data Read

loop1: ldw *a1++,a5 nop 6 ldh *a3++,a6 nop 6 mpy a5,a6,a6 nop 4 shru a6,10h,a6

add a7,a6,a7 nop 2 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

117

nop 3

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 nop 6 mvkl 52,b1 mvkl MEM,b3 mvkh MEM,b3 ldh *b3,b4 nop 6 loop2: 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 ; loop to copy x(n) to x(n-1) ; Send Data to DAC

.end

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

118

nop 7

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY HIGH PASS FILTER: .sect "00006000h" .text ADCSOC1 .SET ADCDATA .SET DAC1 .SET 9004000CH 90040008H

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 0F8C7H .word 0BFH PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

119

.word 0202H

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 0FF91H .word 02E0H PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

120

.word 03C9H

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY .word 0FEE8H .word 01DFH .word 0FE34H

start: mvkl coeff,a1 mvkh coeff,a1 mvkl MEM,a3 mvkh MEM,a3 mvkl ADCSOC1,a10 mvkh ADCSOC1,a10 mvkl ADCDATA,a0 mvkh ADCDATA,a0 mvkl 0x00000fff,a12 mvkh 0x00000fff,a12 mvkl 0x0800,a13 mvkh 0x0800,a13 mvkl DAC1,a15 mvkh DAC1,a15 ; DAC1 ; ADC SOC ; DELAY LINE LOCATION i.e: x(n),x(n-1),x(n-2),... ; COEFFICIENT LOCATION

mvkl 52,b2 mvkh 52,b2 zer: mvkl 00000000h,a2 mvkh 00000000h,a2 stw a2,*a3++ nop 7 sub b2,1h,b2 nop 2 [b2] b zer nop 6 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE ;intialize zero to all delay line locations

Page

121

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 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 ; Data Read

loop1: ldw *a1++,a5 nop 6 ldh *a3++,a6 nop 6 mpy a5,a6,a6 nop 4 shru a6,10h,a6

add a7,a6,a7 nop 2 PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

122

nop 3

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 nop 6 mvkl 52,b1 mvkl MEM,b3 mvkh MEM,b3 ldh *b3,b4 nop 6 loop2: 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 ; loop to copy x(n) to x(n-1) ; Send Data to DAC

nop 7 .end PREPARED BY K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

123

b start1

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

124

V SEM ECE 080290034-DIGITAL SIGNAL PROCESSING LABORATORY

RESULT:

implemented successfully.

PREPARED BY

K.MOHANAPRAKASH, AP/ECE M.KAVIYARASAN, LECTURER/ECE

Page

125

Thus the DSP processor program for FIR LPF, BPF, BRF and HPF were loaded and

Potrebbero piacerti anche