Friday, May 20, 2016

Machine-to-machine communication

Machine-to-machine communication, or M2M, is exactly as it sounds: two machines “communicating,” or exchanging data, without human interfacing or interaction. This includes serial connection, powerline connection (PLC), or wireless communications in the industrial Internet of Things (IoT). Switching over to wireless has made M2M communication much easier and enabled more applications to be connected.
As businesses have realized the value of M2M, it has taken on a new name: the Internet of Things (IoT). IoT and M2M have similar promises: to fundamentally change the way the world operates. Just like IoT, M2M allows virtually any sensor to communicate, which opens up the påossibility of systems monitoring themselves and automatically responding to changes in the environment, with a much reduced need for human involvement. M2M and IoT are almost synonymous—the exception is IoT (the newer term) typically refers to wireless communications, whereas M2M can refer to any two machines—wired or wireless—communicating with one another.
Traditionally, M2M focused on “industrial telematics,” which is a fancy way of explaining data transfer for some commercial benefit. But many original uses of M2M still stand today, like smart meters. Wireless M2M has been dominated by cellular since it came out in the mid-2000’s with 2G cell networks. Because of this, the cellular market has tried to brand M2M as an inherently cellular thing by offering M2M data plans. But cellular M2M is only one subsection of the market, and it shouldn’t be thought of as a cellular-only area.

How M2M Works

As previously stated, machine-to-machine communication makes the Internet of Things possible. According to Forbes, M2M is among the fastest-growing types of connected device technologies in the market right now, largely because M2M technologies can connect millions of devices within a single network. The range of connected devices includes anything from vending machines to medical equipment to vehicles to buildings. Virtually anything that houses sensor or control technology can be connected to some sort of wireless network.
This sounds complex, but the driving thought behind the idea is quite simple. Essentially, M2M networks are very similar to LAN or WAN networks, but are exclusively used to allow machines, sensors, and controls, to communicate. These devices feed information they collect back to other devices in the network. This process allows a human (or an intelligent control unit) to assess what is going on across the whole network and issue appropriate instructions to member devices.

M2M Applications

The possibilities in the realm of M2M can be seen in four major use cases, which we’ve detailed below:


Every manufacturing environment—whether it’s food processing or general product manufacturing—relies on technology to ensure costs are managed properly and processes are executed efficiently. Automating manufacturing processes within such a fast-paced environment is expected to improve processes even more. In the manufacturing world, this could involve highly automated equipment maintenance and safety procedures.
For example, M2M tools allow business owners to be alerted on their smartphones when an important piece of equipment needs servicing, so they can address issues as quickly as they arise. Sophisticated networks of sensors connected to the Internet could even order replacement parts automatically.


IoT already affects home appliance connectivity through platforms like Nest. However, M2M is expected to take home-based IoT to the next level. Manufacturers like LG and Samsung are already slowly unveiling smart home appliances to help ensure a higher quality of life for occupants.
For example, an M2M-capable washing machine could send alerts to the owners’ smart devices once it finishes washing or drying, and a smart refrigerator could automatically order groceries from Amazon once its inventory is depleted. There are many more examples of home automation that can potentially improve quality of life for residents, including systems that allow members of the household to remotely control HVAC systems using their mobile devices. In situations where a homeowner decides to leave work early, he or she could contact the home heating system before leaving work to make sure the temperature at home will be comfortable upon arrival.


One of the biggest opportunities for M2M technology is in the realm of health care. With M2M technology, hospitals can automate processes to ensure the highest levels of treatment. Using devices that can react faster than a human healthcare professional in an emergency situation make this possible. For instance, when a patient’s vital signs drop below normal, an M2M-connected life support device could automatically administer oxygen and additional care until a healthcare professional arrives on the scene. M2M also allows patients to be monitored in their own homes instead of in hospitals or care centers. For example, devices that track a frail or elderly person’s normal movements can detect when he or she has had a fall and alert a healthcare worker to the situation.


