In the lab project you will be applying the knowledge


LAB PROJECT

In the lab project, you will be applying the knowledge acquired in this course to design basic mathematical and signal processing operations. Your system must be able to provide different options, as discussed below, according to the state of Port 0.

 

Input (P0)

Operation

Result (External Memory)

Marks

1

00000000

Dot Product (A.B)

Store Result at 250H...

2

2

00000001

Convolution of same length vectors (A*B)

Store Result at 260H...

3

3

00000010

Convolution of variable length vectors (C*D)

Store Result at 270H...

4

4

00000011

l0, l1, l2, l∞ norm of vector A

Store Result at 280-283H

3

5

00000100

2D Convolution (E*F)

Store Result at 300H...

8

Note that for 2D Convolution, the resultant matrix should be of size 8 x 8. Use the concept of boundary extension, if required.

Inputs:

A = [a1 a2 a3 a4 a5]

B = [b1 b2 b3 b4 b5]

where A and B, both are positive vectors of fixed length 5.

Define two variables, VECTORA and VECTORB, in external RAMto store the input vectors A and B.

                   ORG 100H
VECTORA:    DB a1, a2, a3, a4, a5

                   ORG 110H
VECTORB:    DB b1, b2, b3, b4, b5

For, variable length vectors,

C = [lc c1 c2 . .]

D = [ld d1 d2 . .]

where C and D, both are positive vectors of length lc  and ld.

Define two more variables, VECTORC and VECTORD in external RAM. These vectors can have arbitrary length. The first element of each vector will be the length of that vector.

                   ORG 130H
VECTORC:    DB lc, a1, a2, a3, a4, a5

                   ORG 150H
VECTORD:    DB ld, b1, b2, b3, b4, b5

For 2D convolution,

2074_2-D Convoution Matrix.png

where E and F are positive matrices of size 8 x 8 and 3 x 3

Define two variables, MATRIXE and MATRIXF, in external RAMto store the input matrices.

                ORG 170H
MATRIXE:  DB e11, e12, e13, e14, e15, e16, e17, e18,e21, e22, e23, e24, e25, e26, e27, e28,e31, e32, e33, e34, e35, e36, e37, e38,e41, e42, e43, e44, e45, e46, e47, e48,e51, e52, e53, e54, e55, e56, e57, e58,e61, e62, e63, e64, e65, e66, e67, e68,e71, e72, e73, e74, e75, e76, e77, e78,e81, e82, e83, e84, e85, e86, e87, e88,

               ORG 220H
MATRIXF: DB f11, f12, f13, f21, f22, f23, f31, f32, f33

Example:

C = [5    2    4    6   1   5]

D = [3   1   2    2]

Conv(C, D) = [2     8   18    21   19   12  10]

Initialization:

                ORG 130H
MATRIXA:  DB 5, 2, 4, 6, 1, 5

                ORG 150H
MATRIXB:  DB 3, 1, 2, 2

Result after execution of code

At 270H: 2 8 18 21 19 12 10

You are required to complete the project in following steps.

1. Outline a scheme to do the project and develop an algorithm to accomplish this taskand show using flowchart.

2. Write the assembly language code in Mide-51 simulator.

3. Run the code and check the output

4. Finalize the code, verify all outputs.

5. Write a brief report on your project, defining your methodology to accomplish the task and your code.

6. Demonstrate the code (the date of project exam will be communicated later)

Request for Solution File

Ask an Expert for Answer!!
Other Engineering: In the lab project you will be applying the knowledge
Reference No:- TGS01382505

Expected delivery within 24 Hours