1. A method of designing a filter, comprising the steps of: (i) defining a desired filter characteristic; and (ii) applying an algorithm to the desired filter characteristic to provide a filter having infinite Q factor elements and having a theoretical characteristic corresponding to the desired characteristic transformed to compensate for the difference between~finite Q factor and infinite Q factor elements.