In the new age of energy efficiency, automation will quickly become the new normal. As energy companies look for new ways to automate the metering process, M2M comes to the rescue, helping energy companies automatically gather energy consumption data, so they can accurately bill customers. Smart meters can track how much energy a household or business uses and automatically alert the energy company, which supplants sending out an employee to read the meter or requiring the customer to provide a reading. This is even more important as utilities move toward more dynamic pricing models, charging consumers more for energy usage during peak times.
A few key analysts predict that soon, every object or device will need to be able to connect to the cloud. This is a bold but seemingly accurate statement. As more consumers, users, and business owners demand deeper connectivity, technology will need to be continually equipped to meet the needs and challenges of tomorrow. This will empower a wide range of highly automated processes, from equipment repairs and firmware upgrades to system diagnostics, data retrieval, and analysis. Information will be delivered to users, engineers, data scientists, and key decision-makers in real time, and it will eliminate the need for guesswork.

The Value Of M2M

Growth in the M2M and IoT markets has been growing rapidly, and according to many reports, growth will continue. Strategy Analytics believes that low power, wide-area network (LPWAN) connections will grow from 11 million in 2014 to 5 billion in 2022. AndIDC says the market for worldwide IoT solutions will go from $1.9 trillion in 2013 to $7.1 trillion in 2020.
Many big cell operators, like AT&T and Verizon, see this potential and are rolling out their own M2M platforms. IntelPTC, and Wipro are are all marketing heavily in M2M and working to take advantage of this major industry growth spurt. But there is still a great opportunity for new technology companies to engage in highly automated solutions to help streamline processes in nearly any type of industry. We’re certain we’ll see a huge influx of companies who begin to innovate in this area in the next five years.
However, as the cost of M2M communication continues to decrease, companies must determine how they will create value for businesses and customers. In our mind, the opportunity and value for M2M doesn’t lie in the more traditional layers of the communication world. Cell carriers and hardware manufacturers, for example, are beginning to look into full-stack offerings that enable M2M and IoT product development. We strongly believe value lies in the application side of things, and the growth in this industry will be driven by smart applications from this point forward.


Companies shouldn’t think about IoT or M2M for the sake of IoT or M2M. Instead, they should focus on optimizing their business models or providing new value for their customers. For example, if you’re a logistics company like FedEx or UPS, you have obvious choices for automated logistics decisions made by machines. But if you’re a retailer, the transition to automation may not be as obvious. It’s one thing to think of a “cool” automated process—say, creating advertising that is automatically tied to a specific customer through the use of M2M technology—but before you move forward with the process, you have to consider the value you’re getting out of it. How much does it cost to implement? Will it actually target the right audience? Will it be effective?
Any company considering a move into the IoT space needs to understand what its business model is, how it will make money, and how it will provide value for customers or internal processes.

Wednesday, January 29, 2014

LTE UE Procedure

i) UE is Off
ii) Power On UE
iii) < Frequency Search >
iv) < Cell Search > : Normally a UE would find multiple cells in this process
v) < Cell Selection >
vi) MIB decoding
vii) SIB deconding
viii) < Initial RACH Process >
ix) < Registration/Authentication/Attach>
x) <Default EPS Bearer Setup >
xi) Now UE is in IDLE Mode
xi) <(If the current cell become weak or UE moves to another cell regisn) Cell Reselection>
xii) <(When Paging message comes or User make a call) RACH Process>
xiii) < Setup Dedicated EPS Bearer >
xiv) Receive data
xv) Transmit data
xvi)  (If UE power is percieved too weak by the network) Network send TPC command to increase UE Tx Power
xvii) (If UE power is percieved too strong by the network) Network send TPC command to decrease UE Tx Power
xviii) < (If UE moves to another cell region) Network and UE perform Handover procedure >
xix) User stop call and UE gets into IDLE mode

LTE Cell Search - Synchronization Procedure

UE searches in all centre frequencies

Primary synchronization Signal(PSS) 

  • achieve subframe, slot and symbol synchronisation in the time domain 
  • identify the center of the channel bandwidth in the frequency domain 
  • Physical Layer ID (N2CellID)

PSS is Zadoff-Chu sequence which is CAZAC.
Transmitted on last symbol of slot 0 and 10 for FDD, third symbol of slots 2 and 12 for TDD.

Secondary Synchronization signal(SSS)

  • gives cell ID group(N1CellID)
  • frame timing
  • CP length

SSS is constructed using two interleaved maximum length sequences.
Transmitted on second last symbol of slot 0 and 10 in FDD, last symbol of slots 1 and 11 in TDD.

Tuesday, January 28, 2014

DSP Code Optimization Techniques for Speed

Code can be optimized for Speed or memory.
Here I am discussing the methods for optimization for speed

