How can i select taxonomy terms applying filters on its fields?
The EntityFieldQuery class is the normal tool fot this sort of task. Have a look at the docs for more information, but this is a basic example based around what you've mentioned in your question:

$query = new EntityFieldQuery;
$query-&gt;entityCondition('entity_type', 'taxonomy_term')
  -&gt;propertyCondition('vid', $vocab_id_of_terms_you_want_to_select)
  -&gt;fieldCondition('field_author', 'tid', $the_author_tid);

$results = $query-&gt;execute();

$found_terms = taxonomy_term_load_multiple(array_keys($results['taxonomy_term']));