WO2016188076A1 - 一种多径解调方法、装置及计算机存储介质 - Google Patents

一种多径解调方法、装置及计算机存储介质 Download PDF

Info

Publication number
WO2016188076A1
WO2016188076A1 PCT/CN2015/096052 CN2015096052W WO2016188076A1 WO 2016188076 A1 WO2016188076 A1 WO 2016188076A1 CN 2015096052 W CN2015096052 W CN 2015096052W WO 2016188076 A1 WO2016188076 A1 WO 2016188076A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
list
node
sub
linked list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2015/096052
Other languages
English (en)
French (fr)
Inventor
江仁清
王文楠
成竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Microelectronics Technology Co Ltd filed Critical ZTE Microelectronics Technology Co Ltd
Publication of WO2016188076A1 publication Critical patent/WO2016188076A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7097Interference-related aspects
    • H04B1/711Interference-related aspects the interference being multi-path interference

Definitions

  • the present invention relates to the field of wireless communications, and in particular, to a multipath demodulation method, apparatus, and computer storage medium.
  • the wireless signals emitted by the user equipment UE, User Equ sub-period
  • UE User Equ sub-period
  • a variety of different propagation paths form different multipath weakened channels that propagate to the receiver.
  • the receiver realizes receiving the user signal by demodulating and multipath combining different multipaths belonging to each user equipment.
  • all multipath demodulation tasks (hereinafter referred to as tasks) configured by software are stored in a first input first output (FIFO) memory, and then, The task in the FIFO is parsed, and the task information is stored in the task status table in units of tasks.
  • the system scans the status table with a fixed scan period, such as 32 chip times, to determine whether the task has been configured. Whether the configured task has taken effect, whether the effective time of the inactive task has arrived, etc.
  • the obtained effective task is sent to the next-level processing module for multipath demodulation processing.
  • the system scans the status table, and the time spent scanning the status table is not reduced because the number of configured tasks is reduced. As a result, the system scheduling task is inefficient.
  • embodiments of the present invention are directed to providing a multipath demodulation method, apparatus, and computer storage medium to improve the efficiency of scheduling tasks in a multipath demodulation process.
  • the embodiment of the invention provides a multipath demodulation method, including:
  • multipath demodulation is performed on the effective tasks corresponding to the task nodes in the task list one by one.
  • the method further includes:
  • the valid task is detected from the configured task, and the task type of the valid task is read;
  • the maintaining the valid task to the task linked list according to the task type includes:
  • the maintaining the valid task to the task linked list according to the task type includes:
  • the maintaining the valid task to the task linked list according to the task type includes:
  • the method further includes:
  • performing multipath demodulation on the task nodes of the task linked list one by one including:
  • multipath demodulation is performed on task nodes in the task list one by one.
  • the multi-path demodulation of the task nodes in the task list is performed one by one, including:
  • the antenna data is sequentially subjected to interpolation, first descrambling despreading, frequency offset compensation, and second despreading based on task parameters of the task node.
  • the embodiment of the present invention further provides a multipath demodulation device, where the device includes: a task scheduling module and a multipath demodulation module;
  • the task scheduling module is configured to detect, in the current symbol period, whether the task linked list corresponding to the i-th sub-period is empty when the i-th sub-period arrives, wherein the task-hierarchy is in the i-th sub-period
  • the effective task is the task node, and i is a positive integer
  • the multipath demodulation module is configured to perform multipath demodulation on the effective tasks corresponding to the task nodes in the task link list one by one when the task link list is not empty.
  • the task scheduling module is further configured to: when the i-th sub-period arrives, detect an effective task from the configured task, and read the valid task in the previous symbol period.
  • the task type according to the task type, the valid task is maintained to the task list.
  • the task scheduling module is specifically configured to insert the effective task as a new task node into a header of the task linked list;
  • the node count is incremented by 1.
  • the task scheduling module is specifically configured to delete the task node corresponding to the valid task from the task linked list; and reduce the node count of the task linked list by one.
  • the task scheduling module is specifically configured to determine, in the task linked list, a task node corresponding to the valid task; based on the task information of the valid task, Update the task node.
  • the task scheduling module is further configured to: when the ith sub-cycle arrives, detect an effective task from the configured task, and generate the task linked list for the valid task.
  • the multipath demodulation module is configured to acquire antenna data corresponding to the task link list when the task link list is not empty; and to perform tasks in the task link list one by one based on the antenna data.
  • the node performs multipath demodulation.
  • the multipath demodulation module is configured to perform the following steps for each task node of the task package: sequentially interpolating and first decoding the antenna data based on the task parameters of the task node. Disturbance expansion, frequency offset compensation and second despreading.
  • Embodiments of the present invention provide a computer storage medium in which a computer program is stored, the computer program for performing the multipath demodulation method described above.
  • the embodiment of the present invention provides a multipath demodulation method, apparatus, and computer storage medium.
  • the i th sub-cycle arrives, it is detected whether the task list corresponding to the i-th sub-period is empty, wherein the task is The linked list is the task node with the effective task of the i-th sub-period.
  • the task linked list is a non-empty linked list
  • the multi-path demodulation of the task nodes in the task linked list is performed one by one. It can be seen that since the task list is the task node of the i-th sub-period as the task node, then in the current symbol period, when the i-th sub-cycle arrives, it is only necessary to detect whether the corresponding task list is empty.
  • FIG. 1 is a functional block diagram of a multipath demodulation apparatus according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a bidirectional task linked list in an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a multipath demodulation method according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a multipath demodulation apparatus according to an embodiment of the present invention.
  • Embodiments of the present invention provide a multipath demodulation method, which is applied to a multipath demodulation device, which may be a base station in a WCDMA system.
  • the multipath demodulation device includes a task scheduling module 11 and a multipath demodulation module 12.
  • the task scheduling module 11 is configured to configure a multipath demodulation task (hereinafter referred to as a task) configured by the external configuration processor 13, that is, the configured task is scheduled to the multipath demodulation module 12 according to the task effective time; the multipath solution
  • the tuning module 12 is configured to perform multipath demodulation on each scheduled task that has been scheduled, and send the demodulation result to an external demodulation result processing module 14 for subsequent processing;
  • the configuration processor 11 is configured to configure task information such as a task parameter, a task request, an antenna data storage base address, and a data storage base address
  • the demodulation result processing module 14 is configured to The demodulation result is subjected to subsequent processing such as channel estimation, multipath combining, and the like.
  • a multipath demodulation method provided by an embodiment of the present invention will be described below in conjunction with the above multipath demodulation apparatus.
  • a symbol period of the system time corresponds to 256 chip times, which The 256 chip time can be divided into M time segments, each time segment is 1 sub-period, and M is a positive integer. That is to say, one symbol period is divided into M sub-cycles. For example, M takes 8 , that is, divides a symbol period into 8 sub-periods, which are sub-period 0, sub-period 1, ..., sub-period 7, each sub-period is 32 chip times. Of course, one symbol period can be divided into four sub-cycles. In this case, each sub-period is 64 chip times, which is based on actuality, and is not specifically limited in the present invention.
  • the task scheduling module schedules the task for the first time, the task information of the processor configuration task, the task request, the base address of the antenna data storage area, and the reported data storage base address are configured, and the configured task is configured.
  • the task information is stored in the buffer area of the task scheduling module.
  • the task scheduling module determines the task in the configured task to be effective as the effective task. That is, the task scheduling module periodically detects the buffer area to check whether there are tasks that are in effect in the i-th sub-period, and if so, determine the tasks as valid tasks and generate a task list for them; The task scheduling module waits for the next sub-cycle to arrive.
  • the task scheduling module performs timing according to a sub-period.
  • the task scheduling module determines the effective task of the sub-period in the configured task in the buffer area, that is, the task of the configured task takes effect.
  • the time is compared with the system time. When the two are consistent, the task is considered to be valid, that is, the task has been validated. Otherwise, the task is not valid, and the other configured tasks are continuously compared until all configured tasks are compared.
  • the task scheduling module groups these effective tasks into tasks, and divides the tasks with the same sub-cycle number as the task group.
  • the sub-cycle number is the same as the cycle time of each sub-cycle, the sub-cycle number of the effective time of the effective task detected by each sub-cycle of the task scheduling module is the same, then these tasks form a task group, and finally, The task scheduling module creates a task list for each task group.
  • the task group whose sub-cycle number is sub-cycle 0, sub-cycle 1, ..., sub-period 7 corresponds to the task link table sub-cycle 0_DL, sub-period, respectively. 1_DL, ..., sub-period 7_DL.
  • each of the tasks in the task group that have been validated is the task node in the corresponding task list.
  • the preset time is 1 sub-period. Then, before the task scheduling module schedules the task for the first time, the timing also arrives when the i-th sub-period arrives in one symbol period. At this time, the task scheduling module is configured. The task determines the task that is in effect in the i-th sub-cycle, that is, the effective task of the i-th sub-period, and establishes a task list for it.
  • the task The scheduling module determines the valid tasks of the i+1th sub-period from the newly configured configured tasks, and establishes a task linked list for it, and so on, until all the effective tasks in the symbol period establish a task linked list.
  • i is an integer greater than or equal to 0 and less than M.
  • the foregoing preset time may also be an integer multiple of the sub-period, such as 2 sub-periods, 3 sub-periods, 5 sub-periods, and 7 sub-periods, which are not limited in specific terms.
  • the task scheduling module may generate an empty task linked list for each sub-period in advance, and then configure the task parameters, task requests, and task requests of the processor configuration task before the task scheduling module first schedules the task.
  • the task information such as the base address of the antenna data storage area and the reported data storage base address, and the task information of the configured task is stored in the buffer area of the task scheduling module, and then, when the i-th sub-cycle arrives in one symbol period,
  • the task scheduling module determines the task that has been validated in the sub-cycle as the valid task, that is, the task scheduling module periodically detects the buffer to check whether there is a task that is effective in the i-th sub-period. If so, determine these tasks as active tasks and add them as task nodes to the task list of the i-th sub-cycle; if not, the task scheduling module waits for the next sub-cycle to arrive.
  • the task scheduling module generates a corresponding task linked list for the effective tasks of each sub-period before scheduling the task for the first time. Then,
  • the task scheduling module also maintains the task list.
  • the task scheduling module detects from the configured task that a new task is in effect at this time, that is, when the effective task is detected, first, Read the task types of these valid tasks to determine whether the task type of the valid task is new, delete, or parameter update. Then, according to the task type, the valid task is maintained in the task list of the i-th sub-cycle.
  • the step of maintaining the effective task to the task list according to the task type includes: inserting the effective task as a new task node into the head of the task list, and The node count of the task list is incremented by 1.
  • the task scheduling module reads the task parameter of the valid task and the sub-cycle number of the current system time, and at the same time, the task scheduling module calculates the user time of the executed task, and then calculates the calculated user time and The task number of the task, the task effective time, the parameter area number, the task list number and other task information together form a new task node, which is inserted into the head of the task linked list. At this time, the node count value of the task linked list is incremented by one.
  • the step of maintaining the valid task to the task list according to the task type includes: deleting the task node corresponding to the effective task from the task list of the i-th sub-period, and deleting the task
  • the node count of the linked list is decremented by 1.
  • the task scheduling module reads the task number of the valid task, and then determines the task node corresponding to the valid task according to the task number, and finally deletes the task node from the task list. At this point, the node count value of the task list is decremented by 1.
  • the step of maintaining the effective task to the task list according to the task type includes: determining, in the task list of the i-th sub-period, the task node corresponding to the valid task; The task information of the effective task is updated, and the task node is updated.
  • the task scheduling module reads the task number of the valid task, the root The task node corresponding to the task node in the i-th sub-period is determined according to the task number, and then the new task information of the valid task is updated to the corresponding task node. At this time, since only the task information of the task node in the task list of the i-th sub-period is updated, and the number of task nodes in the task list is not changed, the node count value of the task list of the i-th sub-period does not change.
  • the task scheduling module detects that the task S has been validated and obtains the task type as After the parameter is updated, the task scheduling module first reads the task number of the valid task S, and then determines, according to the task number, the task node corresponding to the valid task S in the task list of the i-1th sub-period, at this time, the task scheduling The module deletes the task node in the task list of the i-1th sub-period. Since the sub-cycle number of the task effective time of the valid task S is i, then the task scheduling module composes the task information of the valid task S.
  • a new task node is inserted into the head of the task list in the i-th sub-period.
  • the node count value of the task list of the i-1th sub-cycle is decremented by 1
  • the node count value of the task list of the i-th sub-cycle is incremented by 1.
  • the task scheduling module performs the above process to maintain the task list of each sub-cycle.
  • task list may be a singly linked list or a doubly linked list. Of course, it may also be a linked list of other forms, which is not specifically limited in the present invention.
  • the task linked list when the task linked list is a doubly linked list, since the node addresses of the existing doubly linked list are randomly allocated, it may take a long time to traverse the doubly linked list when searching for a certain node. Then, in order to save time and improve the efficiency of the search node, in the embodiment of the present invention, the task linked list may adopt a doubly linked list as shown in FIG. 2, each node address of the doubly linked list is fixed, and each node address is Logically arranged in order of the task number from small to large.
  • the Offset Address in FIG. 2 is a multipath demodulation device.
  • the task number supported by the demodulation system is 0, 1, 2, ..., n-1; Prior is a pointer to the predecessor node; Next is a pointer to the successor node; Head is a pointer to the head task node; NULL is a null pointer ;Task_p Info is the task information of the task p that has been validated, including the task number, task parameter area number, user time and so on, and so on.
  • the corresponding task linked list and the task node can be immediately determined by the task number in the valid task and the sub-period number of the task effective time, and the doubly linked list does not need to be traversed.
  • the doubly linked list can perform bidirectional query, after knowing the address of a certain node, the predecessor node and the successor node of the node can be known without traversing the linked list. Therefore, in the embodiment of the present invention, the task list may be as The doubly linked list shown in FIG. 2, in this way, the operations of creating, deleting, and updating parameters can be performed efficiently in the maintenance process of subsequent tasks.
  • the task scheduling module schedules each task linked list maintained in the previous symbol period, so that the multipath demodulation module performs multipath on each of the tasks that are valid for the task list. demodulation.
  • the method includes:
  • the task scheduling module first checks whether the task linked list is empty because it is to schedule the task linked list corresponding to the sub-period. If it is empty, the task scheduling module waits for the next sub-cycle, that is, the arrival of the i+1th sub-period, to schedule the task linked list corresponding to the i+1th sub-period; if not, execute S302.
  • the task scheduling module is valid for all.
  • the task establishes a task list, then, in the second symbol period, when the i-th sub-cycle arrives, if the sub-cycle does not have a corresponding task list, the task scheduling module waits for the next sub-cycle to arrive; when the i-th sub- When the period arrives, there is a non-empty task list in the sub-cycle. Then, at this time, the task scheduling module schedules the task list. Then, as the symbol period repeats, most of the sub-cycles, even each sub-cycle, will have a corresponding task list.
  • S302 includes: when the task scheduling module determines that the task link table corresponding to the i-th sub-period is non-empty, acquiring antenna data corresponding to the task-linked list; and correspondingly, corresponding to the task nodes in the task-linked list, according to the antenna data
  • the mission has been validated for multipath demodulation. In this way, the demodulation results of the respective active tasks can be obtained.
  • the task scheduling module groups all the task nodes in the task list into one task package, and the antenna data corresponding to all tasks in the task package is the same, and then sends the task package parameters of the task package to the multipath.
  • the demodulation module, the multipath demodulation module first obtains all the antenna data required for the current execution of the task package according to the task parameters of the task package, and then the task scheduling module starts the task node one by one from the head of the task list.
  • the task parameters are sent to the multipath demodulation module, and the multipath demodulation module performs interpolation, first descrambling despreading, and frequency on the antenna data just acquired according to the task parameters corresponding to the task node for each task node.
  • the partial compensation and the second despreading obtain the demodulation result of the task node.
  • the multipath demodulation device may further include a direct memory access (DMA) module.
  • DMA direct memory access
  • the task scheduling module first composes the two task nodes into one task package, and the number of tasks of the task package and the parameters required for reading the antenna data.
  • the task package parameter saved to the memory saves the address, and at the same time, the task package parameter is moved to the DMA command, and then the parameter sent to the DMA module is moved to the end of the DMA command queue.
  • the task scheduling module For the first task node, generate a task parameter to move the DMA command, send it to the tail of the parameter move DMA command queue, and then generate a task parameter move DMA command for the second task node, and send it to the tail of the parameter move DMA command queue.
  • the DMA module detects that the parameter move DMA command queue is not empty, the parameter transfer DMA command is taken out from the parameter move DMA command queue and executed in sequence. That is to say, the task packet parameter moving DMA command is executed first, and the task package parameter is moved to the multipath demodulation module, and the multipath demodulation module acquires corresponding antenna data according to the task package parameter, and then the DMA module executes the first task node.
  • the task parameter moves the DMA command, and moves the task parameter of the first task node to the multipath demodulation module, and the multipath demodulation module sequentially performs interpolation, first descrambling despreading, and frequency offset on the antenna data according to the task parameter.
  • the compensation and the second despreading in this way, obtain the demodulation result of the first task node.
  • the task parameter moving DMA command of the second task node is executed, and the task parameters of the second task node are moved to the multipath demodulation module, and the multipath
  • the demodulation module sequentially performs interpolation, first descrambling despreading, frequency offset compensation, and second despreading on the antenna data according to the task parameter, so that the demodulation result of the second task node is obtained.
  • the multipath demodulation module sends the demodulation result to the demodulation result processor one by one in the process of performing multipath demodulation on the task nodes one by one for the demodulation result processor to demodulate the demodulation results.
  • the result is subjected to subsequent processing such as channel estimation, multipath combining, and the like.
  • the multipath demodulation module may further store the demodulation result to the solution one by one after obtaining the demodulation result of each task.
  • the buffer of the result processor is adjusted, and the DAM command is generated corresponding to the generated report data, and is sent to the end of the report data transfer DAM command queue.
  • the DMA module detects that the reported data moving DMA command queue and the demodulation result buffer are not empty, the DMA module extracts the reported data moving DMA command from the reported data moving DMA command queue, and sequentially executes, demodulating
  • the demodulation results in the result buffer are reported to the demodulation result processor one by one. In this way, the reporting of the demodulation result and the movement of the parameter data can time-multiplex the same module, reducing the type of module and hardware resource overhead that need to be developed.
  • the task list is the task node of the i-th sub-period as the task node
  • the i-th sub-period arrives in the current symbol period, it is only necessary to detect whether the corresponding task list is empty. That is, if it is not empty, scheduling and demodulating each effective task corresponding to the task node in the task list, without confirming the status of each task indiscriminately, can determine the effective task of the sub-period In this way, the time for determining the effective task of the sub-period is greatly shortened, and the efficiency of scheduling tasks in the multi-path demodulation process is improved.
  • the embodiment of the invention further describes a computer storage medium, wherein the computer storage medium stores a computer program, and the computer program is used to execute the multipath demodulation method shown in FIG. 3 in the embodiment of the invention.
  • an embodiment of the present invention further provides a multipath demodulation device that is identical to the multipath demodulation device described in one or more of the above embodiments.
  • the multipath demodulation apparatus includes: a task scheduling module 11 and a multipath demodulation module 12; wherein the task scheduling module 11 is configured to detect when the i th sub-cycle arrives in the current symbol period Whether the task linked list corresponding to the i-th sub-period is empty, wherein the task linked list takes the effective task of the i-th sub-period as the task node, i is a positive integer; the multi-path demodulation module 12 is configured to be when the task linked list is not empty, The multipath demodulation of the active tasks corresponding to the task nodes in the task list is performed one by one.
  • the task scheduling module 11 is further configured to: when the i-th sub-period arrives, detect the valid task from the configured task, and read the task type of the valid task; The task type is to maintain the active task to the task list.
  • the task scheduling module 11 is specifically configured to insert the valid task as a new task node into the head of the task linked list; and increase the node count of the task linked list by one.
  • the task scheduling module 11 when the task type is deleted, is specifically configured to delete the task node corresponding to the valid task from the task linked list; and decrement the node count of the task linked list by one.
  • the task scheduling module 11 is specifically configured to determine a task node corresponding to the valid task in the task list; and update the task node based on the task information of the valid task.
  • the task scheduling module 11 is further configured to: when the ith sub-cycle arrives, detect the valid task from the configured task, and generate a task linked list for the valid task.
  • the multipath demodulation module 12 is configured to acquire antenna data corresponding to the task link table when the task link table is not empty; and perform multipath demodulation on the task nodes in the task link list one by one based on the antenna data.
  • the multipath demodulation module 12 is specifically configured to perform the following steps for each task node of the task package: performing interpolation, first descrambling despreading, and frequency offset on the antenna data according to the task parameters of the task node. Compensation and second de-expansion.
  • the functions of the task scheduling module 11 described above may be coordinated by the timer 111, the task scheduling processor 112, and the memory 113.
  • the timer 111 is configured to detect whether there is an active task detected;
  • the task scheduling processor 112 is configured to establish a task linked list for the valid task, and maintain the task linked list in the symbol period; and is configured to be in the current symbol period.
  • the memory 113 is configured to store the task parameters of the valid task.
  • the functions of the multipath demodulation module 12 described above may be coordinated by the antenna data module 121 and the multipath demodulation calculation module 122.
  • the antenna data module 121 is configured to read the corresponding antenna data according to the task package parameters, and send the data to the multipath demodulation calculation module 122.
  • the multipath demodulation calculation module 122 is configured to be a task parameter for each task node.
  • the antenna data is sequentially subjected to interpolation, first descrambling despreading, frequency offset compensation, and second despreading.
  • the multi-path demodulation module 12 may further include a data reporting module configured to report the demodulated result of the multi-path demodulation calculation module 122 to the next-stage processor, that is, the demodulation result processor, to Subsequent processing such as channel estimation, multipath combining, and the like is performed.
  • a data reporting module configured to report the demodulated result of the multi-path demodulation calculation module 122 to the next-stage processor, that is, the demodulation result processor, to Subsequent processing such as channel estimation, multipath combining, and the like is performed.
  • the task scheduling module 11, the multipath demodulation module 12, and the modules included in each module may be used by the multipath demodulation device or the central processing unit of the device to which the multipath demodulation device belongs ( CPU, Central Processing Unit), Microprocessor Unit (MPU), Digital Signal Processor (DSP), or Field Programmable Gate Array (FPGA).
  • CPU Central Processing Unit
  • MPU Microprocessor Unit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the i-th sub-period when the i-th sub-period arrives, it is detected whether the task-linked list corresponding to the i-th sub-period is empty, wherein the task-linked list is before the current symbol period.
  • the active task of the i-th sub-period in the symbol period is a task node, and i is a positive integer; when the task-linked list is a non-empty list, the multi-path of the effective task corresponding to the task node in the task list is performed one by one. Demodulation; thus, the efficiency of scheduling tasks in the multipath demodulation process can be improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Radio Transmission System (AREA)

