Q1a : first, used white square, then gradient-circle. since .* multiplies the elements in matrix one by one, we'll have frequency only around origin, which is low freq. thus, result is lowpass filter.
Original image:

Filter:

Result:


Q1b : used 10x10 gaussian mask, applied it to each rgb by conv2 & cat'd 'em
Original image:

Result:

Q2 : follow exact procedure - fspecial with unsharp + apply it by imfilter
Original image:

Result:

Q3 : ghost image is 200x200. take the min of width, height from both input image & ghost image -> crop it s.t. ghost will be at the center of the image
Original image:

Ghost image:

Result:

Q4 : convert rgb to gray because histeq works for 2 dim matrix. Then, output both gray version + revealed version to compare
Original image:

Gray image:

Result: