f is an array with multiple elements, and f0 is a scalar (single element). The statement " f < f0 " returns an array the same size as f with true and false values for each element of f. You can use the functions ALL or ANY to convert this to a single value, so it can be used in an IF condition.
However, I suspect that you want to create a new array TL that has the same number of elements as f, but some elements of TL are calculated one way and some another way ...
You can try this
TL = repmat(TLm1+TLm2+6, size(f))
q1 = (f0<=f) & (f<fl)
TL(q1) = TLm1 + TLm2 + 20.*log10(f(q1).*d)-29
q2 = f < f0
TL(q2) = TLm