Abstract

本发明实施例公开了一种多径解调方法,包括:在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表是以所述当前符号周期之前的符号周期内的第i个子周期的已生效任务作为任务节点,i为正整数;当所述任务链表为非空链表时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。本发明实施例同时还公开了一种多径解调装置及计算机存储介质。

Description

一种多径解调方法、装置及计算机存储介质 技术领域
本发明涉及无线通信领域,尤其涉及一种多径解调方法、装置及计算机存储介质。
背景技术
在宽带码分多址(WCDMA,Wideband Code Division Mult子周期le Access)系统中,由于障碍物的存在,用户设备(UE,User Equ子周期ment)发出的无线信号会以直射、反射和折射等多种不同的传播路径,形成不同的多径衰弱信道,传播到达接收机。接收机通过将属于每个用户设备的不同多径分别进行解调后再多径合并的方法实现对用户信号的接收。
在公开的现有多径解调技术中,首先,将软件配置的所有多径解调任务(以下简称:任务)存入一先进先出(FIFO,First Input First Output)存储器中,然后,对FIFO中的任务进行解析,以任务为单位,将任务信息存储到任务状态表中,接下来,系统以一个固定的扫描周期,比如32个码片时间扫描上述状态表,来确定任务是否已配置、已配置的任务是否已生效、未生效任务的生效时间是否到达等,接下来,将获得的已生效任务送入下一级处理模块进行多径解调处理。这样,只要扫描周期到达,系统都要去扫描上述状态表,且扫描状态表所花费的时间并不会因为配置的任务数减少而减少,如此,导致系统调度任务的效率低。
发明内容
有鉴于此,本发明实施例期望提供一种多径解调方法、装置及计算机存储介质,以提高多径解调过程中调度任务的效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种多径解调方法,包括:
在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表以所述第i个子周期的已生效任务作为任务节点,i为正整数;
当所述任务链表非空时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。
上述方案中,所述方法还包括:
在上一个符号周期内,当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并读取所述已生效任务的任务类型;
按照所述任务类型,将所述已生效任务维护至所述任务链表。
上述方案中,当所述任务类型为新建时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
将所述已生效任务作为新的任务节点,插入到所述任务链表的头部;
将所述任务链表的节点计数加1。
上述方案中,当所述任务类型为删除时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
从所述任务链表中删除所述已生效任务对应的任务节点;
将所述任务链表的节点计数减1。
上述方案中,当所述任务类型为更新时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
在所述任务链表中确定出所述已生效任务对应的任务节点;
基于所述已生效任务的任务信息,更新所述任务节点。
上述方案中,所述方法还包括:
当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并为 所述已生效任务生成所述任务链表。
上述方案中,所述当所述任务链表非空时,逐个地对所述任务链表的任务节点进行多径解调,包括:
当所述任务链表非空时,获取所述任务链表对应的天线数据;
基于所述天线数据,逐个地对所述任务链表中的任务节点进行多径解调。
上述方案中,逐个地对所述任务链表中的任务节点进行多径解调,包括:
针对所述任务包每一个任务节点执行以下步骤:
基于所述任务节点的任务参数,对所述天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
本发明实施例还提供了一种多径解调装置,所述装置包括:任务调度模块以及多径解调模块;其中,
所述任务调度模块,配置为在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表以所述第i个子周期的已生效任务作为任务节点,i为正整数;
所述多径解调模块,配置为当所述任务链表非空时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。
上述方案中,所述任务调度模块,还配置为在上一个符号周期内,当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并读取所述已生效任务的任务类型;按照所述任务类型,将所述已生效任务维护至所述任务链表。
上述方案中,当所述任务类型为新建时,所述任务调度模块,具体配置为将所述已生效任务作为新的任务节点,插入到所述任务链表的头部;将所述任务链表的节点计数加1。
上述方案中,当所述任务类型为删除时,所述任务调度模块,具体配置为从所述任务链表中删除所述已生效任务对应的任务节点;将所述任务链表的节点计数减1。
上述方案中,当所述任务类型为更新时,所述任务调度模块,具体配置为在所述任务链表中确定出所述已生效任务对应的任务节点;基于所述已生效任务的任务信息,更新所述任务节点。
上述方案中,所述任务调度模块,还配置为当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并为所述已生效任务生成所述任务链表。
上述方案中,所述多径解调模块,具体配置为当所述任务链表非空时,获取所述任务链表对应的天线数据;基于所述天线数据,逐个地对所述任务链表中的任务节点进行多径解调。
上述方案中,所述多径解调模块,具体配置为针对所述任务包每一个任务节点执行以下步骤:基于所述任务节点的任务参数,对所述天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序用于执行以上所述的多径解调方法。
本发明实施例提供了一种多径解调方法、装置及计算机存储介质,在当前符号周期内,当第i个子周期到达时,检测第i个子周期对应的任务链表是否为空,其中,任务链表以第i个子周期的已生效任务作任务节点,然后,当任务链表为非空链表时,逐个地对任务链表中的任务节点进行多径解调。可见,由于任务链表中是以第i个子周期的已生效任务作为任务节点的,那么,在当前符号周期内,当第i个子周期到来时,就只需要检测对应的任务链表是否为空即可,如果非空,对任务链表内任务节点对应的各个已生效任务进行调度、解调,而无需无差别地对每一个任务的状态进行确 认,就可以确定出该子周期的已生效任务,如此,大大缩短了确定该子周期的已生效任务的时间,提高了多径解调过程中调度任务的效率。
附图说明
图1为本发明实施例中的多径解调装置的功能框图;
图2为本发明实施例中的双向任务链表的示意图;
图3为本发明实施例中的多径解调方法的流程示意图;
图4为本发明实施例中的多径解调装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种多径解调方法,该方法应用于多径解调装置,该装置可以为WCDMA系统中的基站。
如图1所示,该多径解调装置包括:任务调度模块11和多径解调模块12。其中,任务调度模块11,配置为将外部的配置处理器13配置好的多径解调任务(以下简称:任务),即已配置任务按照任务生效时间调度至多径解调模块12;多径解调模块12,配置为对调度来的每一个已生效任务进行多径解调,并将解调结果发送至外部的解调结果处理模块14进行后续处理;
在一具体实施例中,上述配置处理器11,配置为配置任务的任务参数、任务请求、天线数据存储区基地址以及上报数据存储基地址等任务信息;解调结果处理模块14,配置为对解调结果进行如信道估计、多径合并等后续处理。
下面结合上述多径解调装置来对本发明实施例提供的一种多径解调方法进行说明。
首先,系统时间的一个符号(symbol)周期对应256个码片时间,这 256个码片时间可以分为M个时间段,每个时间段为1个子周期,M为正整数。也就是说,一个符号周期划分为M个子周期。比如,M取8,也就是将一个符号周期分成8个子周期,分别为子周期0、子周期1、…、子周期7,每个子周期为32个码片时间。当然,还可以将一个符号周期划分成4个子周期,此时,每个子周期为64个码片时间,具体以实际为准,本发明不做具体限定。
在具体实施过程中,在任务调度模块首次对任务进行调度之前,配置处理器配置任务的任务参数、任务请求、天线数据存储区基地址以及上报数据存储基地址等任务信息,并将已配置任务的任务信息存储到任务调度模块的缓存区中,然后,在一个符号周期内,当第i个子周期到达时,任务调度模块将已配置任务中在该子周期生效的任务确定为已生效任务,也就是说,任务调度模块周期性地对该缓存区进行检测,查看是否有在第i个子周期生效的任务,若有,将这些任务确定为已生效任务,并为其生成任务链表;若无,任务调度模块等待下一个子周期的到来。
在实际应用中,任务调度模块按照一个子周期进行定时,当定时到达时,任务调度模块在缓存区中的已配置任务中确定出该子周期的已生效任务,就是将已配置任务的任务生效时间与系统时间进行比对,当两者一致时,认为该任务生效,即为已生效任务,反之,该任务未生效,继续比对其它已配置任务,直至所有已配置任务完成比对。接下来,任务调度模块会对这些已生效任务进行分组,将任务生效时间的子周期编号相同的任务划分为一个任务组。由于以一个子周期为周期时间,所以,任务调度模块每个子周期到达时所检测出的已生效任务的任务生效时间的子周期编号都是相同的,那么,这些任务组成一个任务组,最后,任务调度模块为每一个任务组建立一个任务链表。比如,任务生效时间的子周期编号为子周期0、子周期1、…、子周期7的任务组分别对应任务链表子周期0_DL、子周期 1_DL、…、子周期7_DL。此时,任务组中的每一个已生效任务就是对应任务链表中的任务节点。
例如,上述预设时间为1个子周期,那么,任务调度模块首次对任务进行调度之前,在一个符号周期内,当第i个子周期到达时,定时也到达,此时,任务调度模块从已配置任务中确定出在第i个子周期生效的任务,即第i个子周期的已生效任务,并为其建立一任务链表,接着,当第i+1个子周期到达时,定时器的定时到达,任务调度模块从新配置好的已配置任务中确定出第i+1个子周期的已生效任务,并为其建立一任务链表,以此类推,直至该符号周期内所有已生效任务都建立了任务链表。其中,这里的i为大于等于0且小于M的整数。
当然,上述预设时间还可以为子周期的整数倍,如2个子周期、3个子周期、5个子周期、7个子周期,具体以实际为准,本发明不做具体限定。
在另一实施例中,任务调度模块可以预先为每一个子周期都生成一个空的任务链表,那么,在任务调度模块首次对任务进行调度之前,配置处理器配置任务的任务参数、任务请求、天线数据存储区基地址以及上报数据存储基地址等任务信息,并将已配置任务的任务信息存储到任务调度模块的缓存区中,然后,在一个符号周期内,当第i个子周期到达时,任务调度模块将已配置任务中在该子周期生效的任务确定为已生效任务,也就是说,任务调度模块周期性地对该缓存区进行检测,查看是否有在第i个子周期生效的任务,若有,将这些任务确定为已生效任务,并将其作为任务节点添加至第i个子周期的任务链表中;若无,任务调度模块等待下一个子周期的到来。
通过上述流程,任务调度模块在首次调度任务之前,为每一个子周期的已生效任务生成了对应的任务链表。那么,
在接下来的每一个符号周期内,都可能会有新的任务需要添加到对应 任务链表中,或者某些任务需要从任务链表中删除或者参数更新,此时,任务调度模块还会对任务链表进行维护。
具体来说,在一个符号周期内,当第i个子周期到达时,此时,如果任务调度模块从已配置任务中检测到此时有新的任务生效,即检测到已生效任务时,首先,读取这些已生效任务的任务类型,来确定已生效任务的任务类型是新建、删除或参数更新,然后,根据任务类型,将已生效任务维护到第i个子周期的任务链表中。
第一种情况,当任务类型为新建时,上述按照任务类型,将已生效任务维护至任务链表的步骤包括:将该已生效任务作为新的任务节点,插入到任务链表的头部,并将任务链表的节点计数加1。
具体地,任务调度模块读取该已生效任务的任务参数和当前系统时间的子周期编号,同时,任务调度模块计算该已生效任务本次执行的用户时间,然后,将计算出来的用户时间和该任务的任务编号,任务生效时间,参数区编号、任务链表编号等任务信息一起,组成一个新的任务节点,插入到任务链表的头部,此时,任务链表的节点计数值加1。
第二种情况,当任务类型为删除时,上述按照任务类型,将已生效任务维护至任务链表的步骤包括:从第i个子周期的任务链表中删除已生效任务对应的任务节点,并将任务链表的节点计数减1。
具体地,任务调度模块读取该已生效任务的任务编号,然后,根据任务编号确定该已生效任务对应的任务节点,最后,从所在的任务链表中删除该任务节点。此时,任务链表的节点计数值减1。
第三种情况,当任务类型为更新时,上述按照任务类型,将已生效任务维护至任务链表的步骤包括:在第i个子周期的任务链表中确定出已生效任务对应的任务节点;基于已生效任务的任务信息,更新任务节点。
在一具体实施例中,任务调度模块读取该已生效任务的任务编号,根 据任务编号确定出该已生效任务在第i个子周期的任务链表上对应的任务节点,然后,将该已生效任务的新的任务信息更新至对应的任务节点。此时,由于仅更新了第i个子周期的任务链表中任务节点的任务信息,并没有更改任务链表中任务节点的数量,所以,第i个子周期的任务链表的节点计数值不变。
在实际应用中,任务类型为参数更新的已生效任务可能会存在更换任务链表的情况,举例来说,在第i个子周期到达时,任务调度模块检测到已生效任务S,获得其任务类型为参数更新,那么,任务调度模块先读取已生效任务S的任务编号,然后,根据任务编号确定已生效任务S对应的任务节点在第i-1个子周期的任务链表中,此时,任务调度模块将第i-1个子周期的任务链表中的该任务节点删除,由于已生效任务S的任务生效时间的子周期编号为i,接下来,任务调度模块就将已生效任务S的任务信息组成一个新的任务节点,插入到第i个子周期的任务链表的头部。此时,第i-1个子周期的任务链表的节点计数值减1,第i个子周期的任务链表的节点计数值加1。
在每个符号周期内,任务调度模块执行上述流程,对各个子周期的任务链表进行维护。
需要说明的是,上述任务链表可以为单向链表,也可以为双向链表,当然,还可以为其他形式的链表,本发明不做具体限定。
在一具体实施例中,当任务链表为双向链表时,由于现有的双向链表的节点地址是随机分配的,导致在查找某个节点时,可能需要遍历双向链表,耗费较长的时间。那么,为了节省时间,提高查找节点的效率,在本发明实施例中,任务链表可以采用如图2所示的双向链表,该双向链表的每个节点地址都是固定的,并且每个节点地址在逻辑上按照任务编号从小到大的顺序依次排列。具体来说,图2中的Offset Address为多径解调装置 支持的所有任务对应的双向链表的节点地址(字节地址),每个双向链表的任务节点占12个字节的存储空间;n为多径解调装置支持的最大任务数,那么,多径解调系统支持的任务编号为0,1,2,…,n-1;Prior为指向前趋节点的指针;Next为指向后继节点的指针;Head为指向头任务节点的指针;NULL为空指针;Task_p Info为已生效任务p的任务信息,包括任务编号,任务参数区编号,用户时间等信息,以此类推。
在实际应用中,即使某个任务编号的任务没有配置,其在双向链表存储区中的空间也是已分配的。
可见,采用上述双向链表可以由已生效任务中的任务编号和任务生效时间的子周期号立即确定出对应任务链表和任务节点,不需要遍历双向链表。并且,由于双向链表可以进行双向查询,在知道某个节点的地址后,不用遍历链表,即可知道该节点的前趋节点和后继节点,所以,在本发明实施例中上述任务链表可以为如图2所示的双向链表,如此,在后续任务的维护过程中可以高效地完成对任务的新建、删除、参数更新等操作。
接下来,在每一个符号周期到达时,任务调度模块会对上一个符号周期维护好的各个任务链表进行调度,以供多径解调模块对这些任务链表对应的每一个已生效任务进行多径解调。
那么,如图3所示,该方法包括:
S301:在当前符号周期内,当第i个子周期到达时,检测第i个子周期对应的任务链表是否为空;
具体来说,当第i个子周期到达时,任务调度模块因为要去调度该子周期对应的任务链表上,所以,首先检测该任务链表是否为空。若为空,任务调度模块等待下一个子周期,即第i+1个子周期的到来,以调度第i+1个子周期对应的任务链表;若不为空,执行S302。
这里需要说明的是,在首个符号周期内,任务调度模块为所有已生效 任务建立了任务链表,那么,在第二个符号周期内,当第i个子周期到达时,如果该子周期没有对应的任务链表,任务调度模块则等待下一个子周期的到来;当第i个子周期到达时,该子周期存在非空的任务链表,那么,此时,任务调度模块调度该任务链表。之后,随着符号周期不断重复,大部分子周期,甚至是每个子周期都会存在对应的任务链表。
S302:当第i个子周期对应的任务链表非空时,逐个地对任务链表中任务节点对应的已生效任务进行多径解调。
在具体实施例中,S302包括:当任务调度模块确定第i个子周期对应的任务链表非空时,获取该任务链表对应的天线数据;根据天线数据,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。这样,就能够获得各个已生效任务的解调结果。
具体来说,首先,任务调度模块将任务链表内所有的任务节点组成一个任务包,该任务包中的所有任务对应的天线数据相同的,然后,将该任务包的任务包参数发送给多径解调模块,多径解调模块先根据该任务包的任务参数,获得该任务包本次执行所需的所有天线数据,然后,任务调度模块从任务链表的头部开始,逐一地将任务节点的任务参数发送给多径解调模块,多径解调模块针对每一个任务节点,根据该任务节点对应的任务参数,对刚才获取的天线数据依次进行插值、第一次解扰解扩、频偏补偿以及第二次解扩,获得该任务节点的解调结果。
举例来说,上述多径解调装置中还可以包括一直接内存访问(DMA,Direct Memory Access)模块。假设第i个子周期对应的任务链表中具有2个非空任务节点,任务调度模块先将这两个任务节点组成一个任务包,并将该任务包的任务个数、读天线数据所需的参数保存到存储器中的任务包参数保存地址,同时,生成任务包参数搬移DMA命令,然后,将该命令下发到DMA模块中的参数搬移DMA命令队列的尾部。然后,任务调度模块 针对第一个任务节点,生成任务参数搬移DMA命令,下发至参数搬移DMA命令队列的尾部,再针对第二个任务节点,生成任务参数搬移DMA命令,下发至参数搬移DMA命令队列的尾部。与此同时,当DMA模块检测到参数搬移DMA命令队列非空时,从参数搬移DMA命令队列中取出参数搬移DMA命令,并依次执行。也就是说,先执行任务包参数搬移DMA命令,将任务包参数搬移至多径解调模块,多径解调模块根据任务包参数,获取对应的天线数据,然后,DMA模块执行第一个任务节点的任务参数搬移DMA命令,将第一任务节点的任务参数搬移至多径解调模块,多径解调模块根据该任务参数,对天线数据进行依次进行插值、第一次解扰解扩、频偏补偿以及第二次解扩,如此,得到第一任务节点的解调结果。同样的,DMA模块将第一任务节点的任务参数搬移至多径解调模块之后,执行第二任务节点的任务参数搬移DMA命令,将第二任务节点的任务参数搬移至多径解调模块,多径解调模块根据该任务参数,对天线数据进行依次进行插值、第一次解扰解扩、频偏补偿以及第二次解扩,如此,得到第二任务节点的解调结果。
在具体实施过程中,多径解调模块在对任务节点逐个进行多径解调的过程中,逐个地将解调结果发送至解调结果处理器,以供解调结果处理器对这些解调结果进行如信道估计、多径合并等后续处理。
在一具体实施例中,在上述多径解调装置中还包括DMA模块的情况下,多径解调模块还可以在获得每一个任务的解调结果后,逐个地将解调结果存储到解调结果处理器的缓存区,同时,对应生成上报数据搬移DAM命令,下发至上报数据搬移DAM命令队列的尾部。与此同时,DMA模块在检测到上报数据搬移DMA命令队列和解调结果缓存区都非空时,DMA模块将上报数据搬移DMA命令从上报数据搬移DMA命令队列取出,并依次执行,将解调结果缓存区中的解调结果逐一地上报给解调结果处理器, 这样就使得解调结果的上报和参数数据的搬移可以时分复用相同的模块,减少需要开发的模块种类和硬件资源开销。
由上述可知,由于任务链表中是以第i个子周期的已生效任务作为任务节点的,那么,在当前符号周期内,当第i个子周期到来时,就只需要检测对应的任务链表是否为空即可,如果非空,对任务链表内任务节点对应的各个已生效任务进行调度、解调,而无需无差别地对每一个任务的状态进行确认,就可以确定出该子周期的已生效任务,如此,大大缩短了确定该子周期的已生效任务的时间,提高了多径解调过程中调度任务的效率。
相应地,本发明实施例还记载一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序用于执行本发明实施例中图3所示的多径解调方法。
基于同一发明构思,本发明实施例还提供一种多径解调装置,该多径解调装置与上述一个或者多个实施例中所述的多径解调装置一致。
如图1所示,该多径解调装置包括:任务调度模块11以及多径解调模块12;其中,任务调度模块11,配置为在当前符号周期内,当第i个子周期到达时,检测第i个子周期对应的任务链表是否为空,其中,任务链表以第i个子周期的已生效任务作为任务节点,i为正整数;多径解调模块12,配置为当任务链表非空时,逐个地对任务链表中任务节点对应的已生效任务进行多径解调。
在上述方案中,任务调度模块11,还配置为在上一个符号周期内,当第i个子周期到达时,从已配置任务中检测到已生效任务,并读取已生效任务的任务类型;按照任务类型,将已生效任务维护至任务链表。
在上述方案中,当任务类型为新建时,任务调度模块11,具体配置为将已生效任务作为新的任务节点,插入到任务链表的头部;将任务链表的节点计数加1。
在上述方案中,当任务类型为删除时,任务调度模块11,具体配置为从任务链表中删除已生效任务对应的任务节点;将任务链表的节点计数减1。
在上述方案中,当任务类型为更新时,任务调度模块11,具体配置为在任务链表中确定出已生效任务对应的任务节点;基于已生效任务的任务信息,更新该任务节点。
在上述方案中,任务调度模块11,还配置为当第i个子周期到达时,从已配置任务中检测到已生效任务,并为已生效任务生成任务链表。
在上述方案中,多径解调模块12,具体配置为当任务链表非空时,获取任务链表对应的天线数据;基于天线数据,逐个地对任务链表中的任务节点进行多径解调。
在上述方案中,多径解调模块12,具体配置为针对任务包每一个任务节点执行以下步骤:基于任务节点的任务参数,对天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
在实际应用中,如图4所示,上述任务调度模块11的功能可以由定时器111、任务调度处理器112以及存储器113协同完成。其中,定时器111配置为对检测是否存在已生效任务进行定时;任务调度处理器112,配置为为已生效任务建立任务链表,并在符号周期内维护任务链表;还配置为在当前符号周期内,当第i个子周期到达时,对任务链表进行调度;存储器113,配置为存储已生效任务的任务参数。
上述多径解调模块12的功能可以由天线数据模块121和多径解调计算模块122协同完成。其中,天线数据模块121,配置为根据任务包参数读取相应的天线数据,并发送至多径解调计算模块122;多径解调计算模块122,配置为针对每一个任务节点的任务参数,对上述天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
可选的,多径解调模块12还可以包括数据上报模块,配置为将多径解调计算模块122解调后的解调结果上报给下一级处理器,即解调结果处理器,以进行如信道估计、多径合并等后续处理。
在实际应用中,所述任务调度模块11、多径解调模块12以及各个模块所包含的模块、均可由所述多径解调装置或所述多径解调装置所属设备的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
本发明实施例中,在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表是以所述当前符号周期之前的符号周期内的第i个子周期的已生效任务作为任务节点,i为正整数;当所述任务链表为非空链表时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调;如此,能提高多径解调过程中调度任务的效率。

