Tuesday, August 2, 2022

Toastmasters speech - L1 P2 - Writing speech with a purpose: Early Retirement

 Early Retirement

Good afternoon everyone.

How many of you have thought about retirement?

What is retirement?

 

Conventionally retirement means stop working and start living on pension at the age of around 60.

Now, what is early retirement?

This is about retiring in early age such as in your 30s-40s. 

Early retirement is not necessarily be putting full stop to your profession. It can be just stop working to survive.  You have enough savings and passive income for your lifestyle. 

You may continue to do the job you like but spending only a few hours in a week or a few days in a month.

This early retirement has many benefits.

Before looking into benefits let's see what's happening to a lot of professionals. 

During the early years of career, we are healthy and energetic, and most are unmarried. 

Later, as we grow in the career and more family responsibilities come, life gets busier, gets less time to take care of health, less time for hobbies, etc. 

We get busy in the race to survive or to be successful. Here the definition of success is given by others most of the time. If you are happy with this race and keeping your physical and mental health and relationships in good condition this is good. You may not have to think about retirement. But this is not the case always, or not for everybody ....

  

Many are waiting for retirement to relax, to be with loved ones and to enjoy life. 

But, in reality many retired people are fighting with health problems, some are lonely, some are unhappy and some even worse - dying early.

  

Let's take an example. For that I have couple of questions. You may please unmute and answer.

What is the life expectancy of people in India? - 69.66

What is the life expectancy of doctors in India?

As per the study done by IMA, life expectancy of doctors is around 59 which is 10 years less than that of commoners.

The main reasons are stress and sedentary lifestyle of doctors which are related to their profession.

You can see that many of us are not much different from doctors in these aspects. 'Fortunately,' nobody is doing a study about engineer's life :D

If we are too busy with work and we are stressed it also affects the people living in our home. This makes our situation worse.

I hope early retirement makes more sense now. 

Early retirement could reduce stress and give you time to do exercise and take care of health. It has many other benefits, you can pursue your interests and hobbies, travel, do volunteering, spend more time with friends and relatives, attend functions, celebrate festivals, read, learn new things, or even get enough sleep.

Now some might be thinking how I can retire and sit in home as I will need a lot of money for my kid's college and for their wedding...

Because it's a convention in our country.

During young age many parents work hard to make money for the future of children, and they hope that children and grandchildren will live with them, love them care them and have fun.

But as you know things have changed already for many. Let's just look at ourselves, how many of us are living with our parents.

Children love parents and want to be with parents most when they are small. That's the best time to spend with them.

But if we were so busy to enjoy their affection at that time, there’s no guarantee that you can do that in future.

 

A few years back someone asked Warren Buffet about his definition of success, he said, how many of the people you want to have love you actually do love you.

Love can't be bought with money, even for Warren Buffet. So as time.

  

Now the question is how can you retire early?

Some of the countries have early retirement plans provided by government.

But for most of the countries including ours, it's left to our skills and creativity in managing money and following a suitable lifestyle.

I believe you can figure it out if you choose to retire early. There are blogs written by people who retired early, that could be a good reference.

 

In conclusion

1. Don't wait for old age to relax and enjoy life.

2. Job related stress and sedentary life affects your health & life expectancy.

3. There's a lot of fun and meaningful things in life which we shouldn't miss because of our job

 

Just remember, life is short and it could become shorter and not enjoyable if we don't live it carefully.

 

Thank you.

Back to TMOD


22-Jul-2022

Monday, May 26, 2014

Recovering memory card

- ആദ്യം മെമ്മറി കമ്പ്യൂട്ടറില്‍ കണക്ട് ചെയ്യുക
- പിന്നെ Start - Search എന്നതില്‍ cmd എന്ന് അടിച്ചു command promptല്‍ എത്തുക 
- ആദ്യത്തെ കമാന്‍ഡ് ആയി DISKPART എന്ന് ടൈപ്പ് ചെയ്തു എന്റര്‍ അടിക്കുക 
- ഇപ്പോള്‍ പ്രോംപ്റ്റ് ആയി DISKPART എന്ന് വന്നിട്ടുണ്ടാകും
- വീണ്ടും List Disk എന്ന്‍ അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Select Disk 1 എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Clean എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Create Partition primary എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Active എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Select Partition 1 എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- Format F: ~FAT32 എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക (F: എന്നത് ഫ്ലാഷ് മെമ്മറി ഡ്രൈവിന്റെ പേരാണ്. അത് അറിയണമെങ്കില്‍ MY COMPUTER നോക്കുക)
- FORMAT 100% ആയതിനു ശേഷം EXIT എന്ന് അടിക്കുക, എന്റര്‍ ചെയ്യുക
- ഇനി MY COMPUTER തുറന്നു നോക്കൂ,നിങ്ങളുടെ കേടായ ഫ്ലാഷ് വര്‍ക്ക്‌ ചെയ്യുന്നുണ്ടോ എന്ന് .

Tuesday, April 8, 2014

Startup Lesons by Mandela

"Everyone can rise above their circumstances and achieve success if they are dedicated to and passionate about what they do. “
This is an excellent advice to a person who are launching new startup or want to achieve new milestone. The dedication, and passion is the most important skills, which will get your dream to be successful, without this entrepreneur is slated to fail.

“If you are poor, you are not likely to live long. “
In this very simple quote, Yet,Nelson Mandela has given a profound and productive advice. Please  apply to: Idea, Vision, product, market, sales ,advertising, and scaling the startup. Tearm   'Poor' applied here is; Poor- lack of good or productive ideas, Poor-meagre product, Poor-unable to see the huge market and sales through innovative market mix, Poor- pitiable strategy which lack to scale up, the startup operation. This poor will always lead to only destination-Death of a startup, Rich will lead to success of the ones Dream.

“It is wise to persuade people to do things and make them think it was their own idea.”
This quote applies to the product or service, and team building. It simply guide us to make our product or service fit to the needs of the users.  The startup offering should satisfy users in such a manner that they feel that this product or service is their own idea conceived from back of their head. The Product or service used by them should be the way   they wanted. Know our users well and we are successful.  

"I like friends who have independent minds because they tend to make you see problems from all angles."
This is a very important skills or process needed if an entrepreneur want to succeed, Every now and then you need to have the input from various person who can see the various angels of a problem and provide the idea or solution.  Than Leader should decides which idea or solution to pursue and create a product mix which everyone wants.

 "Lead from the back — and let others believe they are in front."
To create a productive environment inside the company and to keep your valuable asset: Team. Leader should provide inspirations, and support in such manner that every contributions of every Team member empower the startup and members consider themselves the most prized persons who is running the company.  Leader should be in front to face the trouble, problem and let the members lead for success.

“I f you talk to a man in a language he understands, that goes to his head. If you talk to him in his language, that goes to his heart. “
Startup’s advertising, marketing and sales strategy should be creative, articulate and honest in such a manner that it must empower the state of emotions, feelings and provide solutions to prospective Clients.

“After climbing a great hill, one only finds that there are many more hills to climb.”
True entrepreneurs knows value of success, during the realization of the milestones, but that is just a starts. One should prepared, and energetic to take a scales new heights of milestones-one after other- and enjoy doing so and getting matured to concourse the world through your startup.

“We must use time wisely and forever realize that the time is always ripe to do right.”
One of the most inspiring wisdom: There are no good time or bad time to the right startups, so just don’t waste your time idealizing the dreams, but get into the startup world and show your skills.

“It always seems impossible until it’s done.”
Get ready to do it, you are an Entrepreneur, what are you waiting for.  Mr. Nelson Mandela has already proved that. Greatest tribute to him will be doing our startup with dedication, passion and lesson learned from this one of the greatest leader-Madiba, a True Willager.

Monday, April 7, 2014

Hazards of top 10 Food Items


1. Hamburgers

Considered a "high risk" food because of the poor health standards under which they are manufactured. The time consuming process for making processed meats creates high bacteria counts and putrefaction of the meat which need to be treated with chemicals. Putrefaction causes meat to turn green which is then dyed with red chemicals to appear fresh. Unless marked otherwise, hamburger will always contain red dyes.
Because burger parts all come from the animal, "pure beef" can be used on the label! Most hamburger contain the flavour enhancer, MSG (monosodium glutamate) which causes headaches, allergic reactions and more. MSG is a chemical used to fatten up laboratory animals and evidence suggests it will ultimately make you fat when consumed.
The beef industry is the largest user of antibiotics in the world to offset the dangerous bacteria housed in its meats. This has resulted in the growing resistance to antibiotics. Ground beef is more likely to harbour life-threatening E-coli than any other food. Hamburgers are the single biggest food item that inflicts the most damage on the North American diet; "Billions served" = billions spent on doctor visits and hospital bills.
The hormones fed to cattle can make you fat through meat consumption.
A Cheeseburger contains more than 100% of your TOTAL daily recommended fat intake! Burger condiments like pickle, lettuce, tomato, etc. are all treated with cancer causing chemical sulfites that are used to maintain a false freshness in the vegetables. Most burgers contain 1090 mg of sodium! (45% of daily recommended Daily Value) and can promote water retention.