Optimization can can be done at different levels

Design level

At the highest level, the design may be optimized to make best use of the available resources. The implementation of this design will benefit from a good choice of efficient algorithms and the implementation of these algorithms will benefit from being written well. The architectural design of a system overwhelmingly affects its performance. The choice of algorithm affects efficiency more than any other item of the design and, since the choice of algorithm usually is the first thing that must be decided, arguments against early or "premature optimization" may be hard to justify.

In some cases, however, optimization relies on using more elaborate algorithms, making use of "special cases" and special "tricks" and performing complex trade-offs. A "fully optimized" program might be more difficult to comprehend and hence may contain more faults than unoptimized versions.

Source code level

Avoiding poor quality coding can also improve performance, by avoiding obvious "slowdowns". After that, however, some optimizations are possible that actually decrease maintainability. Some, but not all, optimizations can nowadays be performed by optimizing compilers.

Build level

Between the source and compile level, directives and build flags can be used to tune performance options in the source code and compiler respectively, such as using preprocessor defines to disable unneeded software features, or optimizing for specific processor models or hardware capabilities. Source-based software distribution systems such as BSD's Ports and Gentoo's Portage can take advantage of this form of optimization.

Compile level

Use of an optimizing compiler tends to ensure that the executable program is optimized at least as much as the compiler can predict.

Using Intrisics 

Intrisics are functions equivalent to assembly instructions - one to one or one to many mapping.
These can be used in the code like a function.

Assembly level

At the lowest level, writing code using an assembly language, designed for a particular hardware platform can produce the most efficient and compact code if the programmer takes advantage of the full repertoire of machine instructions. Many operating systems used on embedded systems have been traditionally written in assembler code for this reason. Programs (other than very small programs) are seldom written from start to finish in assembly due to the time and cost involved. Most are compiled down from a high level language to assembly and hand optimized from there. When efficiency and size are less important large parts may be written in a high-level language.

With more modern optimizing compilers and the greater complexity of recent CPUs, it is harder to write more efficient code than what the compiler generates, and few projects need this "ultimate" optimization step.

Much code written today is intended to run on as many machines as possible. As a consequence, programmers and compilers don't always take advantage of the more efficient instructions provided by newer CPUs or quirks of older models. Additionally, assembly code tuned for a particular processor without using such instructions might still be suboptimal on a different processor, expecting a different tuning of the code.

Run time

Just-in-time compilers and assembler programmers may be able to perform run time optimization exceeding the capability of static compilers by dynamically adjusting parameters according to the actual input or other factors.

Self-modifying code can alter itself in response to run time conditions in order to optimize code.

Some CPU designs can perform some optimizations at runtime. Some examples include Out-of-order execution, Instruction pipelines, and Branch predictors. Compilers can help the program take advantage of these CPU features, for example through instruction scheduling.

Thursday, January 23, 2014

Why Special Subframe is needed in LTE

As the single frequency block is shared in time domain between UL and DL the transmission in TDD is not continuous. All UL transmission need to be on hold while any downlink resource it is used and the other way around. 
Switching between transmission directions has a small hardware delay (for both UE and NodeB) and needs to be compensated. To control the switching between the UL and DL a guard period GP is allocated which compensates for the maximum propagation delay of interfering components.

Within a radio frame, the transmission direction changes several times between downlink and uplink. 

In special subframe DL to UL switching happens.
Special subframe includes DL,UL and a guard period.

Click image for larger version. 

Name: guard.jpg 
Views: 15 
Size: 15.9 KB 
ID: 2458
Due to the different signal transit times between the eNodeB and the various mobile stations, a timing advance mechanism involving a time gap called “guard period” is needed when the transmission direction switches from downlink to uplink. However, no guard period is needed when the transmission direction switches from uplink to downlink. 
Click image for larger version. 

Name: guard1.jpg 
Views: 15 
Size: 34.8 KB 
ID: 2459

In the uplink,as shown in above figure the greater the distance between the eNodeB and the mobile station, the earlier the mobile station must start transmitting. This helps ensure that all signals reach the eNodeB in a frame-synchronous manner. When switching from downlink to uplink, a guard period is inserted between the DwPTS and UpPTS field in each special subframe. The duration of the guard period is configured by the network, based on the cell size. The maximum possible guard period length of ten OFDM symbols allows cell sizes with a radius of 100 km. 