Claims (17)

  1. 一种多径解调方法,所述方法包括:
    在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表以所述第i个子周期的已生效任务作为任务节点,i为正整数;
    当所述任务链表非空时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。
  2. 根据权利要求1所述的方法,其中,所述方法还包括:
    在上一个符号周期内,当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并读取所述已生效任务的任务类型;
    按照所述任务类型,将所述已生效任务维护至所述任务链表。
  3. 根据权利要求2所述的方法,其中,当所述任务类型为新建时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
    将所述已生效任务作为新的任务节点,插入到所述任务链表的头部;
    将所述任务链表的节点计数加1。
  4. 根据权利要求2所述的方法,其中,当所述任务类型为删除时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
    从所述任务链表中删除所述已生效任务对应的任务节点;
    将所述任务链表的节点计数减1。
  5. 根据权利要求2所述的方法,其中,当所述任务类型为更新时,所述按照所述任务类型,将所述已生效任务维护至所述任务链表,包括:
    在所述任务链表中确定出所述已生效任务对应的任务节点;
    基于所述已生效任务的任务信息,更新所述任务节点。
  6. 根据权利要求1所述的方法,其中,所述方法还包括:
    当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并为 所述已生效任务生成所述任务链表。
  7. 根据权利要求1所述的方法,其中,所述当所述任务链表非空时,逐个地对所述任务链表的任务节点进行多径解调,包括:
    当所述任务链表非空时,获取所述任务链表对应的天线数据;
    基于所述天线数据,逐个地对所述任务链表中的任务节点进行多径解调。
  8. 根据权利要求7所述的方法,其中,逐个地对所述任务链表中的任务节点进行多径解调,包括:
    针对所述任务包每一个任务节点执行以下步骤:
    基于所述任务节点的任务参数,对所述天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
  9. 一种多径解调装置,所述装置包括:任务调度模块以及多径解调模块;其中,
    所述任务调度模块,配置为在当前符号周期内,当第i个子周期到达时,检测所述第i个子周期对应的任务链表是否为空,其中,所述任务链表以所述第i个子周期的已生效任务作为任务节点,i为正整数;
    所述多径解调模块,配置为当所述任务链表非空时,逐个地对所述任务链表中任务节点对应的已生效任务进行多径解调。
  10. 根据权利要求9所述的装置,其中,所述任务调度模块,还配置为在上一个符号周期内,当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并读取所述已生效任务的任务类型;按照所述任务类型,将所述已生效任务维护至所述任务链表。
  11. 根据权利要求10所述的装置,其中,当所述任务类型为新建时,所述任务调度模块,具体配置为将所述已生效任务作为新的任务节点,插入到所述任务链表的头部;将所述任务链表的节点计数加1。
  12. 根据权利要求10所述的装置,其中,当所述任务类型为删除时,所述任务调度模块,具体配置为从所述任务链表中删除所述已生效任务对应的任务节点;将所述任务链表的节点计数减1。
  13. 根据权利要求10所述的装置,其中,当所述任务类型为更新时,所述任务调度模块,具体配置为在所述任务链表中确定出所述已生效任务对应的任务节点;基于所述已生效任务的任务信息,更新所述任务节点。
  14. 根据权利要求9所述的装置,其中,所述任务调度模块,还配置为当所述第i个子周期到达时,从已配置任务中检测到已生效任务,并为所述已生效任务生成所述任务链表。
  15. 根据权利要求9所述的装置,其中,所述多径解调模块,具体配置为当所述任务链表非空时,获取所述任务链表对应的天线数据;基于所述天线数据,逐个地对所述任务链表中的任务节点进行多径解调。
  16. 根据权利要求15所述的装置,其中,所述多径解调模块,具体配置为针对所述任务包每一个任务节点执行以下步骤:基于所述任务节点的任务参数,对所述天线数据依次进行插值、第一次解扰解扩、频偏补偿及第二次解扩。
  17. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至8任一项所述的方法。