2. Hot Dogs

Like hamburgers, hot dogs are considered a "high risk" food because of the poor health standards under which they are manufactured. The time consuming process for making processed meats creates high bacteria counts and putrefaction in the meat which need to be treated with chemicals. Putrefaction makes meat turn green which is then dyed with red chemicals to appear fresh.
Because hot dog parts all come from the animal, "pure beef" or "100% turkey" can be used on the label! All hot dogs contain the flavour enhancer, MSG (monosodium glutamate) which causes headaches and allergic reactions. MSG is a chemical used to fatten up laboratory animals and will ultimately make you fat when consumed.
Hot dogs have nitrites which are thought to cause stomach cancer, leukemia, brain tumours, and bladder cancer. Fillers and non-meat binders used to hold hot dog meat together can be anything from cereal, non-fat dry milk, or soy which adds more carbohydrates and processed ingredients) Synthetic collagen casings are used to form the hot dogs. Highly carcinogenic. Contains up to 40% of its content in undisclosed saturated fats.

3. French Fries

French fries are very toxic. In order to make French fries, they must be cooked at high temperatures which cause the chemical, acrylimide to be released. Acrylimides are a known cancer causing agent that also causes nerve damage.
Potatoes are grown in the ground and have a higher pesticide absorption level than almost any other food product. Fries are cooked in oxidized oil that is re-used for weeks at a time!
Potatoes have a very high glycemic index meaning it turns to sugar very quickly in the body. Eating a baked potato (or equivalent quantity of French fries) is the sugar equivalent of a large piece of chocolate cake!

4. Oreo Cookies: THE NUMBER ONE COOKIE

(6 cookies = serving size) Predominantly made up of 23 grams of straight-line sugar.
Chocolate is the LAST ingredient listed on the label which means chocolate is the least of the ingredients. 370 empty calories with almost no nutritional benefits, you could eat 2 whole chicken breasts for the same amount of calories! 6 cookies have 12 grams of fat, 2.5 grams of saturated fat and 40 carbs ... more than 50% of your daily carbohydrate allowance in only 6 cookies.
Oreo cookies will set you up for craving more sugar within 3 hours or less. "Natural flavours" are manufactured chemicals to make Oreos taste like great chocolate cookies.
Highly processed foods have these flavour enhancers which are nothing more than carcinogenic chemicals with no natural flavours of their own. High sugar content.  Sugar depletes our immune system, creates lots of inflammation and free radicals in the body.

5. Pizza

Commercial pizzas are made exclusively of 5 genetically modified foods: Cheese "food" (Contains only 10% cheese - it cannot even be called real cheese) Enriched white flour which has been bleached of natural vitamins and minerals but has been "enriched" by adding back a minuscule amount of synthetic vitamins. Tomato sauce made from tomato-like substances that produce their own pesticides, IN YOU
Wheat in the pizza crust is genetically modified.  Contains cottonseed oil. Cotton is not a "food", therefore it can be sprayed with anything farmers want. The seed carries most of the poison of the cotton plant.
Pizza is baked at such a high temperature; the crust will form acrylimides which is a known cancer causing agent that can also cause nerve damage. Pepperoni & sausage toppings are "high risk" processed meats which add lots of nitrites, chemicals, preservatives, and saturated fats.

6. Soda - Soft Drinks - Pop

The active ingredient in Coke is phosphoric acid. On the Ph scale, it is very acidic and can dissolve a nail in about 4 days. High acid content in the body makes it very difficult to lose weight. Soda will leach the calcium out of your bones and promote osteoporosis.
There are 10-12 teaspoons of empty calorie sugar in one can of soda. Diet sodas with artificial sweeteners will promote sugar cravings because sweeteners are "sweeter" than sugar. Colorings used in sodas are cancer-causing.
Soda is called "liquid candy" because of the high sugar content. Like drinking a candy bar! High fructose corn syrup, a major ingredient: Is stored in the body as fat.

7. Chicken Tenders

(Usual serving size is 6) Made from unusable chicken parts, rarely made from whole white meat. A typical 340 calorie serving is typically 50% fat. Heavily breaded for substance and very high in carbohydrate content.
Carcinogenic acrylimides are released in the high temperature frying. Can cause nerve damage and cancer. Contains the flavor enhancer, MSG (monosodium glutamate) which causes headaches and allergic reactions.
MSG is a chemical used to fatten up laboratory animals and will ultimately make you fat when consumed. Contains phosphates which make the body acidic, making it impossible to burn fat properly. You will Store fat and not lose weight. Some chicken nuggets contain aluminum which is toxic to the brain and poisons the metabolism.
Deep fried in oxidized oil that is re-used for weeks at a time!

8. Ice cream

High in fat content. 1 serving (usually 4 ounces!) can provide as much as 50% of your recommended fat for the day. High in carbohydrates. 1 serving is almost 40% of your total recommended carb intake for the day.
High in sugar which promotes sugar cravings and causes skin to wrinkle. Full of hydrogenated and trans-fats which are unnatural and elevate cholesterol clog arteries create free radicals (which may cause cancer)
Hormones put into cows to increase milk production may slow metabolism leading to breast and ovarian tumours, cysts and cancer.

9. Donuts

The average donut contains approximately 300 calories and just one donut provides more than 50% of your recommended daily carbohydrate intake.   Donuts are high in salt content which will promote water retention.
Donuts are deep fried in oxidized oil that is re-used for weeks at a time! Oils at high temperatures developed rancidity and free radicals which can poison and slow your metabolism, seriously threaten your health and has high sugar content which promotes sugar cravings and ages skin.

10. Potato Chips: The # 1 Snack Food

North Americans today consume more potato chips than any other people in the world.  As a world food, potatoes are second in human consumption only to rice. It takes 4 pounds of potatoes to make 1 pound of potato chips. Very calorie dense where a small 2 oz. bag has over 300 calories.
Many potato chips are deep fried in oxidized oil that is re-used for weeks at a time! Deep fried at high temperatures which cause the chemical, acrylimide to be released. Acrylimides are a known cancer causing agent that also causes nerve damage.
When you eat 1 single serving bag of potato chips you may be eating up to 500 times more acrylamide than the maximum level allowed in drinking water. The high in hidden saturated fats and high sodium/salt content may promote water retention.
Healthy chips like those containing olestra can be more dangerous to your health than regular chips

Wednesday, February 26, 2014

Who can make your life better?


Do you believe you are entitled to a better life?

Do you also believe that somehow, someone, somewhere is responsible for ensuring you stay happy, have a great career, get to spend time with your family, follow your passions, hobbies and enjoy fulfilling relationships..

How real is this?


The truth is that only you are responsible for the quality of your life. You are responsible for your health, your happiness, your career growth, financial security, the quality of your relationships, the way you spend your time, your inner peace…

The day you realize this and act accordingly is the day you empower yourself to start moving forward. Remember everything you are experiencing now is based on choices you have made in the past. If you want better results, just start making better choices.
If you are waiting for things to somehow change, for the situation to get better on its own, you are likely to be disappointed. Take responsibility, take complete responsibility. Own your life and design it to reflect your dreams, aspirations and desires.




You can start taking complete responsibility by practicing these three important steps:

1. Stop blaming
You are conditioned from childhood to blame someone else for your shortcomings, for the not so pleasant situations. However blaming your parents, your teachers, colleagues, bosses, the government, weather, luck, stars, alignment of planets etc will get you nowhere. You must focus on the only thing in your control i.e yourself.

2. Stop giving excuses
Each time you give an excuse, you are missing an opportunity to grow. You are also creating a perception as being unprofessional. Most people give excuses because they have a fear of failure. However this very fear when faced will help you move out of your comfort zone and try something unfamiliar. A success there will do wonders to your self confidence and expand your horizon.

3. Stop complaining
The man who complains about the way the ball bounces is likely to be the one who dropped it ~ Lou Holtz


Face it, nobody likes to be around someone who complains. Complaining drains you and others of their energy. Yes, there are times when all of us feel like letting out our frustrations. Talking about it is healthy, discussing it, trying to identify ways to overcome challenges is productive, it can open you up to new ideas and solutions. However constant complaining and whining makes you feel like a victim, disempowers you and keeps you stuck in the helplessness mode.
As you will agree, none of the above three serve you, they suck away your precious energy and make you unpopular with those around you. In my coaching work, each time a client begins to take complete responsibility, I notice them displaying higher energy levels, greater motivation and stronger will power.
Set a challenge to NOT blame, complain or give excuses for the next 30 days and watch what happens.
Freedom

Here are seven incredible benefits you can experience by taking complete responsibility.

1. Joy of Freedom
As you start looking inward for the causes and solutions to address challenges in key areas of your life, you will experience a great sense of liberation, that feeling of being free, of not letting external judgements dictate how you think, act and live your life.

2. Sustained Motivation
We all need motivation to see through the rough patches and difficult phases of our lives. By seeking your inner resources, you will find a treasure trove of sustainable motivation that makes the journey towards a fulfilling life even more exciting and fun.

3. Greater Control
Knowing that you are in charge of your life, the choices you make, the decisions you take, the actions that follow will make you feel empowered and give you greater control of your life.

