Editor's Note: This is an RF in Action piece, which is an applications based article. Please use the comments section to let us know if you would like to see more RF in Action pieces in the future. If you have a particular topic you would like to see explored, tell us that too.
DOCOMO Beijing Labs reports that it has cut development time in half while enabling its researchers to verify about five times more test cases, parameter settings, and operating scenarios than was previously possible. How did they do it? The company reports that they were able to accelerate their simulations by using Parallel Computing Toolbox and MATLAB Distributed Computing Server. RF & Microwave Designline (RF&MW DL) asked the team at DOCOMO what they did to improve development time and how they are using this extra time to explore new ideas and theories, develop algorithms and systems, and functionally verify their designs.
RF&MW DL: What does DOCOMO Beijing Labs do? A: DOCOMO Beijing Communications Laboratories Co., Ltd. researches and develops advanced wireless communications technologies for 4G and beyond 4G (B4G) mobile networks. These technologies include physical layer signal processing methods and MIMO systems designed to increase system capacity in base stations and mobile devices for future cellular networks. Many of the algorithms we develop involve complex processes and computationally intensive operations, including statistical signal processing, channel encoding and decoding, and complex operations on large matrices.
RF&MW DL: What part of your development process were you looking to change? Why? A: We faced the challenge of how to most effectively research, develop, and verify next-generation mobile communications technologies. Our researchers wanted to avoid programming algorithms in a low-level language such as C or C++. With these languages, the team would spend an inordinate amount of time coding, searching for libraries, debugging, and plotting results. Also, the wireless systems we develop are highly complex, which means system performance and robustness cannot be validated analytically. Instead, we rely on Monte Carlo simulations that test a range of scenarios and parameter values, including different network layouts, channel models, modulation orders, channel coding rates, and interference levels. Our researchers need to perform multiple simulations that are computationally intensive.
From our experience, system-level simulations typically involve dozens of base stations and hundreds of devices. Running these simulations on a single computer could take our team weeks to complete. The researchersí initial attempts at running them on a cluster involved manually distributing the jobs to different systems and then collecting and aggregating the results. The process was time-consuming and error-prone.
Figure 1: User interface for DOCOMO Beijing Labs' system-level simulator.
RF&MW DL: What tools and workflow did you choose to address the speed and quality issues you faced? A: DOCOMO Beijing Labs used a few different tools from MathWorks, starting with MATLAB to accelerate the exploration and development of sophisticated communications algorithms. Our researchers then simulated these sophisticated communications algorithms using Parallel Computing Toolbox and MATLAB Distributed Computing Server. We then returned to using MATLAB to interactively explore algorithm ideas and visualize the results of complex computations. From there, our researchers developed a complete transmit-and-receive chain using MATLAB, filtering functions in Signal Processing Toolbox, and modulation, demodulation, encoding, and decoding functions in Communications System Toolbox. The researchers used this chain as a simulation framework for verifying advanced algorithms developed in MATLAB. For example, when developing a new modulation scheme for a next-generation device, they replaced calls to the modulator and demodulator functions in Signal Processing Toolbox with calls to their new custom functions.
The team then ran link-level simulations in MATLAB to verify the algorithmís functionality and its robustness in the presence of channel noise. After characterizing device-to-device performance, researchers developed system-level models that comprise multiple base stations and hundreds of mobile devices. Using Parallel Computing Toolbox, our researchers accelerated simulations by executing multiple tasks concurrently on a multicore processor.
Requiring just a few minor modifications to the algorithm, this step verified the parallel version of the algorithm on a single computer in preparation for deployment on the labís 32-core computing cluster. With MATLAB Distributed Computing Server, the researchers performed numerous Monte Carlo simulations on the cluster to obtain bit error rate, block error rate, system throughput, outage percentages, and other statistics. These simulations enabled the team to compare the performance of different algorithms, assess robustness in poor channel conditions, and evaluate throughput across the network and at the cell edge.
RF&MW DL: If you compare this new workflow to the way research and development was done in the past, what are the main differences? A: We estimate that development time was reduced by 50% compared with traditional C or C++ development. Instead of spending time on low-level coding details, our researchers use high-level communications systems functions to rapidly and interactively develop new algorithms.
Additionally, we reduced simulation time from weeks to hours. When executed on a single processor, some of the labís extensive simulations took weeks to complete. Now, the same simulations were run on the labís 32-core cluster and completed within hours.
Time constraints used to force researchers to omit some tests and simulation scenarios. With the time savings from rapid algorithm development and distributed simulations on the cluster, the lab has increased the number of simulations it runs by a factor of five, giving our researchers increased confidence in the robustness of their designs.
This new way of approaching research and development allowed our researchers to develop and verify algorithms for the development of new physical layer mobile communications technologies for advanced standards such as LTE-A.
The high level communication system functions in the matlab tool boxes are making this possible.Using this the lab has increased the number of simulations it runs by a factor of five. For them the development time was reduced by 50% compared with traditional C or C++ development. Probably certain special functions still need to be developed using low level coding to fulfill their specific application.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.