PCT/CN2015/096052 2015-05-25 2015-11-30 一种多径解调方法、装置及计算机存储介质 Ceased WO2016188076A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510271723.XA CN106301466B (zh) 2015-05-25 2015-05-25 一种多径解调方法和装置
CN201510271723.X 2015-05-25

Publications (1)

Publication Number Publication Date
WO2016188076A1 true WO2016188076A1 (zh) 2016-12-01

Family

ID=57392572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/096052 Ceased WO2016188076A1 (zh) 2015-05-25 2015-11-30 一种多径解调方法、装置及计算机存储介质

Country Status (2)

Country Link
CN (1) CN106301466B (zh)
WO (1) WO2016188076A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464380B1 (en) * 2002-06-06 2008-12-09 Unisys Corporation Efficient task management in symmetric multi-processor systems
CN103744730A (zh) * 2014-01-27 2014-04-23 北京京东尚科信息技术有限公司 一种任务调度方法和装置
CN104239134A (zh) * 2013-06-21 2014-12-24 华为技术有限公司 一种众核系统的任务管理方法和装置
CN104639208A (zh) * 2013-11-11 2015-05-20 深圳市中兴微电子技术有限公司 一种实现多径搜索的任务处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464380B1 (en) * 2002-06-06 2008-12-09 Unisys Corporation Efficient task management in symmetric multi-processor systems
CN104239134A (zh) * 2013-06-21 2014-12-24 华为技术有限公司 一种众核系统的任务管理方法和装置
CN104639208A (zh) * 2013-11-11 2015-05-20 深圳市中兴微电子技术有限公司 一种实现多径搜索的任务处理方法和装置
CN103744730A (zh) * 2014-01-27 2014-04-23 北京京东尚科信息技术有限公司 一种任务调度方法和装置