4. Personal Power
This is power in a positive and mature sense. It’s that great feeling of being aware that you are whole, complete, resourceful and have the capability to do, achieve, grow and succeed. This is the fuel that keeps you moving and helps you make progress towards your important goals.

5. Flow of Insights
Insights or those ‘aha’ moments come to you when you are relaxed, when your mind is free of fear and open to new ideas. Each day that you live by taking complete responsibility, you are strengthening your faith in your inner resources and your creativity to find solutions for life challenges. The more you seek it, the quicker they come.

6. Richer perspectives
You have grown up with a mental model of the world based on your life experiences till date. While they might have served you well thus far, thats not necessarily the only way to look at the world. The more perspectives you are able to open up to, the wiser you will be. Taking responsibility enables you to achieve more insights, helps you get fresh perspectives, newer experiences thereby widening your horizon and thinking.

7. Inner peace
As long as you are blaming, giving excuses and complaining, you are letting negative situations and people suck out your energies. This leads to confusion, inner conflict and a sense of imbalance. By taking complete responsibility you stop looking for evidences to support your story of blame, excuses and complaints. Your attention and energies are now on how you can move forward, what you can do, what the benefits are, how will you feel when you achieve everything you wish to thereby bringing you a sense of calm, harmony and inner peace.

If you feel there are other benefits by taking complete responsibility for your life? Please do share them


“I must do something” always solves more problems than “Something must be done.” ~Anonymous




Sunday, January 12, 2014

Avoid Aluminium cooking Vessels

Now a days many are using Aluminium vessels for cooking as it is very economic.

But Aluminum can cause serious health problems.

When Aluminium mixes chemical in the food items different salts are formed - Aluminium Chloride, Aluminium Phosphates, etc
These can cause constipation which will lead to many other diseases like ulcers.


So, it is adviced to use clay or steel vessels as much as possible

Monday, December 16, 2013

Transferring Contacts from Android mobile to Windows mobile through CSV File - Issue - Solution

Hi



First synchronize Android contacts to Gmail.

Now you have two options

1. You are OK with taking all your Gmail contacts too to your phone


In this case just add your Gmail account to your phone and sync.

2. You need only the exported contact from old Phone 

Then from Gmail select only the exported contact group and exported to CSV format.
First in Outlook format and then in Gmail format, so that you will get two CSV File.

Now open both CSV Files. We are going to correct Outlook format CSV file referring Gmail CSV file.
In the Outlook format file check the first 6 columns to check if the names have come properly.
If not delete the contents for these columns and copy paste from Gmail format CSV file.

Next check at the phone numbers if those have come in proper columns.
Some times mobile numbers would have come in the notes columns in Outlook format CSV File.
Delete this. Copy the phone numbers from Gmail CSV files (Column names : Phone 1 - Value, Phone 2 - Value, Phone 3 - Value) to Outlook CSV (Column names : Primary Phone, Work Phone, Mobile,etc).

You may verify the email addresses too.

Now Save the Outlook CSV file.

Open your Microsoft account(outlook.com or in live.com).
Go to People Tab.
Import the contacts from File

Now add the Microsoft account to your mobile and Sync contacts

Thursday, September 19, 2013

Wipro Laptop Review

This is based on my experience with Wipro Classic Laptop
Configuration

  • Intel i3 Processor
  • 4GB RAM
  • 500 GB Hard Disk
  • 14 Inch monitor


Pros

Low cost
Fine battery back up

Cons

Low quality display
Low quality electronics
Low quality keyboard

Many have found problem with it's key board. I have got it repaired twice in the warranty period and again
it got damaged. Now I have disconnected the key board and using external keyboard.
If you open it you can see the board and component used are poor quality so you can not expect long life for this cheap item

Please write your opinions in the comment sec

Wednesday, September 4, 2013

Fenda - F&D F6000U 5.1 Speakers Review. Some part of it may be applicable to other models too

Hi,

Here is a small review based on my experience with Fenda F&D 6000U 5.1 speakers. Some of these might be applicable to other models too.


Pros

Good low frequency Response
Good mid frequency Response
Pro mode
Front rear volume control

Easy controls.


Cons

Poor high frequency response as it lacks tweeters in front and rear channels
No equalizer 

Bass boost capacity is low
Huge 
Remote sensitivity is low
No NTFS support for USB/SD Card

Poor customer service


Tweaks

Add tweeter (Limit the volume then, otherwise it may burn the amp)
Equalize MP3s before copying to SD/USB



NB: It gave me my third bad experience from flipkart.com and I returned the product



A Little More


I ordered this item from flipkart.com and it came in two days.
I set up the things at home. Checked different modes.

General
It can give deep and powerful bass but it does not have capability to boost bass. 
High frequency response is low as it doesn't have tweeters in front speakers and rear speakers(What look like tweeters are only dummies)
It has no eqalizer support so you need to equalize at the source, which would not be possible in case of SD/USB input, FM and connection from normal Dolby decoder

Auxilary input mode:
Checked with different test mp3 files I had.
Low frequency response was impressive. It gives deep bass from 20 Hz itself.
If keeping in the promode(virtual surround from stereo input)
the mids are also powerful as it has two speakers in the middle and a tweeter( I assume).


FM
Working well if you keep the antenna high.


SD/USB
It plays the songs well and it has memory to play the songs from last position.
Shuffle option is not available.
Sounds nice in Pro-mode (virtual surround)
Music plays well in mids, but lack of bass boosting capability and poor performance of high frequency will be a problem in this mode


5.1 Surround mode

The voice channel were clear and front and rear speakers were working well. Since there is separate volume control you can increase the sound in rear or center as you like.
But I faced an unfortunate issue here. The woofer output was too low! Like whispering... in this mode.

I mailed to Fenda customer care. I got a call from service centre in Bangalore. They asked me if I can bring it to service centre. I told it is so heavy and it is manufacturing defect, so please sent a service person to my home. They told they will send in two days. I waited for one week, nobody appeared!. 
Then I called Flipkart.com and requested for replacement.
After two days they replied that it is not possible to replace as it is out of stock now.
It was so disappointing... 


Then the option left was return the product and get the money back.
I have returned the product today and waiting for my money back......











Tuesday, April 9, 2013

Perl Script to Clean up file names


#--------------------------------------------------#
# Program to clean up file names.                  #
# It removes special characters from file names.   #  
# Useful for MP3s or any other files.              #
# Author: Ashok Kumar                              #
#--------------------------------------------------#
use Cwd;
use strict;
use warnings;

my $dir = getcwd;
my $extLength;
my $fName;
my $fileLength;
my $fName;
   
print "Processing Folder $dir\n\n";
 

opendir(DIR, "$dir") or die "unable to open dir $dir";

while (my $file = readdir(DIR)) {

        # Use a regular expression to ignore files beginning with a period
        next if ($file =~ m/^\./);
       
        print "Old File Name: $file\n";

#Get extension of file
my ($fileExt) = $file =~ /(\.[^.]+)$/;
#print "Extension:$fileExt\n";

#Length of file name
$fileLength = length($file);
#print "File Length : $fileLength\n";

#Length of extension
$extLength = length($fileExt);
#print "Extension Length : $extLength\n";

#Extract file name without extension

$fName = substr $file, 0, ($fileLength-$extLength);
#print "File Name without ext:$fName\n";

# Removing numbers
$fName =~ s/\d//g;;
#print "Without Numbers:$fName\n";


#Replace Braces with space
$fName =~ s/\(/ /g;
$fName =~ s/\)/ /g;
$fName =~ s/-/ /g;
#print "Replaced ():$fName\n";

#Remove special characters
$fName =~ tr/\$#@~!&*()[]%;.,:?^`\\\///d;
#print "After removing special chars:$fName\n";

#Replace _ with space
$fName =~ s/_/ /g;



#Remove leading space
$fName =~ s/^\s+//;
#print "After removing Leading Space:$fName\n";


#Create new name without numbers

$fName = $fName.$fileExt;
print "New Name:$fName\n\n";

#Rename File
rename($file,$fName);


}

closedir(DIR);
exit 0;

Sunday, April 7, 2013

Setting up Set top box for surround sound

Now a days all the HD set-top boxes for TV are coming with optical or co-axial digital output.
These are some of the providers in India: Airtel,Tata Sky, Videocon,Dish TV,Relaiance, Doordarshan.
You may want to connect this to your home theater so that you may experience 5.1 or 7.1 surround sound or stereo with high quality.

To play this in speakers basically you need a Dolby/DTS decoder and amplifier.

Here are some of the options :

Option 1: High quality AV receiver, Budget Rs.26,000/- and above


Buy an AV receiver with speakers. You can connect the optic or co-axial output to your AV receiver which decodes the digital output and amplifies and plays through speakers.

Some of the good brands are : Denon, Onkyo,Yamaha,Pioneer,Sony,Logitech

Option 2: Economic Audio Decoder with Multimedia speaker, Budget Rs.7000/- and above

You can buy a less expensive audio decoder and 5.1 multimedia speaker with built in amplifier.
Connect your TV's optical/coaxial output to audio decoder which decodes Dolby/DTS signal and gives analog 5.1 or 7.1 output which you can connect to multimedia speaker.

