101,447 research outputs found
Flexible Multi-Group Single-Carrier Modulation: Optimal Subcarrier Grouping and Rate Maximization
Orthogonal frequency division multiplexing (OFDM) and single-carrier
frequency domain equalization (SC-FDE) are two commonly adopted modulation
schemes for frequency-selective channels. Compared to SC-FDE, OFDM generally
achieves higher data rate, but at the cost of higher transmit signal
peak-to-average power ratio (PAPR) that leads to lower power amplifier
efficiency. This paper proposes a new modulation scheme, called flexible
multi-group single-carrier (FMG-SC), which encapsulates both OFDM and SC-FDE as
special cases, thus achieving more flexible rate-PAPR trade-offs between them.
Specifically, a set of frequency subcarriers are flexibly divided into
orthogonal groups based on their channel gains, and SC-FDE is applied over each
of the groups to send different data streams in parallel. We aim to maximize
the achievable sum-rate of all groups by optimizing the subcarrier-group
mapping. We propose two low-complexity subcarrier grouping methods and show via
simulation that they perform very close to the optimal grouping by exhaustive
search. Simulation results also show the effectiveness of the proposed FMG-SC
modulation scheme with optimized subcarrier grouping in improving the rate-PAPR
trade-off over conventional OFDM and SC-FDE.Comment: Submitted for possible conference publicatio
JWalk: a tool for lazy, systematic testing of java classes by design introspection and user interaction
Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unit-testing tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java’s reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class’s method protocols and may be directed to explore the space of algebraic constructions, or the intended design state-space of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated state-based testing, from a specification that was acquired incrementally
- …