When switching from uplink to downlink there is no need for a guard period, since the uplink signals all arrive at the eNodeB in a frame-synchronous fashion - thanks to the timing advance mechanism - and the downlink data is also transmitted in the form of a frame-synchronous OFDMA signal.

DwPTS : Downlink Pilot Time Slot
UpPTS :  Uplink Pilot Time Slot

Thursday, September 19, 2013

Why Special Subframe is required in LTE?

In LTE Frame Type 2 (TD-LTE) there is a special sub-frame when switching from DL to UL but there is no special sub-frame or gap when switching from UL to DL. 

Different TDD modes

To understand this, it is important to know why a transmission gap is required when switching from DL to UL. The special sub-frame is made up of DwPTS, GP and UpPTS and all of these have configurable lengths while the sum of the lengths has to be 1 ms i.e. the length of the sub-frame. Now consider, the format 1, where the GP (guard period or TTG in WiMAX) is 4 symbols long which equates to 285 us approx. Consider a UE-A at a distance of 10 km from the eNB and UE-B at 50 km from the eNB. The time it takes the RF signals to reach the UE-A and UE-B will be
Time for UE-A = distance/velocity of light = 10000/3x10^8 = 33.3 us
Time for UE-B = distance/velocity of light = 45000/3x10^8 = 150 us

This means that after the eNB has transmitted the last symbol of DL data and it starts the GP, the last symbol will be received at UE-A after 33.3 us and at UE-B after 150 us. Now, every UE takes a small amount of time to switch from Rx to Tx mode and lets assume this switching period to be 50 us (it should be lesser for LTE UEs but this is just an assumption). So, the UE-A will start its switching period and will start transmitting after 33.5 + 50 = 83.5 us and it will take another 33.5 us to reach the eNB. This makes the total Round Trip Time for UE-A to be equal to 33.5 +50 + 33.5 = 117 us. Now we know that the GP at eNB is set 285 us so that means that the UE-A will be able to transmit the UL data within the GP. In actual practice, all the UEs know their Timing Advance from the eNB so the UE-A would wait that much amount before transmitting so that the UL data reaches the eNB at exactly the end of GP.

However, lets do the same analysis for UE-B. The total round trip time for UE-B would be 150 + 50 + 150 = 350 us which is greater than the GP (285 us) so, the UE-B would not be able to reach the first uplink symbol. Because of this, the GP is supposed to determine the maximum cell radius for a TDD system.
If there hadn't been a GAP or TTG (as in WiMAX) between the DL and UL transmission, these Over-The-Air timing delays and the switching period could not be compensated so we need to add a transmission gap when switching from DL to UL.

Now, lets consider the UL to DL switching. We will only consider UE-A for this example as UE-B has been proven beyond the cell range. The UE-A will transmit the last UL symbol and then start switching from Tx to Rx mode. The last UL symbol will reach the eNB after 33.5 us and the eNB would switch to Tx after receiving the last UL symbol. It will transmit the next DL symbol which will reach the UE-A after another 33.5 us and thus the UE-A will have a total of 33.5 + 33.5 = 67 us of time to switch from Tx to Rx mode without any presence of any RTG. So, while switching from UL to DL, a RTG or GP is not really required as the system already gets a virtual GP due to OTA delays.
There can be a query about the UEs that are very close to the eNB as they would have a very small Over-The-Air delay so it might not get enough time to switch to Rx mode. There can be two possible solutions for that

- In LTE, there is a 1 ms TTI so if the UE is too close to the eNB that it would not be able to switch to Rx mode in time, the eNB can allocate the DL resources in the next DL sub-frame so the UE will have 1 ms to make the switch. In WiMAX, this would not have been possible as it has 5 ms TTI and in case of No RTG, the UEs closer to WiMAX BTS would have to be scehduled in the next frame adding another 5 ms to the latency plane.

- Secondly, the UE switching from Rx to Tx and vice versa should now be extensively reduced. The 50 us limitation was there in beceem chipsets around 4 years back while I think that beceem and intel had made chipsets with switching periods of less than 20 us last year. SO, LTE UEs should have a much lower switching times.

Thursday, July 11, 2013

3GPP LTE : Valid numbers of allocated Resource blocks in UL (Uplink)

Total number of allocated resource block for a user can only be any of these.


Condition for valid number 2^a * 3^b *  5^c
a,b,c = 0,1,2,....