Some of the brands
Decoder: Audio Gear, Sound Around.
Multimedia Speaker:Creative,Logitech,F&D,Edifier,Sony,Philips,Mercury



If you have any doubts or suggestion please put it in the comment section.

Thursday, April 4, 2013

Jackie Chan Biography


jackie biographyJackie Chan was born in Hong Kong on April 7th, 1954. His parents, Charles and Lee-lee Chan named him Chan Kong-sang which means "born in Hong Kong." Jackie weighed 12 pounds when he was born and his mother required surgery to deliver him. Jackie's parents were so poor that they had to borrow money from friends to pay the doctor.

Although Jackie's parents were poor, they had steady jobs at the French embassy in Hong Kong. Charles was a cook and Lee-lee was a housekeeper. Together, the Chan family lived on Victoria Peak in Hong Kong. When Jackie was young, his father would wake him early in the morning and together they would practice kung fu. Charles Chan believed that learning kung fu would help build Jackie's character, teaching him patience, strength, and courage.

When Jackie was seven years old Charles took a job as the head cook at the American embassy in Australia. He felt that it would be best for Jackie to stay behind in Hong Kong to learn a skill and so enrolled him in the China Drama Academy where Jackie would live for the next 10 years of his life.

During Jackie's time at the school, he learned martial arts, acrobatics, singing, and acting. The school was meant to prepare boys for a life in the Peking Opera. Chinese opera was very different from any other kind of opera. It included singing, tumbling, and acrobatics as well as martial arts skills and acting. Students at the school were severely disciplined and were beaten if they disobeyed or made mistakes. It was a very harsh and difficult life but Jackie had nowhere else to go, so he stayed. He rarely saw his parents for many years.
jackie biography
While at the China Academy, Jackie made his acting debut at age eight in the Cantonese movie "Seven Little Valiant Fighters: Big and Little Wong Tin Bar." He later teamed with other opera students in a performance group called "The Seven Little Fortunes." Fellow actors Sammo Hung and Yuen Biao were also members. Years later the three would work together and become known as The Three Brothers. As Jackie got older he worked as a stuntman and an extra in the Hong Kong film industry.
jackie biographyWhen Jackie was 17, he graduated from the China Drama Academy. Unfortunately the Chinese opera was no longer very popular, so Jackie and his classmates had to find other work. This was difficult because at the school they were never taught how to read or write. The only work available to them was unskilled labor or stunt work. Each year many movies were made in Hong Kong and there was always a need for young, strong stuntmen. Jackie was extraordinarily athletic and inventive, and soon gained a reputation for being fearless; Jackie Chan would try anything. Soon he was in demand.

Over the next few years, Jackie worked as a stuntman, but when the Hong Kong movie industry began to fail, he was forced to go to Australia to live with his parents. He worked in a restaurant and on a construction site. It was there that he got the name "Jackie." A worker named Jack had trouble pronouncing "Kong-sang" and started calling Jackie "little Jack." That soon became “Jackie” and the name stuck.
jackie biographyJackie was very unhappy in Australia. The construction work was difficult and boring. His salvation came in the form of a telegram from a man named Willie Chan. Willie Chan worked in the Hong Kong movie industry and was looking for someone to star in a new movie being made by Lo Wei, a famous Hong Kong producer/director. Willie had seen Jackie at work as a stuntman and had been impressed. Jackie called Willie and they talked. Jackie didn't know it but Willie would end up becoming his best friend and manager. Soon Jackie was on his way back to Hong Kong to star in "New Fist of Fury." It was 1976 and Jackie Chan was 21 years old.
jackie biographyOnce Jackie got back to Hong Kong, Willie Chan took control over Jackie's career. To this day Jackie is quick to point out that he owes his success to Willie. However, the movies that Jackie made for Lo Wei were not very successful. The problem was that Jackie's talents were not being used properly. It was only when Jackie was able to contribute his own ideas that he became a star. He brought humor to martial arts movies; his first success was "Snake in Eagle's Shadow." This was followed by "Drunken Master" (another blockbuster) and Jackie's first ever directing job, "Fearless Hyena." All were big hits.
jackie biographyJackie was becoming a huge success in Asia. Unfortunately, it would be many years before the same could be said of his popularity in America. After a series of lukewarm receptions in the U.S., mostly due to miscasting, Jackie left the States and focused his attention on making movies in Hong Kong. It would be 10 years before he returned to make Rumble in the Bronx, the movie that introduced Jackie to American audiences and secured him a place in their hearts (and their box office). Rumble was followed by the Rush Hour and Shanghai Noon series which put Jackie on the Hollywood A List.

Despite his Hollywood successes, Jackie became frustrated by the lack of varied roles for Asian actors and his own inability to control certain aspects of the filming in America. He continued to try, however, making The Tuxedo, The Medallion, and Around the World in 80 Days, none of which was the blockbuster that Rush Hour or Shanghai Noon had been.
jackie biographyJackie's lifelong devotion to fitness has served him well as he continues to do stunt work and action sequences in his films. In recent years, Jackie's focus has shifted and he is trying new genres of film – fantasy, drama, romance – and is spending more and more time on his charity work. He takes his work as Ambassador for UNICEF/UNAIDS very seriously and spends all his spare time working tirelessly for children, the elderly, and those in need. He continues to make films in Hong Kong, including the blockbuster drama New Police Story in 2004.
jackie biography
Jackie has been married to Lin Feng-Jiao since 1982 and has a son, actor-singer Jaycee Chan. To learn more about Jackie you can read his biography, I Am Jackie Chan.

Monday, April 1, 2013

Inverter/UPS Selection


What Capacity of Inverter is Good for Your Home?

Once you are sure that you are looking for an Inverter, it's important to calculate the capacity of Inverter that will suit your requirement. Following table will give you brief idea about the power consumed by various equipments.
Tubelight - 60W
Fan - 70W
Television - 120W
Laptop - 100W
CFL - 25W
Modem - 50W
Now you are in a position to understand as what capacity inverter do you need and I'll let you do that in 3 simple steps -

1. CALCULATING YOUR POWER NEED

Now I'll explain you how to use above table to calculate the right capacity Inverter for your need. Let's say you need Inverter to run 2 Tube lights, 3 Fans, 1TV and 1 Laptop. As per the table above, you'll need a total power of 550W(=2X60 + 3X70 + 1X120 + 1X100) to support all of your equipments at the same time.
♣ Your Total Power Need = 550W

2. CALCULATING REQUIRED INVERTER'S CAPACITY

Now that you know how much power is required, it's easy to get the VA rating of inverter. In ideal condition, the VA rating would have been same as the power need i.e. 550VA. But in practical conditions, the power factor of Inverter is less than 1 hence power supplied by 550VA Inverter won't be 550W but lesser than that. Assuming power factor of Inverter to be 0.7, following are the details of calculation -
Required VA of Inverter X 0.7 = 550W
♣ Required VA of Inverter = 550/0.7 = 786 VA
Now luckily we have inverters available in the market with 800VA capacity, so such inverters will fit into my requirement.

3. CALCULATING BATTERY CAPACITY

Till now, you will have clear understanding of the Inverter capacity required for your need. But the next question is that how much back up will the inverter provide and for how many hours you can run all of your equipments. And that's where battery capacity comes into picture. It's the battery which determines the back-up hours. The higher capacity battery you have, the more back-up hours you'll get. So lets get into the calculation fast.
Required power(in Wattage) X Required back-up hours(in Hours) = Inverter Voltage(in Voltage) X Battery Capacity (in Ampere Hours)
Let's look for an Inverter which can give back-up of up to 3 hours, so for our case -
550W X 3Hours = 12V X Battery Capacity
♣ Battery Capacity = (550 X 3)/12 = 137 Ampere Hours
So we need a battery of 137AH capacity but if you check the market you'll find batteries of 130AH capacity. So that should be more or less sufficient for your need.

Conclusion

Finally, we have come to the conclusion that if we go for 800VA Inverter with 130AH battery, I can run 2 Tube lights, 3 Fans, 1 TV and 1 Laptop for up to 3 hours. And by the end of this article you don't need to rely on sellers for understanding your need as you can do the calculations yourself in just 3 simple steps. Hope this article helps you in some way in making the right decisions. Let me know if you need any other inputs.

Wednesday, March 13, 2013

How to share an album using Google Picasa




Download Picasa software from the follwing link or find the link through google 

Install it.

Open picasa, go to file menu and add the photo folders.
It may take some time to scan the photos and show in picasa.
Then right click on the folder (in picasa) which you want to upload.
You will get an option to "upload to web albums".
Then it will ask you to login. Use your google user name and password.
Then it shows a window with options to give album name, Album visibility and Image size option.
Visibility you can make Limited so that only the people you invite can see the album.
Image size choose as original(if your connections is too slow choose 1600 pixels, it reduces quality of photo and uploads faster).
Then click upload.
After upload finishes go to picasa main window, top-right you can see a link to web albums. click that and you will see your album in a web page. On right side you will see a share option. Click that and enter email ids of the people to whom you wanna share it with.


