A method for controlling C-RAN, applicable for a C-RAN having a plurality of remote radio heads (RRH01-RRH20) and a baseband unit, wherein the method comprises: receiving a plurality of preambles from the plurality of remote radio heads (RRH01-RRH20) wherein each of the preambles is corresponding to one user end device; determining at least one type-2 downlink packet based on the plurality of preambles and the plurality of remote radio heads (RRH01-RRH20); wherein if the number of the at least one type-2 downlink packet is plural, determining whether a number of resource blocks of a physical downlink control channel (PDCCH) is enough or not based on an amount of control signals of the plurality of type-2 downlink packets (RAR1-RAR3); and if the number of resource blocks is not enough, reorganizing at least part of the plurality of type-2 downlink packets (RAR1-RAR3) if those type-2 downlink packets are sent via remote radio heads adjacent to each other based on a remote radio head arrangement table; collecting at least one first uplink signal corresponding to a first user end device; determining a first estimated region based on a communication range of part of the plurality of remote radio heads (RRH01-RRH20) receiving the at least one first uplink signal; setting N estimated coordinates in the first estimated region, wherein N is an integer larger than one; setting N moving directions for the N estimated coordinates respectively, wherein the N moving directions are set randomly; modifying the N estimated coordinates based on a maximum displacement and the N moving directions; and selecting at least one remote radio head among the plurality of remote radio heads (RRH01-RRH20) based on the N modified estimated coordinates to send a type-3 downlink packet to the first user end device; wherein the remote radio head arrangement table is used for describing a relationship between geometric locations of the plurality of remote radio heads (RRH01-RRH20). receiving a plurality of preambles from the plurality of remote radio heads (RRH01-RRH20) wherein each of the preambles is corresponding to one user end device; determining at least one type-2 downlink packet based on the plurality of preambles and the plurality of remote radio heads (RRH01-RRH20); wherein if the number of the at least one type-2 downlink packet is plural, determining whether a number of resource blocks of a physical downlink control channel (PDCCH) is enough or not based on an amount of control signals of the plurality of type-2 downlink packets (RAR1-RAR3); and if the number of resource blocks is not enough, reorganizing at least part of the plurality of type-2 downlink packets (RAR1-RAR3) if those type-2 downlink packets are sent via remote radio heads adjacent to each other based on a remote radio head arrangement table; collecting at least one first uplink signal corresponding to a first user end device; determining a first estimated region based on a communication range of part of the plurality of remote radio heads (RRH01-RRH20) receiving the at least one first uplink signal; setting N estimated coordinates in the first estimated region, wherein N is an integer larger than one; setting N moving directions for the N estimated coordinates respectively, wherein the N moving directions are set randomly; modifying the N estimated coordinates based on a maximum displacement and the N moving directions; and selecting at least one remote radio head among the plurality of remote radio heads (RRH01-RRH20) based on the N modified estimated coordinates to send a type-3 downlink packet to the first user end device; wherein the remote radio head arrangement table is used for describing a relationship between geometric locations of the plurality of remote radio heads (RRH01-RRH20).