How can I filter blog name?

The value is from get_option('blogname'), so you can filter pre_option_blogname:

add_filter( 'pre_option_blogname', 'wpse_78345_blogname' );

function wpse_78345_blogname()
{
    return 'Haha!';
}

Do not filter option_blogname. This is wrong: you are wasting time with that, because WordPress will parse the option cache for the stored result, and then you don’t even use it.