Friday, March 1, 2013

Movie ticket booking using Kotak Silk account coupon

We had got two free movie ticket coupons from Kotak Bank as part of offer for Silk Account.
I have been searching a lot to find how to book ticket using this. But I could't find out!
Then I called the customer care in Bangalore and they gave the answer.

There are two ways

1. go to http://kotak.bigcityrewards.in/

2. Call to this number 080-40554850

Enjoy the movie 

Wednesday, November 21, 2012

LTE Basics

Basic Procedures                               

You can use this section and Quick Reference section as a kind of dictionary explaining fundamental concept of various signaling components.

Topics described here are as follows and more topics will be added.
  • Overal LTE Sequence
  • Fundamental Information
  • Initialization Sequence
  • Frequency Aquisition
  • Time Sync Process
  • Cell ID Detection and System Information Detection
  • SIB Scheduling
  • Cell Selection
  • Multi Cell - Multi RAT
  • Random Access
  • Uplink Data Transmission Scheduling - Persistent Scheduling
  • Uplink Data Transmission Scheduling - NonPersistent Scheduling
  • Decoding Uplink Signal
  • HARQ Process Overview
  • Downlink Data Transmission Process (HARQ ACK/NACK)
  • Channel Coding Processing for DL SCH/PCH/MCH
  • Channel Coding Processing for PUSCH
  • Physical Channel Processing
  • Precoding
  • MIMO(Multiple Input Multiple Output)
  • Integrity Protection Process


Overall LTE Sequence

Most of us would be specialized in one or a few specific area/layer as an engineer. Technically it is understandable because not a single person can master everything, but I strongly recommend you to try to have some big picture of the whole process. Whenever you have some issues or something for you to work, try to ask your self "Where is the current issue located in the whole picture ?".
You don't have to try rote memorization for these whole process, but if you keep trying to map your current issues to specific parts within the whole picture, these whole sequence would automatically pops up in your memory. I say so often to my kid or my juniors "Don't try to memorize it, just repeat it until you automatically recall" (They are looking at me seeminly saying "What is the difference ?" -:) I just smile -:).

Following is my version of the whole LTE procedures.. but if you are trying to describe it, you would have a little bit different version.. but I think overall logic would be similar. Every now and then, just try to recall these sequence in your mind and ask your self "how in detail I can explain about each of these steps ?". Actually each of these steps can be described in a volum of a thick book.

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


Fundamental Information

UE Capability : UE Category, Frequency Band, Sync Signal Sequence, General Radio Resource Info, General MIMO Parameter, Duplex Mode, Preamble sequence generation algorithm

SIM : Network Operator's PLMN list, Subscription Information

Stored Information : Most recently used frequency band, PLMN, Tracking Area Code, Cell ID, S-TMSI, InterRAT Frequency Band

Information that UE needs to get: Frequency and Timing Synchronization info, System Bandwidth, Number of MIMO Antennas, Identities (C-RNTI, Physical Cell ID, Tracking Area Code), Network PLMN, Signaling & Traffic Radio Resouce, RACH_ROOT_SEQUENCE & PRACH Config.


Initialization Sequence

i) Power-Up Test
ii) Frequency & Time and Frame Synchronization
iii) Decode System Information Message
iv) Select Prefered Network
v) Perform RACH Process
vi) RRC Connection Setup


Frequency Aquisition

i) Search the center frequency by searching DC part
ii) Depending on UE PHY protocol stack implementation, UE may measure RSSI and determine whether it goes to next step or not.
iii) Decode BCH which occupies 62 subcarriers (6 RBs) at the center frequency.
iv) BCH tells the frequency information of the system (eg. System Frequency Bandwidth)


Time Sync Process

i) UE decode Primary sync with three different Primary Sync Sequence and figure out which sequence is assigned for the cell and abtain the primary time sync as well.
ii) Apply the primary sync sequence with the Secondary Sync code and figure out which sequence is assigned for the cell.

This Sync detection is done every 5 ms. (You will understand this time interval if you look at the LTE Downlink frame structure explained at DL FrameStructure section)

As I mentioned in previous section, three different sequences are used as the primary sync signal and there is a one-to-one mapping between each of the three sequences and the cell ID within the cell identity group. After a UE detect this cell-identity group, it can determine the frame timing. From this cell identity group, the UE also figure out which pseudo-random sequence is used for generating the reference signal in the cell.

iii) Once this timing sync get established, UE can decode MIB and figure out SFN number since MIB carries SFN number.


Cell ID Detection and System Information Detection

i) Frequency Aquisition
ii) Primary Sync Signal Aquisition (Slot Timing Aquired, Secondary Sync Signal Scrambling Code Aquired)
iii) Secondary Sync Signal Aquisition (Frame timing Aquired, Cell Group ID sequence aquired)
iv) with PSS and SSS, Cell ID can be calculated
v) with Cell ID, Reference Signal Location is detected
vi) If Reference Signal Location is properly decoded, PBCH (MIB) can be detected
vii) From MIB, SFN and System BW can be detected
viii) Decode PCFICH and detect how many symbols are allocated for PDCCH.
ix) Decode DCI for SIB1 from PDCCH
x) Decode SIB1 and get the scheduling information for other SIBs
xi) Decode SIBs (other than SIB1)

One of the most important step for testing/troubleshooting around the initial registration is to check whether UE successfully complete the time-sync (step i) and ii)), but it is very hard to check this step with any kind of equipment. One way to easily check whether UE succeeded in time-sync or not is to check from UE log whether UE successfuly decoded Cell ID or not. If UE successfully detected Cell ID, it means UE successfully completed the time-sync.


SIB Scheduling

In LTE, MIB, SIB1, SIB2 is mandated to be transmitted for any cells. Since many of the SIB are transmitted, it should be transmitted in such a way that the location (subframe) where a SIB is transmitted should not be the same subframe where another SIB is transmitted.
Overall SIB Scheduling concept is as follows. As you see
i) MIB is transmitted at a fixed cycles (every 4 frames starting from SFN 0)
ii) SIB1 is also transmitted at the fixed cycles (every 8 frames starting from SFN 0).
iii) All other SIB are being transmitted at the cycles specified by SIB scheduling information elements in SIB1


You may notice that LTE SIB1 is very similar to WCDMA MIB.
Especially at initial test case development, you have to be very careful about item v). If you set this value incorrectly, all the other SIBs will not be decoded by UE. And as a result, UE would not recognize the cell and show "No Service" message.

According to 36.331 section 5.2.1.2, the SIB1 scheduling is as follows :
The SystemInformationBlockType1 uses a fixed schedule with a periodicity of 80 ms and repetitions made within 80 ms.The first transmission of SystemInformationBlockType1 is scheduled in subframe #5 of radio frames for which the SFNmod 8 = 0, and repetitions are scheduled in subframe #5 of all other radio frames for which SFN mod 2 = 0.

This means that even though SIB1 periodicity is 80 ms, different copies (Redudancy version : RV) of the SIB1 is transmitted every 20ms. Meaning that at L3 you will see the SIB1 every 80 ms, but at PHY layer you will see it every 20ms. For the detailed RV assignment for each transmission, refer to 36.321 section 5.3.1 (the last part of the section)

The transmission cycles for other SIBs are determined by schedulingInfoList in SIB2 as shown in the following example (This example is the case where SIB2 and 3 are being transmitted).

        +-schedulingInfoList ::= SEQUENCE OF SIZE(1..maxSI-Message[32]) [2]
        | +-SchedulingInfo ::= SEQUENCE
        | | +-si-Periodicity ::= ENUMERATED [rf16]
        | | +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [0]
        | +-SchedulingInfo ::= SEQUENCE
        |   +-si-Periodicity ::= ENUMERATED [rf32]
        |   +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [1]
        |     +-SIB-Type ::= ENUMERATED [sibType3]
        +-tdd-Config ::= SEQUENCE OPTIONAL:Omit
        +-si-WindowLength ::= ENUMERATED [ms20]

One thing you would notice that sib-MappingInfo IE in the first node is not specified, but the first entity of schedulingInfoList should always be for SIB2 as specified in the 36.331 as follows (See 36.331 SystemInformationBlockType1 field description).

List of the SIBs mapped to this SystemInformation message.There is no mapping information of SIB2; it is always
present in the first SystemInformation message listed in the schedulingInfoList list.

Understanding overall cycle in the unit of Subframe number is pretty straightforward to understand. But understanding exactly at which subframe a SIB should be transmitted is not that straightforward as you might think. It is related to 'si-WindowLength'. si-WindowLength tells that a SIB should be transmitted somewhere within the window length starting at the SFN specified by si-Periodicity. But this parameter does not specify the exact subframe number for the transmission.

The subframe for a specific SIB transmission is determined by a algorithm defined in 36.331 5.2.3 Acquisition of an SI message as follows.

When acquiring an SI message, the UE shall:
1> determine the start of the SI-window for the concerned SI message as follows:
    2> for the concerned SI message, determine the number n which corresponds to the order of entry
         in the list of SI messages configured by schedulingInfoList in SystemInformationBlockType1;
    2> determine the integer value x = (n – 1)*w, where w is the si-WindowLength;
    2> the SI-window starts at the subframe #a, where a = x mod 10, in the radio frame for which SFN mod T =
