One Approach
1 .If you are in state Qo and a is the input and Zo is on top of the stack then push aa instead of single a
2 .If you are in state Qo and a is the input and a is on top of the stack then push aa instead of single a
3 .If you are in state Qo and b is the input and a is on top of the stack then get the state Q1 and pop a
Pop one a for one b because we have already pushed 2 aa's instead of one a .
As long as you are in state Q2 keep on poping off a for every b.
Once the string is empty you can accept it
Second Approach
instead of pushing 2 a's push only one a in state Qo and once you see a "b" make a transition in state Q2 and for every one "a" pop off 2 b's.
(for first b don't do anything and in case of second b pop off a) Do it alternatively
Both approach's work well....