How to multiply fixed point numbers of different format
This isn't particularly different from multiplying two fixed point numbers with the same format. You need to do a multiplication which preserves the most significant bits, then shift the binary point back to the desired output format.

So, do a 16x16 => 32 bit multiplication. The binary point is then at position 13+6 = 19, so you have a Q13.19 format number.

Assuming you want Q10.6 format output, you shift right by 13, optionally check for overflow, then take the lower 16 bits.