FLOOR(x/10), where T is the si-Periodicity of the concerned SI message;
NOTE: E-UTRAN should configure an SI-window of 1 ms only if all SIs are scheduled before subframe #5 in
radio frames for which SFN mod 2 = 0.

1> receive DL-SCH using the SI-RNTI from the start of the SI-window and continue until the end of the SI-window
whose absolute length in time is given by si-WindowLength, or until the SI message was received, excluding the
following subframes:
     2> subframe #5 in radio frames for which SFN mod 2 = 0;
     2> any MBSFN subframes;
     2> any uplink subframes in TDD;
1> if the SI message was not received by the end of the SI-window, repeat reception at the next SI-window occasion
for the concerned SI message;


Cell Selection

When you power on the mobile device, in most case the device is under a circumstance where it sees many base station (eNode B) around it. In some cases UE would be surrounded not by the multiple basestation from one system operator but by the multiple basestation from multiple system operators.
Out of those many basestation, UE can camp on (register) to only one base station. Then the question is which specific single basestation the UE have to register. For this UE goes through a specific decision making process to pick up a specific base station (cell) to register, this specific decision making process is called 'Cell Selection'.

Overall description of cell selection process is described in 36.304 Figure 5.2.2-1: RRC_IDLE Cell Selection and Reselection as follows. Of course the minimum condition is to meet  Cell Selection Criterion .

Pretty complicated flow diagram, right ? But you will find it even more complicated if you try to associate this flow to the situation you come across when you test the device in real life. You see in this flow diagram many branches and loops which makes it difficult to follow the right path and other thing is that it is not so easy to figure the exact status of the UE when you turn on the UE.

Let me give you some examples in which UE needs to go through the cell selection process. To be honest, I don't know exact answer to the cases that I would give you here.

i) You got a new phone from the shop and just inserted the USIM and power on the device.
ii) You have been using a phone for a while, and power it off and then power on.
iii) You have been using a phone for a while and switch it to Airplan mode and then switch back to the normal mode.
iv) You have been using a phone for a while and switch it to Airplan mode and flew into another country and then switch back to the normal mode.
v) You just turned on a phone and turn it off right away in the middle of registration and then turned it on.
vi) Turned off the phone you have been using and pull out the battery and then put the battery back and turn it on.
vii) Turned off the phone you have been using and pull out the battery, pull out the USIM and put a new USIM in and then put the battery back and turn it on.
viii) Turned of the phone you have been using and leave it off for several days and then turn it on.
ix) Turned of the phone you have been using and take out the USIM, and then turn it on without USIM.

Can you mark the path on this flow diagram for each of the cases listed above ? To be honest, I may be able to do it only a couple of the case and not for all.



Multi Cell - Multi RAT

I may summarize the interaction between multiple Cells in LTE and between LTE and other technology as shown in the following illustration. This may be oversimplified the process but I think it can give you some intuitive understanding about the multi cell, multi RAT interaction between LTE and other technology. (But it would take pretty long time and effort to understand the full details even for a single arrow.)



Random Access

Random Access process plays two main roles - establishment of uplink synchronization and establishment of a unique UE ID (C-RNTI) known to both the network and the UE.So Random Access is used not only for initial access, but also after periods of uplink inactivity when uplink sync got lost in LTE_ACTIVE states.

i) UE initiate a Random Access Procedure on the (uplink) Random Access Channel (RACH).(The location of RACH in the frequency/time resource grid the RACH is known to the mobile via the (downlink) Broadcast Channel (BCH). The random access message itself only consists of 6 bits and the main content is a random 5 bit identity)
ii) Network sends a Random Access Response Message(RARM) at a time and location on the Physical Downlink Shared Channel (PDSCH) (The time and location of RARM on PDSCH can be calculated from the time and location the random access message was sent. This message contains the random identity sent by the device, a Cell Radio Network Temporary ID (C-RNTI) which will be used for all further bandwidth assignments, and an initial uplink bandwidth assignment)
iii) The mobile device then uses the bandwidth assignment to send a short (around 80 bits) RRC Connection Request message which includes it's identity which has previously been assigned to it by the core network

Only the step i) uses physical-layer processing specifically designed for random access. The remaining steps utilizes the same physical layer processing as used for normal uplink and downlink data transmission.

For more detailed explanation about this procedure, refer to http://www.sharetechnote.com/html/RACH_LTE.html


Uplink Data Transmission Scheduling - Persistent Scheduling

There are a couple of Data Transmission Scheduling Scheme in LTE. The most simple in terms of algorithm would be the persisent scheduling. In this scheduling mode, Network send 'Grant' in DCI Format 0 for every subframe.

i) Network send the first data on DL PDSCH and PDCCH which has DCI format 1 for DL Data Decoding and DCI format 0 for UL Grant. (If there is no downlink data to be transmitted, network transmits only DPCCH with DCI format 0 without any DPSCH data)
ii) UE decode PCFICH to figure CFI value.
iii) UE decode PDCCH and get the information on DCI format 1
iv) Based on DCI format 1, UE decode DL data.
v) UE decode the information on DCI format 0 from PDCCH
vi) UE send ACK/NAK for DL data through UCI (UCI will be carried by PUCCH)
vii) UE check the Grant field.
viii) If Grant is allowed, UE transmit the uplink data through PUSCH
ix) Network decode PUSCH data and send ACK/NACK via PHICH
x) UE decode PHICH and retransmit the data if PHICH carries NACK

Overall flow can be illustrated as follows. This diagram would not show all the details but give you the big picture for the procedure.

For detailed data structure of DCI Format 0, refer to TS 36.212 section "5.3.3.1.1 Format 0"

The process listed above is in reality a pretty complicated process and need a lot of troubleshoot and debugging. So in case of development and testing phase, we normally break down this process into multiple simple/small procedure and verifies it step by step.

Step 1 : DL data reception and no ACK/NACK transmission ==

a) Network send PDCCH and PDSCH data
b) See if UE properly decode PDSCH data
This would seem to be very simple two step process, but to make this happen UE is capable of doing step ii), iii), iv) described above.

Step 2 : DCI format 0 reception ==

a) Network send DCI Format 0(UL Grant) without PDSCH transmission
b) See if UE properly decode DCI Format 0 (You need to make it sure that Resource allocation that UE decoded matches with DCI format 0 sent by network.)

Step 3 : PUSCH transmission based on DCI format 0 ==

a) Network send DCI Format 0(UL Grant) without PDSCH transmission
b) UE transmit UL Data on PUSCH
c) Network decode PUSCH data
d) see if the data decoded at Network side maches what UE transmit
To make this happen, UL DMRS for PUSCH should have been properly implemented and you have to make it sure that UE transmit the PUSCH data on the RBs that DCI format 0 specified.

Step 4 : DL data reception and ACK/NACK transmission ==

a) Network send PDCCH and PDSCH data
b) UE decode PDSCH data
c) UE has to transmit ACK/NACK accordingly

Step 5 : UL data transmission and ACK/NACK reception ==

a) Network send DCI Format 0(UL Grant) without PDSCH transmission
b) UE transmit UL Data on PUSCH
c) Network decode PUSCH data
d) Network send ACK/NACK on PHICH
e) UE has to decode ACK/NACK properly
f) UE has to retransmit the data if it gets NACK


Uplink Data Transmission Scheduling - Non Persistent Scheduling

In Persistent Scheduling mode, UE can send the data to Network anytime since Network is sending UL Grant all the time. But what if Network does not send UL Grant all the time ? In this case, UE has ASK the network to send UL Grant (DCI 0). If network send UL Grant, then UE can send UL data as allowed by the UL Grant.
Overall procedure is as follows :

i) UE send SR (Scehduling Request) on PUCCH
ii) Network send UL Grant (DCI 0) on PDCCH
iii) UE decode DCI 0 and transmit PUSCH based on the RBs specified by DCI 0
iv) Network decode the PUSCH
v) Network send ACK/NACK on PHICH
vi) If Network send NACK, go to step i)


Decoding Uplink Signal

'Decoding Uplink Singal' means 'decoding PUCCH and PUSCH'. Overall Procedure is as follows :
i) UE transmit PUSCH (or PUCCH) to eNodeB
ii) eNodeB detect DMRS (DeModulation Reference Signal)
iii) if DMRS detection is successful, eNodeB decode PUSCH (PUCCH) data

Overall logic is simple, but eNodeB normally get Uplink signal from multiple UEs and each of the UE may be in different distance and under different channel condition. So docoding uplink channel would not be easy. To help eNodeB decode these uplink channel, UE transmit a reference signal.

There are a few different uplink signal as listed below.
i) DMRS (DeModulation Reference Signal) for PUCCH
ii) DMRS (DeModulation Reference Signal) for PUSCH
iii) Sounding Reference Signal.

Item iii) would not be a mandatory component, but UE must send item i) and ii). Otherwise, eNodeB fail to decode PUCCH or PUSCH even though UE transmit it in proper format.