Also Published As

Publication number Publication date
CN106301466B (zh) 2019-05-31
CN106301466A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN111988345B (zh) 一种信息同步的方法及设备
US10686897B2 (en) Method and system for transmission and low-latency real-time output and/or processing of an audio data stream
Lu et al. Task allocation for mobile cloud computing in heterogeneous wireless networks
CN109981470A (zh) 报文传输控制方法及装置
WO2016202158A1 (zh) 一种报文传输方法、装置及计算机可读存储介质
CN103763750A (zh) 在tdma协议的无线自组网中实现快速分组转发的方法
US9008070B2 (en) Information communication apparatus and program storage medium
WO2017032178A1 (zh) 一种校验和的计算方法、网络处理器及计算机存储介质
US20170264555A1 (en) Frame forwarding device, and method for requesting setting of processing for flow
EP3574616B1 (en) Processing real-time multipoint-to-point traffic
CN104158646B (zh) 链路延迟处理方法及装置
WO2016188076A1 (zh) 一种多径解调方法、装置及计算机存储介质
CN101222658B (zh) 寻呼广播消息的发送方法及插入方法和合并方法
CN106604387B (zh) 一种基于博弈论的无线传感器时间同步方法
JP2011097124A (ja) 車載ネットワーク装置
JP6321324B2 (ja) 並列処理システムにおけるプログラムの制御
US9210093B2 (en) Alignment circuit and receiving apparatus
US10841877B2 (en) Method of task scheduling in a wireless sensor network
TW202025653A (zh) 中繼裝置、中繼方法及中繼程式產品
WO2019100816A1 (zh) 帧结构的配置方法、获取方法、基站及终端
Pati et al. CQS: A Conflict-free query scheduling approach in wireless sensor networks
CN115801704B (zh) Tte交换机的多优先级交换装置
CN104639208B (zh) 一种实现多径搜索的任务处理方法和装置
KR102380091B1 (ko) 모바일 환경에 강인한 중위값을 중심으로 한 시간 동기화 방법 및 시간 동기화 장치
Song et al. Peak Age of Information for Asynchronous Frame Slotted ALOHA in Random Access Networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15893144

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15893144

Country of ref document: EP

Kind code of ref document: A1