- Class with just get-set methods points to missed delegation
- Replace an array of structures with an array of objects
- Delegate work to helper class
- Multi-dimensional arrays point to incomplete class identification
- Multiple nested loops point to incomplete delegation
- Class with very large numbers of methods points to incomplete class identification
- Don’t go overboard with inheritance
- Prefer delegation to inheritance
- Don’t scatter the abstraction
- Consider group of objects to split work amongst team members
- Use nested classes for lightweight helper classes
- Use templates to improve type safety and performance
- Divide your code into framework and application parts
Here are a few object oriented design tips to help you with class design:
- Stay close to problem domain
- Object discovery vs. object invention
- Pick nouns or noun phrases as classes
- Method names should contain a verb
- Prefix adjectives when naming inheriting classes
- Do not add suffixes to class names
- Avoid one-to-one mapping from structured design
- Replace multiple get-set methods with operations
- Model classes that handle messages as state machines
- Use const whenever possible
- Restrict header file level dependency
- Don’t reinvent the wheel; use STL
Learn about the LTE physical layer from the video series from IEEE and Ericsson. Th video series covers:
- LTE protocol structure and architecture
- Downlink frame structure, reference signal and MIMO
- Downlink control signaling
- Uplink SC-FDMA, reference signals and control signaling
- TDD and half duplex FDD
- Transmission procedures
- Cell search, SI and random access procedures
LTE random access procedure is used by the UEs to initiate a data transfer. The UEs also obtain uplink timing information from the initial handshake.
This sequence diagram describes the tale of three UEs (UE-A, UE-B and UE-C) that are powered on at the same time:
- UEs synchronize with the downlink channel by decoding the PSS and SSS signal. The UEs are synchronized to the downlink frames after completing this procedure.
- The three UEs initiate the random access procedure at exactly the same time. Two of them (UE-A and UE-B) happen to pick the same preamble. This results in a resulting in a collision. UE-C picks a distinct preamble so it succeeds in the random access procedure.
- Contention between UE-A and UE-B is resolved in UE-A’S favor. UE-A proceeds with the RRC connection.
- UE-C times out and retries the random access procedure.
This sequence diagram covers the establishment of a SSL/TLS connection for sending Google SPDY data. The protocol flow covers:
This sequence diagram looks at LTE Attach and EPS Bearer Setup from the S1AP vantage point. The following signaling is covered:
- UE Attach, authentication and security signaling
- Setup of two EPS Bearers (RAB id 5 and 6)
- Release of UE context due to inactivity
- Reestablishment of the UE context with a Service Request.
You can click on individual messages in the sequence diagram to see field level details.
Voice over LTE (VoLTE) is the standard for voice call setup in LTE networks. When VoLTE is deployed, phones will not need to fallback to 3G for voice calls.
VoLTE uses IMS SIP signaling to set up voice calls. The following VoLTE call flow describes the IMS call setup and release. An example of sending an SMS over IMS is also included. Sample RTP and RTCP messages are also shown in the flow.