A method for operating a first device capable of full-duplex operation and self-interference cancellation, the method comprising: scheduling, by the first device, a first flexible allocation resource of a frame as a first resource for a second device served by the first device; scheduling, by the first device, a second flexible allocation resource of the frame as a second resource for a third device served by the first device; wherein the first flexible allocation resource is configured as an uplink resource or downlink resource for communication between the first device and the second device and the second flexible allocation resource is configured as a downlink resource or uplink resource for communication between the first device and the third device; generating, by the first device, the frame including the flexible allocation resources and a first half-duplex training period configured to convey a first training signal, where the first half-duplex training period and the first training signal are used to perform an estimation of a channel impulse response, CIR, of a communications channel between a transmit antenna of the first device and a receive antenna of the first device; transmitting and simultaneously receiving, by the first device, the frame; estimating, by the first device, the CIR of the communications channel in accordance with the first training signal conveyed in the frame; and cancelling, by the first device, self- interference in signals received by the first device, from transmissions made by the first device, wherein the self-interference cancellation is made using the estimated CIR; wherein the generating, by the first device, the frame comprises placing the first training signal on the first half-duplex training period in the guard period of a special subframe of the frame. scheduling, by the first device, a first flexible allocation resource of a frame as a first resource for a second device served by the first device; scheduling, by the first device, a second flexible allocation resource of the frame as a second resource for a third device served by the first device; wherein the first flexible allocation resource is configured as an uplink resource or downlink resource for communication between the first device and the second device and the second flexible allocation resource is configured as a downlink resource or uplink resource for communication between the first device and the third device; generating, by the first device, the frame including the flexible allocation resources and a first half-duplex training period configured to convey a first training signal, where the first half-duplex training period and the first training signal are used to perform an estimation of a channel impulse response, CIR, of a communications channel between a transmit antenna of the first device and a receive antenna of the first device; transmitting and simultaneously receiving, by the first device, the frame; estimating, by the first device, the CIR of the communications channel in accordance with the first training signal conveyed in the frame; and cancelling, by the first device, self- interference in signals received by the first device, from transmissions made by the first device, wherein the self-interference cancellation is made using the estimated CIR; wherein the generating, by the first device, the frame comprises placing the first training signal on the first half-duplex training period in the guard period of a special subframe of the frame.