设备到设备(Device To Device,D2D)通信允许移动终端无需通过基站而进行直接通信.为提高蜂窝系统能效,引入D2D通信共享频谱资源形成异构蜂窝网络.本文将D2D通信的能效优化问题转化为博弈收益最大化问题,并提出了一种基于Stackelberg博弈的分布式功率控制算法.针对系统模型中存在的跨层干扰以及层内干扰,该算法建立了干扰价格系数与D2D对发送功率之间的函数关系,并求解出给定干扰价格系数下D2D对最佳发送功率的闭合表达式.仿真结果表明所提算法能够在最大化基站端蜂窝用户收益的基础上有效提高D2D对的总能效.