Confusion over binary radix usage and formatting through FIR filter (and circuits in general)
Let's suppose you have a coefficient and a signal input value. If the coefficient has
\$F_C\$ fraction bits and the input has \$F_I\$ fraction bits then their product will have \$F_C + F_I \$ fraction bits. When you used 000000001 to represent the integer 1 you had implicitly set \$F_I = 0\$ so the products had the same format as the coefficients. If you use fixed-point values that are \$\ge 1.0\$ then you will need bits to the left of the binary point to represent the integer part of the value. As with the fraction bits, the number of integer bits in the product will equal the sum of the numbers of integer bits in the multiplier and multiplicand.

When you add fixed-point values they must have the same number of fraction bits (i.e. the binary point is aligned) and the sum will have the same number of fraction bits as the addends. If you don't have information about the actual range of values for the sum then you need to assume that a carry can occur, so you need an additional bit to the left of the binary point to represent the integer part of the number. That is, you need one more integer bit in the sum than the maximum number of integer bits in either of the addends.