Detailed implementation of UL reference signal is described in TS 36.211 section 5.5 and TS 36.213. You will notice a lot of parameters are involved in UL reference signal generation and the following is brief list of these parameters.

* n_1_pucch : N(1)PUCCH described in 3GPP TS36.213
* GroupHopping : 5.5.1.3 in TS36.211
* Cell ID :
* Pucch format : 5.5 in TS36.211
* N_1_CS :
* N_2_RB :
* delta Pucch shift :
* RNTI :
* UL CP Configuration :
* systemBW :
* u_even : sequence-group number even slot (TS36.211 5.5.1.3)
* u_odd : sequence-group number odd slot (TS36.211 5.5.1.3)
* n_cs_even#0~#6 : Cyclic Shift for even slot in a subframe (TS36.211 5.4.1, 5.5.2.2.1)
* n_cs_odd#0~#6 : Cyclic Shift for odd slot in a subframe (TS36.211 5.4.1, 5.5.2.2.1)
* n_oc_bar_even : orthogonal sequence for even slot in a subframe (TS36.211 5.5.2.2.1)
* n_oc_bar_odd : orthogonal sequence for odd slot in a subframe (TS36.211 5.5.2.2.1)
* n_oc_even : orthogonal sequence for even slot in a subframe (TS36.211 5.4.1)
* n_oc_odd : orthogonal sequence for odd slot in a subframe (TS36.211 5.4.1)
* n_PRB_even : Physical resource block number for even slot in a subframe (TS36.211 5.4.3)
* n_PRB_odd : Physical resource block number for odd slot in a subframe (TS36.211 5.4.3)

As you notice, quite a lot of parameters are involved and it is not easy to understand all of these in detail, but at the initial phase of chipset development or when you try to duplicate live network environment with network simulator you have to make it sure that all of these parameters are properly setup not only in UE but also in network simulator.

Can UE set these parameters arbitrarily whatever it likes to do ? No.. in that case eNode B would not know how to detect the reference signal and in result eNode B would not be able to decode PUCCH/PUSCH. Then how UE can know which value it has to use for Uplink Reference Signal Creation ?

The most critical information on UL Reference Signal is tranmitted by SIB2 message and there are different parameters are involved in PUCCH reference signal detection and PUSCH reference signal detection :

Following is the list of IEs related to PUCCH reference signal detection.

* radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift
* radioResourceConfigCommon.pucch_ConfigCommon.nRB_CQI
* radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN
* radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN

Following is the list of IEs related to PUSCH reference signal detection.

* radioResourceConfigCommon.pusch-ConfigCommon.ul-ReferenceSignalsPUSCH.groupHoppingEnabled
* radioResourceConfigCommon.pusch-ConfigCommon.ul-ReferenceSignalsPUSCH.groupAssignmentPUSCH
* radioResourceConfigCommon.pusch-ConfigCommon.ul-ReferenceSignalsPUSCH.sequenceHoppingEnabled
* radioResourceConfigCommon.pusch-ConfigCommon.ul-ReferenceSignalsPUSCH.cyclicShift


HARQ Process

HARQ(Hybrid ARQ) is pretty complicated process and not easy to understand in very detail, but it would be helpful if you have some big picture of this process. (Describing this process in very detail would not be the scope of this section.)

Let's first think about the terminology. What is H-ARQ ? Why it uses the term "Hybrid" ?
First think about the term ARQ. ARQ stands for Automatic Repeat Request and you would have heard this a lot if you had experience of studying IP communication (I think you can google a lot of tutorials on this, so I would not explain about what is ARQ here). The "H" in HARQ means "Hybrid" which implies that HARQ is a combination of "Something" and "ARQ". Then what would be the "Something" ? The "Something" is FEC (forward error correction). FEC is also not LTE specific technology and a kind of generic error correction mechanism. So I would like you to google something about FEC.   

A little bit different mode of HARQ process is used depending on whether it is for FDD or TDD and whether it is for Uplink and Downlink. But I will talk only about FDD case.

In FDD, we are using 8 HARQ process.

i) For Downlink
    a) it can use the 8 HARQ processes in any order (Asynchronous Process).
    b) UE does not know anything about HARQ process information for DL data before it gets it. So Network send these information (Process ID, RV) in PDCCH (DCI, Refer to DCI section of this site).
ii) For Uplink
    a)it have to use the specific process in a specific subframe (Synchronous Process). UE has to use the same HARQ process number every 8 subframes.
    b) Since UE have to use specific HARQ process ID at specific subframe, the reciever (eNode B) knows exactly which HARQ process comes when. And eNodeB can also knows about RV because UL Grant (DCI 0) from eNodeB can specify RV using MCS field.
    c)it has two mode of operation : Adaptive and Non-Adaptive HARQ

    Following is an example of Adative UL HARQ Process (Key idea is that Each UL retransmission uses different RV and the RV is determined by DCI 0).

    Following is an example of Non Adative UL HARQ Process (Key idea is that Each UL retransmission uses different RV and the RV is determined by predefined sequence specified in TS36.321 "5.4.2.2 HARQ process").

    The last but very important question would be "How UE knows if it is supposed to do Adaptive retransmission and Non-Adaptive retransmission ?"
    • UE do "Adaptive retransmission" if it detect DCI 0  and NDI is not toggled. (In this case, UE does not care about "HARQ feedback (PHICH)", it retransmit based on DCI 0 information).
    • UE figures out that it is using "Non-Adaptive retransmission" if it got "HARQ feedback (PHICH=NACK)" but does not get DCI 0.


Downlink Data transmission Process

i) Network High Layer ( RRC or TE)  -> Lower Layer : Transmit the data toward the lower layer.
ii) Network -> UE : Transmit the data via PDSCH
iii) UE receive PDSCH data
iv) UE checks CRC error for the PDSCH data
v) Now we have two cases at this point,
    a) If UE has some data to transmit to the network, UE send the result of CRC check(ACK/NACK) via PUSCH
    b) If UE does not have any data to transmit to the network, UE sends the result CRC check via PUCCH
vi) Network receives CRC check result from UE and do one of the following steps.
    a) If it receives ACK, Network transmit the next data (new data)
    b) If it receives NACK, Network HARQ process retransmit the exisiting data (with different revision)



Channel Coding Processing for DL SCH/PCH/MCH

First as a disclaimer, I am very early stage of studying this field. For a long time since I joined into the wireless communication, this kind of processing has always the part that I was so eager to undersand but eventually gave up. In LTE as well, the document like 36.211, 36.212 were mysterious specification to me. I have always wondering "How those guys can implement real device(PHY) just by reading these thin, vague, cloudy (at leas to me) documents ?".

Very recently an expert in this area helped me so much to get some insight/big picture to start with. (I still think several month to go to be able to draw detailed picture for this, but getting the initial big picture would be the most important step).

Here goes my first picture and this will get more detailed illustration later... so keep checking this part if you are interested.

The first picture you have to be familiar (don't try to memorize... just see this as often as possible and just make it familiar) . This figure is from 36.212.
Let's just make a two important bulets here. Whatever a processing unit is, the first and most important steps you have to understand is "What is the input ?" and "What is the output ?".
What is the input of this whole process ? It is a transport block.
What is the output of this whole process ? It is a series of IQ data to be transmitted from PHY.
So the whole purpose of this process is "to convert a transport block (from MAC) into a series of bit stream data to be transmitted".


Now let's look into each step of the process.
The first step is pretty simple. Just adding 24 bits of CRC block to the end of the input (transport block).


The second step is as follows. It is splitting the big transport block into multiple small blocks and add another CRC to each of the split chunks. Sounds simple ? but there is a couple of things to make it tricky. Why do we need to split the block ? Do we always to have to split the input block ? It would be understandable to split a very large input block into multiple smaller block, but if we have to split even a small input block, isn't it inefficient ?
The generic answer is that the process split the input block only when the block is very large.
Then the question is "How large it would be to be splitted ?" In LTE case, 6144 (bits) is the number. (See 5.1.2 Code block segmentation and code block CRC attachment of 36.212)


Next step is the famous Turbo Coding step. I am not able to explain on how turbo coding works in easy/plain language mainly because I don't understand it clearly. But for now, let's just focus on only one fact. If you see the turbo coding block diagram in 36.212. You would see that one bit input become 3 bit output as it goes through the turbo coding processor (It means the coding rate is 1/3). In this process, one input row generate three rows of output as follows.


Next step is Rate Matching step. This is the most mesterious part to me. The generic Idea is like this. I said Turbo coding generate three rows of output for each row of input. In this rate matching process, the each set of three rows of input stream became one row of bit stream. The question is "How to convert the a set of three row into one row ?" Is it just by concatenating the three row into one long row ? Is it just random mix of the three row ? Is it by interleaving the three row into one ?".
This is the question you have to find the answer from 5.1.4.2 Rate matching for convolutionally coded transport channels and control information of 36.212. Good luck with your endeaver -:) I think it will take a couple of month for me to understand this even with a good tutor around me.



Just adding another big picture to this rate matching step, take a quick look at the following figure from 36.212. You see the three lines of Turbo coding output gets into this rate matching block and comes out as a single line of bit stream. Our goal is to understanding the detailed process of "interleaving", "BitCollection", "Bit Selection and pruning" procedure.


