Is there a reason BaseFilterType uses "decimal" instead of "double" for
ApproximationLowerBound, ApproximationUpperBound and MaximumError? It seems
a needless restriction given that everything else uses double?
Also, InputSampleRate in DecimationType is a fsx:FrequencyType, so HERTZ,
but SampleRate in SampleRateGroup is a fsx:SampleRateType and so SAMPLES/S.
It seems like these should be the same type and unit?