flexible membership billing
The easiest way is to create three membership one for monthly, Quarterly and yearly which will solve the problem 

If you need all the frequency in a single membership then you have to handle this by creating a custom field linked with membership which will hold the frequency value and whenever we create a membership or renew a membership you should calculate the end date of the membership based on the frequency using hooks and update the membership record manually - that should solve the problem - I guess this helps!