Next is the last step which is relatively simple. Combine the multiple rows of imput into one long bit stream as shown below.


Now you may have a question. Is this the end of the process ? Are these data get directly transmitted out of the antenna ? Unfortunately No. The output of this complicated process become the input (starting point) of another complicated process as shown below. I means there are a lot of stuffs you have to study pulling the hair -:)



Channel Coding Processing for PUSCH




Physical Channel Processing

This is the process that convert the bit stream coming out of channel encoding process into radio frame data to be transmitted by each antenna.
Overall flow is as shown below and I put the 3GPP specification for each steps. This process is also the one that would be very difficult to understand in very details unless you follow each steps of the procedure written in the specification. But this process is described in a very short mathematical format and it is hard to describe in other way without losing the clarification.
In this section, I would like you to grasp the basic idea of each step.
At lower part of the diagram, I labeled the data format of each step. If you follow those labels, you would know at which steps bit stream is being handled and at which steps I/Q data is handled etc.


One good way for you to study this procedure would be to classify the procedure into several specific cases like SISO, Diversity, 2x2 MIMO etc and mark the path for each case as shown below.


< SISO >

As shown below, marked in red/blue arrow, only one codeword (transport block) comes into the process and directly goes to the antenna. In this case, layer mapper and Precoding steps do almost nothing.

< Tx Diversity >

As shown below, marked in red/blue arrow, only one codeword (one transport blocks) comes into the process and split into two stream (layers) by the layer mapper and finally go out through the two antenna.

< 2 x 2 MIMO >

As shown below, marked in red/blue arrow, two codewords (two transport blocks) comes into the process and goes through the layer mapping without any modification and finally go out through the two antenna. In this case, data goes through very complicated precoding process. As described in the specification, there are three sub steps of procoding process as specified in 36.211 6.3.4.2.1, 36.211 6.3.4.2.2, 36.211 6.3.4.2.3. Depending on whether the 2 x 2 MIMO is Closed Loop Mode or Open Loop Mode, the different combination of the substeps are applied.



Precoding

Unfortunately I don't know how to explain this part in plain language without using any mathematical tools.
As you see in the following diagram, Precoding is the process that is between Layer Mapper and Resource mapper. In practice, this precoding is the process that rearrange the IQ constellation into the form that can maximize the throughput to the multiple reciever antenna.

To make the process and understanding simpler, let's assume that we are only focusing on two antenna case. If it is two antenna case, the block diagram around the Precoding looks as follows. (TM4 is using this configuration)


The only way to understand this concept to the skin would be to try this yourself and play with all these parameters like your toys. To help this, I created a small octave code and attached here. (I create this code in Octave which is a Matlab like GNU program, but I guess it will run in Matlab without any modification. I tried to write the code so that I can run on both program but I haven't tested it in Matlab myself).


Note : If I expand the transformation shown above into a 2 x 2 case to give you more concrete idea, it can be illustration as follows. Since all of the data used here are complex numbers (Real = I, Imaginary = Q), the result of operation may not be so intuitive to you. If you are really interested in understanding the result of transformation, try this transformation with your own program or pen-paper calculation on your own. At least, play with the matlab code that I created and linked here.


Following is the real Downlink signal coming out of a LTE network emulator. I capture the signal and analyzed it with a vector spectrum analyzer with LTE analysis functionality.


Now let try apply the CDD. I would recommend you to try investigate on what's is CDD in practical sense and what would be the advantage of applying CDD. Here I would only show you the result of the CDD application. The Octave code is here. (I create this code in Octave which is a Matlab like GNU program, but I guess it will run in Matlab without any modification. I tried to write the code so that I can run on both program but I haven't tested it in Matlab myself).



Following is the case where a single layer data stream gets transmitted by two antenna. Overall procedure is as follows. (TM6 is using this configuration)


If we apply the Layer 1 code book to a sequence of data, we will get the constellation as follows. If you briefly see the constellation, you don't find any differences in terms of constellation except overall amplitude gets smaller after going through the precoding block. But if you following through the precoding process for each one (single) constellation, you will understand the differences.
The Octave code is here. (I create this code in Octave which is a Matlab like GNU program, but I guess it will run in Matlab without any modification. I tried to write the code so that I can run on both program but I haven't tested it in Matlab myself).

Note : If I expand the transformation shown above into two antenna case (diversity) to give you more concrete idea, it can be illustration as follows. Since all of the data used here are complex numbers (Real = I, Imaginary = Q), the result of operation may not be so intuitive to you. If you are really interested in understanding the result of transformation, try this transformation with your own program or pen-paper calculation on your own. At least, play with the matlab code that I created and linked here.


As I mentioned above, if you just see the overall constellation, you don't find any differences in terms of constellation except overall amplitude gets smaller after going through the precoding block. But if you following through the precoding process for each one (single) constellation, you will understand the differences. Following sequences of plots shows you 'Precoding' result of each points with each precoding (transformation) vector. Colored spots represents the constellation (I/Q data) coming(I/Q data) out of Layer Mapping block and coming into Precoding block. Black spots represents the constellation coming out of the Precoding block. You would notice that each of the colored spots creates two black spots. Even for the plot with only one black spots, it is the superimposed result of two black spots. Each of the black spots gets transmitted by each of the antenna.
The Octave code is here. (I create this code in Octave which is a Matlab like GNU program, but I guess it will run in Matlab without any modification. I tried to write the code so that I can run on both program but I haven't tested it in Matlab myself).



MIMO (Multiple Input Multiple Output)

I think everybody would know what MIMO is. Simply put, it is a technique to increase the data throughput by using multiple transmitter antenna and multiple reciever antenna. So.. overall concept is simple, but detailed process and implementation is not as simple as you may think. Unfortunately -:), it would be almost impossible to understand the details without going through underlying mathmatics. Actually math itself is not that complicated but interpreting the math and translate the math into real implementation is difficult. I hope my math section in this site would helpful on this. (Please see the Engineering Math - Matrix as you go along this section).

Try googling "MIMO introduction", "MIMO Tutorial" for general understanding . I will try to cover the math part here. I will use 2 x 2 MIMO in this section for simplicity.

In case of 2 x 2,  overall data transmission process can be illustrated as follows. The red arrow and four blocks (h11,h12,h21,h22) between the two antenna is to illustrate the possible data path between the two Tx and two Rx antenna.  


h11, h12,h21,h22 are special numbers (coefficient) to show how much of the data is going through each of the possible path. The greater the value is, the larger portions of data is being transmitted in that path. A matrix which is made up of these channel path coefficient is called "Channel Information Matrix". The reciever and transmitter relationship is represented as follows.


As I said the math itself is very simple. It would be like a first example at the first chapter of any linear algebra book. The important this is how to interpret this equation into real implementation. If I interpret it in an illustration, it would be as the path represented in green arrows. By this way, we can mathematically represent the recieved data (data distorted by the air path between transmitter and reciever antenna), but just calculating the recieved is not our goal (not the function of the reciever). Our goal is to extract/figure out the 'transmitted data (original data)'. Mathematically this is also simple and it is represented in green arrows.


As you see in the process illustrated in green arrow, to recover the transmitted data (original data) from the received data we need to take inverse of the channel information matrix. Unfortunately there are a couple of issues with this method.
    i) Not all matrix is invertable. There are some matrix for which inverse matrix does not exists. (Please refer to Matrix section and see what kind of matrix is the one which is not invertable).
    ii) Calculating the inverse matrix is not the simple process.
To workaround these problems, we change the channel information matrix into three matrices by the method called SVD(Singular Value Decomposition). See the SVD section in Marix page and clearly understand the meaning of this process. Probably my page would not be enough to give you full understanding about SVD. Google as much materials about this as possible and try to have some "Intuitive" understanding of the concept.
When we apply any mathematical technique in engineering area, it should be meaningful in the engineering sense and should be implementable. The meaning and implementation of SVD can be illustrated as follows.


The important point is that by implementing this method, we can express the channel information matrix as a simple 'diagonal matrix'.  That diagonal matrix is expressed as follows and can be illustrated as follows. Isn't it look simple and clear ? -:)



For some MIMO implementation (e.g, TM4 in LTE = Closed Loop MIMO), you estimate the channel and select a specific precoding matrix and send it back to the receiver as shown below.


The algorithm by which UE select the codebook which is best fit for the channel at specific moment is as follows.


Once a specific codebook element (precoding matrix) is selected as shown here, that precoding matrix is used to transform the incoming bits as explained in Precoding section.


Integrity Protection Procedure

My perception of any process is "a black box that convert a set of inputs into a set of output". So for any process, I usually tries to define what is the inputs and out is the final outputs.. and then try to find the all of the steps one by one to convert the input into the outputs.

If I define LTE Integrity Protection Procedure with this logic, it would be "a process that convert 'K' value from USIM into PDCP MAC-I and NAS MAC(Message Authentication Code)". Describing this process with illustration would be as follows. Just try to go through this illustration whenever you have chance and try to have your own idea first.
The process described here apply only to C-Plane data. (Refer to 33.401 for the detailed description of each of the steps).