نیک فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

نیک فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

تاریخچه شرکت ایران خودرو

اختصاصی از نیک فایل تاریخچه شرکت ایران خودرو دانلود با لینک مستقیم و پر سرعت .

تاریخچه شرکت ایران خودرو


تاریخچه شرکت ایران خودرو

تاریخچه شرکت ایران خودرو - 17 صفحه مفید - در قالب وورد

 

 

نمونه ای از متن تحقیق :

 

 

 

 

به روایت یک محقق

ایران ناسیونال یا همان ایران خودرو که مادر پیکان در 40 سال اخیر بوده روز 12 مهرماه 1341 با سرمایه‌ای در حدود 10 میلیون تومان و با هدف مونتاژ و تولید انواع خودرو  در خیابان اکباتان تهران تأسیس شد و از 28 اسفندماه 1342 با تولید اتوبوس شروع به کار کرد. اینک با گذشت بیش از40سال از زمان تأسیس آن همچنان در زمینه ی طراحی و تولید خودروهای سواری ، اتوبوس و مینی بوس به عنوان بزرگترین تولید کننده ی خودرو در کشور ، در راستای تأمین نیاز های جامعه ، ورود به بازارهای جهانی ، تعمیق ساخت داخل کردن قطعات و در نهایت تحقق اهداف ایران به فعالیت خود ادامه می دهد .

شرکت ایران خودرو بزرگترین شرکت خودرو سازی کشور می باشد که به طور متوسط 65 تا 70 درصد تولید خودرو داخل کشور را به طور دائم به خود اختصاص داده است .

اما تولید اتوبوس آن هم به تیراژ محدود خواسته‌های برادران خیامی، مدیران آن روز ایران خودرو، را برآورده نمی‌کرد، و به همین دلیل در آن زمان آنها سعی کردند با کارخانجات خودروسازی دنیا ارتباط برقرار کنند تا بتوانند خودرویی را برای اقشار متوسط در ایران تولید کنند.

فورد، پژو، فولکس‌ و تالبوت برخی گزینه‌هایی بودند که با آنها تماس برقرار شد. هنوز هم بسیاری بر این باورند که استعمار پیر انگلستان که صنعت خودروی خود را در آن روزگار مظهر اراده ملی خود می‌دید، به وسیله راه‌هایی که همه به آن روش‌های انگلیسی نام می‌دهند سبب شد تا شرکت تالبوت بتواند جای شرکت‌های آلمانی و فرانسوی را بگیرد؛ اما عده‌ای دیگر نیز می‌گفتند در آن زمان تنها کارخانجات انگلیسی روی خوش به مدیران ایران خودرو نشان دادند. به هرحال پیکان وارد ایران شد.

درسال 1345 قراردادی بین شرکت ایران خودرو و تالبوت در مورد مونتاژ و ساخت خودروی پیکان که نام انگلیسی آن هیلمن بود منعقد شد و به طور رسمی با وارد شدن قطعات از تالبوت انگلستان که در آن روزگار زیرمجموعه شرکت کرایسلر آمریکا بود تولید پیکان در اردیبهشت سال 1346 با ظرفیت 60 هزار دستگاه آغاز شد، این تیراژ به تدریج به 120 هزار دستگاه رسید...


دانلود با لینک مستقیم


تاریخچه شرکت ایران خودرو

دانلود مقاله کامل درباره آدرس دهی - کامپیوتر

اختصاصی از نیک فایل دانلود مقاله کامل درباره آدرس دهی - کامپیوتر دانلود با لینک مستقیم و پر سرعت .

دانلود مقاله کامل درباره آدرس دهی - کامپیوتر


دانلود مقاله کامل درباره آدرس دهی - کامپیوتر

<!--StartFragment-->

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 59

 

آدرس دهی

Opcode : نشان دهنده ی عملیات دستورالعمل است.

Shift:نشان دهنده ی این است که دستورالعمل کدهای شرطی را تغییر می دهد.

Rd:رجسیتر مقصد را مشخص می کند.

Rn:رجسیتر عملگر صحیح را مشخص می کند.

بیت های [11:0]: بیت های shifter operand که بعداً توضیح داده می شود.

بیت 25: I بیت است که مشخص کننده ی حالت بین immediate shifter و register-base shifter operand است.

اگر بیت های نشان داده شده همه مقدارهای نشان داده شده را بگیرد دستورالعمل پردازش داده نیست بلکه در فضای دستورالعمل های لود و ذخیره یا محاسباتی قرار می‌گیرد.

1= ]7[  bit                                      0= ]4[ bit                    0= ]25[ bit

1-2: shifter operand

یکی از سه فرمت زیر را دارد.

مقدار عملگر فوری:

مقداری است که توسط چرخش 8 بیت ثابت در 32 بیت word توسط یک عدد زوج (30، 000، 2،0) ایجاد می شود.

چند مقدار صحیح ثابت:

                          0FF* 0 ، 104 * 0، FF * 0

                                F000000F* 0 ، 00FF * 0

چند مقدار ناصحیح

                          ، 102* 0،  101*0

برای مثال:

MOV  R0#،

ADD   R3, RB, #1

CMP    R7, #10000

BIC      Rq, R8, 0* FF 00

مقدار عملگر رجیستر: مقدار یک رجسیتر است.

به عنوان مثال

مقدار  را به منتقل می کند                    و  MOV

مقادیر  و  را جمع کرده و حاصل را در  ذخیره می کند.

     و  و  ADD

مقدار عملگر رجسیتر شیفت یافته:

مقدار یک رجیستر که پیش از عملگر پردازش داده  شیفت(چرخش) یافته باشد.

5 نوع شیفت داریم:

ASR

                             Arithmetic shift right

LSR:                     logical shift left

LSR:                     logical shift right

ROR:                    Rotate right

RRX:                    Rotate right with entend

مقدار عددی که می خواهیم شیفت بدهیم می تواند یک عدد فوری یا یک رجیستر باشد.

مقدار R را به سمت چپ 2 بار شیفت      2# LSL، ،   MOV

داده و در  می ریزد              ROR، ،  MOV

که به مقدار  شیفت  داده شده است.

1-3 عملگرهای فوری پردازش داده

  

0                                 7   8                     11  12    15  16   19  20  21             24  25     27  28        31

 

8-immed

Rotate-imm

Rd

Rn

S

Opcode

001

Cond

مقدار shifter- operand تشکیل می شود با چرخش یک مقدار فوری 5 بیتی در موقعیت های بیت زوج در یک 32 بیتی. اگر مقدار عددی صفر باشد‏‏، مقدار خروجی shifter مقدار C می باشد. در غیر این صورت به مقدار بیت 31   shifter operand ست می شود.

: برابر است با حاصل چرخش immed-8 با مقدار rotate-imm*2

عملیات:

shifter- operand = immed-8 rotate right (rotate-immed *2)

if    rotate-imm=0  then

      shifter- carry-out=c flay

else

shifter- carry-out= shifter- operand [31]

مقادیر فوری مجاز می باشند که تنها از چرخش یک 8 بیتی به یک مقدار زوج در 32 بیتی word حاصل می شوند.

Cncoding

بعضی مقادیر بیشتر از یک روش برای encoding دارند. مثلاً    

 E* 0= rotate-imm                       3F* 0= 8-immd

F*0= rotate-imm            FC*0= 8-immed

در چنین مواردی اسمبلر باید مقدار صحیح را طبق زیر انتخاب کند:

اگر مقدار فوری در بازه ی 0 تا FF* 0 قرار داشته باشد، encoding با rotate-imm=0 قابل دسترس است.

در غیر این صورت توصیه می شود که encoding با کوچکترین مقدار ممکن rotate- imm انتخاب شود.

 

1-4 data processing operands – tegister

  

   0           3   4        6   7           11 12   15 16    19   20  21             24  25    27  28      31

 

Rm

000

0000

Rd

Rn

S

Opcode

000

cond

: رجیستری را مشخص می کند که عملگر دستورالعمل مقدار آن است.

Shifter-operand=Rm

Shifter- carry= C flay

Encoding: این دستورالعمل encode می شود که شیفت منطقی به سمت چپ (0= shift-imm)

اگر  به جای  و  مورد استفاده قرار گیرد و مقدار استفاده شده آدرس دستورالعمل است به علاوه ی 8.

1-5- شیفت منطقی به سمت چپ به یک عدد فوری

  

0            3  4          6  7                    11 12       15  16    19  20      21           24   25  27  28      31

 

Rm

000

Shift-imm

Rd

Rn

S

Opcode

000

cond

این عملگر به کار می رود برای تولید مقدار یک رجسیتر 1 مقدار شیفت چپ داده شده یک رجسیتر (ضرب شده در یک توانی از 2)

مقدار خارج شده از shifter بیت آخری است شیفت داده شده و اگر شیفتی داده نشده باشد فلگ c است.

,   LSL#

: رجسیتری است که مقدار آن باید شیفت داده شود.

LSL: نشان دهنده ی شیفت منطقی به سمت چپ است.

: مقدار شیفت را نشان می دهد که عددی است بین 0 تا 31

1-6: شیفت منطقی به سمت چپ با یک رجیستر

  

 0            3  4             7  8         11  12       15  16      19  20     21              24  25       27  28      31

 

Rm

0001

Rs

Rd

Rn

S

Opcode

000

cond

این عملگر پردازش داده برای تولید مقدار یک یک رجیستر ضرب در یک توانی از 2 به کار می رود.

عملگر این دستورالعمل مقدار رجیستر Rm است. که با مقدار بایت سمت راست Rs شیفت داده شده است. مقدار carry-out آخرین بیتی است که با شیفت خارج شده و صفر است اگر مقدار بشیتر از 32 باشد و فلگ c است اگر مقدار شیفت صفر باشد.

,  LSL

رجیستری است که مقدار شیفت در آن قرار دارد.

 

1-7: شیفت منطقی به سمت راست با یک عدد فوری

  

0       3  4             6   7                               11  12     15  16     19   20   31           24   25    27  28        31

 

 

 

Rm

010

Shift-imm

Rd

Rn

S

Opcode

000

Cond

درست مانند شیفت منطقی به سمت چپ است.

1-8: شیفت منطقی به سمت راست با یک رجیستر

0       3  4            7 8      11  12       15 16      19 20    21      24   25   27  28          31

 

Rm

0011

Rs

Rd

Rm

S

Opcode

000

cond

 

           

درست مانند شیفت منطقی به سمت چپ با رجیستر

 

1-9- شیفت سمت راست محاسباتی با عدد فوری

0       3  4        5 6   7        11  12       15 16      19 20    21      24   25   27  28          31

 

Rm

100

Shift-imm

Rd

Rm

S

Opcode

000

cond

 

           

این عملگر پردازش داده یک مقدار عددی که به صورت محاسباتی به راست شیفت داده شده می دهد.

عملگر این دستورالعمل مقدار رجسیتر Rm است که بوسیله یک عدد فوری بین 1 تا 32 شیفت محاسباتی داده می شود. بیت 31 Rm بیت خالی شده را می گیرد و بیت خارج شده آخرین بیت شیفت داده شده است.

, ASR #

arithmetic shift right  :ASR

عملیات:

if shift-imm=0 then

if Rm [31]=0 then

shifter- operand=0

shifter-carry-out=Rm[31]

else

shifter-operand= 0* FFFFFFFF

shifter-carry-out=Rm[31]

else

shifter-operand= Rm arithmetic – shift –right

shifter- carry= Rm[shift-imm-1]

0           3  4            7 8      11  12       15 16      19 20    21      24   25   27  28       31

 

Rm

0101

Rs

Rd

Rn

S

Opcode

000

cond

 

           

این عملگر دستورالعمل مقدار رجیستر Rm است که توسط مقدار بایت پایین Rs شیفت محاسباتی به سمت راست داده شده است. بیت 31 Rm به جای بیت خالی قرار می گیرد. بیت carry-out آخرین بیت شیفت داده شده است. اگر مقدار شیفت بیشتر از 32 باشد این مقدار بیت علامت Rm است و اگر مقدار شیفت صفر باشد این مقدار‏ؤ مقدار فلگ c است.

, ASR

1-11- چرخش به راست یک عددی فوری

0          3

 

Rm

110

Shift-imm

Rd

Rn

S

Opcode

000

cond

 

           

 این عملگر برای تهیه ی مقدار یک رجیستر که توسط عددی ثابت چرخش یافته استفاده می شود که مقدار رجیستر Rm توسط عددی که رنج آن بین 1 تا 31 است چرخیده می شود بیت آخری که در سمت راست چرخیده شد در جای خالی سمت چپ قرار می گیرد و این بیت در carryout نیز قرار می گیرد.

, RoR #

: مشخص کننده ی چرخش است که عددی است بین 1 تا 31. اگر صفر باشد RRM نتیجه می شود.

عملیات:

if     shift- inn= then

       RRX

Else             shift-imm>0

      Shifter- operand – Rm rotate- right shift-imm

     Shifter- carry-out=Rm[shift-imm-1]

12-1 چرخش به راست با رجیستر

0           3  4            7 8      11  12       15 16      19 20    21      24   25    27  28      31

 

Rm

0111

Rs

Rd

Rn

S

Opcode

000

cond

 

           

برای تولید یک مقدار رجیستر که توسط یک متغیر چرخش داده شده به کار می رود.

مقدار رجیستر Rm توسط بایت سمت راست Rs چرخیده می شود.

اگر مقدار shift صفر باشد carry-out مقدار فلگ c می باشد.

 

 

عملیات:

if      Rs  [7:0]= 0   then

          shifter- operand= Rm

          shifter-carry-out= C Flag

else    if     Rs[14:0]= 0    then

          shifter-operand=Rm

          shifter-carry-out=Rm [31]

else

          shifter-operand=Rm    rotate-right   Rs[4:0]

          shifter-carry-out=Rm[Rs[4:0]-1]

 

13-1 Rotate with extend

  0           3  4               11    12     15  16   19 20  21           24  25   27  28    31

 

Rm

00000110

Rd

Rn

S

Opcode

000

code

 

          

این عملگر برای تهیه ی چرخش به سمت راست 33 بیتی است که بیت 33 فلگ c در نظر گرفته می شود. عملگر این دستور مقدار رجیستر Rm را یک بیت به سمت راست شیفت می دهد و جای خای را فلگ c پر می کند. و carry-out بیتی است که به بیرون شیفت داده شده است.

,  RRx

این نوع مد توسط ADC ایجاد می شود.

  1. ذخیرع و لود word یا بابت بدون علامت

9 مد آدرس دهی برا محاسبه ی آدرس برای ذخیره و بود word یا بایت بدون علامت وجود دارد. حالت کلی آن.

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید

<!--EndFragment-->

 


دانلود با لینک مستقیم


دانلود مقاله کامل درباره آدرس دهی - کامپیوتر

دانلود تحقیق تربیت دینی .تعلیم وتربیت کودکان درسیره ی امام خمینی (ره)

اختصاصی از نیک فایل دانلود تحقیق تربیت دینی .تعلیم وتربیت کودکان درسیره ی امام خمینی (ره) دانلود با لینک مستقیم و پر سرعت .

دانلود تحقیق تربیت دینی .تعلیم وتربیت کودکان درسیره ی امام خمینی (ره)


دانلود تحقیق تربیت دینی .تعلیم وتربیت کودکان درسیره ی امام خمینی (ره)

مقدمه
زندگی ازدید خردمندان امری است جاری ودرحال گذران ازجاده ی هموار و ناهموار که عبور ازآن نیاز به چشمانی باز ، انتخاب مسیر ورعایت ضوابط در کیفیت گذران وعبور دارد.
بدون داشتن راهنما وروش ، خطر سردرگمی درکمین است.
امام امیرامؤمنین (ع) در نهج البلاغه هشدارهایی دراین عرصه می دهد که اساس آن کسب بینش برای استفاده ازراه وروش افراد موفق وعبرت آموزی ازآنان که دچار سقوط وصدماتی دراین راه   شده اند ، وقتی حرکت درخط اعتدال درعین خود نگهداری ومراقبت است.


کوتاه اما خواندنی
* ای کاش :
نفر اول کنکور دریکی ازاستان ها ، بعدازگذشت چند ماه ازشروع تحصیلاتش دردانشکده برای پدر ومادر خود چنین نوشت : من اززحمات وتلاش های شما که درحق من انجام داده اید ممنونم ، ولی ای کاش می دانستید که زندگی فقط تحصیل نیست. من دراین جایه یک دوست نیاز دارم ! ای کاش راه های دوستی باخدارا به من می آموختید.
من دراین جا به «نه» گفتن نیازدارم ای کاش «نه» گفتن به بسیاری ازناهنجاری های زندگی رابه من می آموختید.
من دراین جا به زندگی کردن نیازمندم ، ای کاش مهارت های زندگی کردن رابه من تعلیم می دادید. من دراین جا به ارتباط بادیگران وتوانایی صحبت کردن در جمع نیاز دارم ، ای کاش به من راه های حضور درجمع را آموزش می دادید.
من ازسدکنکور گذشتم ، ولی درپشت دیوار زندگی گیر کرده ام ، چون راه ورود به آن راهیچ کس به من نیاموخت.
 
* داستان ادیسون :
معلم ها گفته بودند که ادیسون به درد تحصیل کردن نمی خورد چون کم هوش است اما مادر ادیسون معتقد بودند که فرزندش نابغه است وبعدها دنیا مشاهده کرد که حرف مادرادیسون درست ازآب درآمد.
تربیت دینی ورابطه ی تربیت باساختار روانی انسان
تربیت عبارت است ازفراهم آوردن زمینه ی لازم برای رشد همه جانبه ی شخصیت درجهت وصول به اهداف مطلوب
وقتی بخواهیم چنین تعریفی عام از تربیت را با تاکید برقید دینی ، مورد توجه قرار دهیم ناگزیر ازتبیین دقیق تر مفهوم دین خواهیم بود.
دین دراصل برایمان استوار است ایمان نوعی باور عمیق روانی است که نه تنها دنیای روان شناختی انسان را متاثر می سازد یلکه رفتارهای آدمی را نیز تحت تاثیر خود می گیرد. اگر بخواهیم به یک تربیت صحیح دینی دست برنیم. دردرجه ی اول می باید شکل گیری وگسترش ایمان رادرمرکز توجه خویش قراردهیم. پس ازآن درانتقال باورهای صحیح دینی یاآنچه موضوع علم کلام است.  قدم هایی برداریم وبه دنبال آن رفتارها وآدابی برای زیستن (آنگونه که دین ازانسان انتظار دارد ) رابه متربی خود منتقل کنیم.
تمامی این اقدامات ، مستلزم شناخت ساختار وفرآیندهای روان شناختی انسان است به راستی وقتی سخن ازایمان می گوییم مقصودمان چیست ؟ آیاایمان نوعی شناخت است ، مانند شناخت انسان ازهر چیز ، به ویژه شناختی که باقاطعیت همراه است ؟ یانه ایمان نوعی تمایل است ، مانند تمایل انسان تشنیه برای نوشیدن آب ؟
پاسخ به چنین سولاتی مستلزم آن است که نگاهی اجمالی داشته باشیم به ساختار روانی انسان مااین ساختار رابا توجه به آن چه اسلام ازبخش های مهم روانی انسان ارائه می کند ونیز باتوجه به تبیینی که علم روان شناسی ازاین ساختار دارد توضیح می دهیم.
ساختار روانی انسان
وقتی سخن ازساختار روانی انسان به میان می آوریم مقصودمان توضیح مهم ترین اجزای تشکیل دهنده ی دستگاه روانی انسان است این ساختار دردیدگاه روان شناسان چون فروید ، یونگ وکتل به اشکال مختلف توصیف شده است .امادراین جا توصیفی دیگر ازساختار روانی انسان را مطرح    می کنیم وبرای آغاز بحث ازمهمترین بخش روانی انسان یعنی عقل یابه تعبیر روان شناسی هوش آغاز می کنیم.
1) عقل : همه می دانیم که انسان دارای توانمندی خاص به نام عقل است ، عقلی که گاه توسط عرفای اسلامی عقل جزوی نامیده شده ، همان چیزی است که کسب علم وفلسفه را برای انسان ممکن ساخته است.
2) امیال یاهوی : انسان علاوه برعقل باامیالی نیز سروکار دارد. انسان درهمه ی شرایط عقلانی عمل نمی کند بلکه دربسیاری مواقع ازان جهت که چیزی رادوست می دارد به آن نزدیک شده یاچیزی راکه دوست نمی دارد ، دوری می کند وجود این امیال نشانگر این است که بخش دیگری ازشخصیت انسانی تعلق به آن ها یابه تعبیر قرآنی تعلق به هوی دارد. هوی که بخش مهمی ازشخصیت را می سازد خود به چند دسته تقسیم می شود که عبارتند از:
الف) لایه ی بدنی : که برآمده ازانگیزه های بدنی مانند گرسنگی ، تشنگی ، جنسی وحتی پرخاشگری است.
ب) لایه ی اجتماعی : که ناشی ازنیازهای اجتماعی انسان مانند نیازبه توجه ، نیاز به تعلق داشتن به دیگران ومحبت وحرمت اجتماعی است.
ج) لایه ی فردی : که برای پاسخ گویی به نیازهای استقلال جویی ، حرمت خودوخودشکوفایی انسان شکل می گیرد.
3- قلب : بخش اصلی ومرکزی شخصیت انسان قلب است قلب مرکز ایمان ، عشق وگاه کینه ، نفرت وقساوت است. قلب درروان شناسی معاصر ، جایگاه ومفهومی ندارد لکن درمعارف دینی به خصوص قرآن کریم قلب مورد توجه خاص قرارگرفته است تا جایی که قرآن روز قیامت راروزی معرفی می کند که مال وفرزندان برای انسان سودی ندارند بلکه آن چه سودمند واقع می شود. تقدیم قلبی سالم به خدواند است. شواهد عدیده ای نشان می دهد که در دیدگاه اسلامی ، قلب عنصری حتمی وقطعی وجود انسان است وآنچه انسان رابه حد موجودی متمایر ازتمامی موجودات می کند همین قلب است.
اگر درمقوله های دیگر تربیت ، ازجمله تربیت اجتماعی ، تربیت سیاسی ، تربیت عقلانی و.....ممکن است قلب مغفول واقع شود ولی درتربیت دینی چنین غفلتی نقص غرض است. بدون توجه به قلب وکارکردهای آن واسیب هایی که متوجه آن است نمی توان سخن ازتربیت دینی به میان آورد.

 

 

 

شامل 15 صفحه Word


دانلود با لینک مستقیم


دانلود تحقیق تربیت دینی .تعلیم وتربیت کودکان درسیره ی امام خمینی (ره)

دانلود تحقیق شیمی درمانی

اختصاصی از نیک فایل دانلود تحقیق شیمی درمانی دانلود با لینک مستقیم و پر سرعت .

دانلود تحقیق شیمی درمانی


دانلود تحقیق شیمی درمانی

علائم رفتاری، هیجانی و شناختی ممکن است در پاسخ به حوادث پراسترس ایجاد شود یک یا چند عامل استرس‌زا می تواند زمینه ساز بیماریها و اختلالات روانپزشکی باشد. تعداد و شدت عامل استرس‌زا همیشه پیش بینی کننده ی شدت علائم و اختلال روانپزشکی نیست. عامل استرس‌زا ممکن است منفرد، متعدد، یا مداوم باشد. بیماری جسمی یکی از عوامل استرس‌زا می باشد که در صورت مزمن شدن می تواند خطری برای بهداشت روانی فرد محسوب شود.
باید بدانیم که خانواده، اجتماع و متخصصین رشته های مختلف طب همانند روانپزشکان در بهداشت روانی بیماران مبتلا به بیماریهای جسمانی نقش بسزایی دارند. برای مثال، خانواده و اجتماع با رعایت مورد پیشگیری کننده از ابتلا به بیماریهای جسمی (در حد امکان) و با حمایت عاطفی و اجتماعی از بیماران بعد از ابتلا به بیماریهای جسمانی و قبول و پذیرش بیماری به جای طرد آنان می توانند در زمینه بالا بردن بهداشت روان فدر یا حداقل متعادل نمودن آن نقش مفیدی ایفا کنند.
 

 

شامل45صفحهword


دانلود با لینک مستقیم


دانلود تحقیق شیمی درمانی

دانلود مقاله کامل درباره کدها

اختصاصی از نیک فایل دانلود مقاله کامل درباره کدها دانلود با لینک مستقیم و پر سرعت .

دانلود مقاله کامل درباره کدها


دانلود مقاله کامل درباره کدها

<!--StartFragment-->

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 89

 

فصل اول : کدهای بلوکی و کدهای کانولوشن  

1-1- مقدمه :

امروزه دو نوع عمومی از کدها استفاده می شود : کدهای بلوکی و کدهای کانولوشن . انکدینگ  یک کد بلوکی را به تر تیبی از اطلاعات در قالب بلوکهای پیغام از k بیت اطلاعات برای هر کدام تقسیم می کند . یک بلوک پیغام با k مقدار باینری که بصورت u=(u1,u2,…,uk) نشان داده می شود ، یک پیغام نامیده می شود . در کدینگ بلوکی از سمبل u  جهت نشان دادن k بیت پیغام از کل ترتیب اطلاعات استفاده می گردد .

تعداد کل بیت های پیغام متفادت موجود  پیغام است . انکدر هر پیغام u را بطور غیر وابسته ، بصورت یک n  تایی v=(v1,v2,…,vn)  که کلمه کد (codeword) نامیده می شود ، ارسال می دارد . در کدینگ بلوکی سمبل v برای مشخص کردن سمبل بلوک از کل ترتیب انکد شده استفاده می گردد .

از  پیغام قابل ساخت ،  کلمه کد مختلف در خروجی انکدر قابل ایجاد است . این مجموعه  کلمات کد با طول n یک کد بلوکی (n,k) نامیده می شود. نسبت R=k/n  نرخ کد نامیده می شود . نرخ کد می تواند تعداد بیتهای اطلاعات که انکد می شود را در هر سمبل انتقال یافته ،محدود کند . در حالتیکه n  سمبل خروجی کلمه کد که فقط به k  بیت ورودی پیغام وابسته باشد ، انکدر را بدون حافظه (memory-less) گویند . انکدر بدون حافظه با ترکیبی از مدارات لاجیک قابل ساخت یا اجرا است . در کد باینری هر کلمه کد v باینری است . برای اینکه کد باینری قابل استفاده باشد ، بعبارت دیگر برای داشتن کلمات کد متمایز باید  یا  باشد . هنگامیکه k

چگونگی انتخاب بیت های افزونگی تا اینکه ارسال قابل اطمینانی در یک کانال نویزی داشته باشیم از اصلی ترین مسائل طراحی یک انکدر است . انکدر یک کد کانولوشن نیز به همان ترتیب ، k بیت بلوکی از ترتیب اطلاعات u را می پذیرد و ترتیب انکد شده ( کلمه کد ) v با n  سمبل بلوکی را می سازد . باید توجه کرد که در کدینگ کانولوشن سمبل های u و v جهت مشخص کردن بلوکهای بیشتر از یک بلوک استفاده می گردند . بعبارت دیگر هر بلوک انکد شده ای نه تنها وابسته به بلوک پیغام k بیتی متناظرش است ( در واحد زمان )‌ بلکه همچنین وابسته به m بلوک پیغام قبلی نیز می باشد .  در این حالت انکدر دارای حافظه(memory ) با مرتبه m  است .

محصول انکد شده ترتیبی است از یک انکدر k ورودی ، n خروجی با حافظه مرتبه m  که  کد کانولوشن (n,k,m) نامیده می شود . در اینجا نیز R=k/n نرخ کد خواهد بود و انکدر مذکور با مدارات لاجیک ترتیبی قابل ساخت خواهد بود . در کد باینری کانولوشن ، بیت های افزونگی برای تقابل با کانال نویزی می تواند در حالت k

معمولاً k و n اعداد صحیح کوچکی هستند و افزونگی بیشتر با افزایش مرتبه حافظه از این کدها بدست می آید . و از این رو k و n و در نتیجه R  ثابت نگه داشته می شود .

اینکه چگونه استفاده کنیم از حافظه تا انتقالی قابل اطمینان  در یک کانال نویزی داشته باشیم ، از مسائل مهم طراحی انکدر ها محسوب می شود .

1-2- ماکزیمم احتمال دیکدینگ  Maximum Likelihood Decoding

یک بلوک دیاگرام از سیستم کد شده در یک کانال AWGN با کوانتیزاسیون محدود خروجی در شکل 1 نشان داده شده است :

در این سیستم خروجی منبع u نشاندهنده پیغام k بیتی ، خروجی انکدر ، v  نشاندهنده کلمه کد n- سمبلی خروجی دیمدولاتور ، r نشاندهنده آرایه Q دریافت شده n تایی متناظر و خروجی دیکدر  نشاندهنده تخمینی از پیغام انکد شده k بیتی است . در سیستم کد شده کانولوشن ، u ترتیبی از kl بیت اطلاعات و v یک کلمه کد است که دارای N=nl+nm=n(l+m) سمبل می باشد . kl طول ترتیب اطلاعات و N طول کلمه کد است . سرانجام nm سمبل انکد شده بعد از آخرین بلوک از بیتهای اطلاعات در خروجی ایجاد می گردد . این عمل در طول m واحد زمانی حافظه انکدر انجام می پذیرد . خروجی دی مدولاتور ، r یک N تایی دریافت شده Q- آرایه ای است و خروجی  یک تخمین از ترتیب اطلاعات می باشد. در واقع دیکدر می بایستی یک تخمین  از ترتیب اطلاعات u براساس ترتیب دریافت شده r تولید نماید . پس یک تناظر یک به یک بین ترتیب اطلاعات u و کلمه کد v وجود دارد که دیکدر بر این اساس می تواند یک تخمین  از کلمه کد v بدست آورد . روشن است که در صورتی  است ، اگر و فقط اگر  .

قانون دیکدینگ (یا برنامه دیکدینگ ) در واقع استراتژی انتخاب یک روش تخمین ، جهت تخمین کلمه کد  از هر ترتیب دریافت شده ممکنr است . اگر کلمه کد v فرستاده شده باشد ، یک خطای دیکدینگ رخ داده است اگر و فقط اگر  .

با دریافت r ، احتمال خطای شرطی دیکدر بصورت زیر تعریف می گردد : (1)

پس احتمال خطا دیکدر : (2)  بدست می آید .

P(r) وابسته به قانون دیکدینگ نمی باشد . از این رو یک دستورالعمل دیکدینگ بهینه یعنی با حداقل P(E) باید را برای تمام مقادیر R به حداقل برساند .

به حداقل رسانیدن به مفهوم به حداکثر رسانیدن  است . توجه گردد که اگر  برای یک r دریافت شده با احتمال ماکزیمم انتخاب کردن ( تخمین )  از کلمه کد v به حداقل می رسد : (3)  که  شبیه ترین کلمه از r دریافت شده است . در صورتیکه تمام ترتیبات اطلاعات و درپی آن تمام کلمات کد مشابه باشند ، ( یعنی P( r ) برای تمام v ها یکسان باشد ) حداکثر کردن رابطه 3  معدل حداکثر کردن P(r|v) است . و برای یک DMC(Discrete memoryless channel) داریم :    (4)‌  . 

باید توجه داشت که برای یک کانال بدون حافظه هر سمبل دریافت شده فقط به سمبل فرستاده شده متناظرش وابسته است . یک دیکدر که روش تخمینی جهت ماکزیمم کردن رابطه 4 انتخاب کند ، دیکدر با حداکثر احتمال نامیده می شود . MLD(Maximum Likelihood Decoder)  - ماکزمم کردن رابطه 4 معادل ماکزمم کردن تابع احتمال لگاریتمی زیر است : (5)   بنابراین یک MLD برای یک DMC یک  را بعنوان تخمینی از کلمه کد v برگزیند که رابطه 5 ماکزیمم گردد . درصورتیکه کلمات که معادل نباشد ، MLD لزوماً بهینه نمی گردد.

دراین حالت احتمالات شرطی P(r|v) باید بوسیله احتمالات کلمات کد P ( r) وزن داده شود تا مشخص گردد که کدام کلمه کد P(v|r) را ماکزیمم می کند .

اکنون مشخصه های MLD در یک BSC (Binary systematic Channel) مورد بررسی قرار می گیرد . در این حالت r  یک ترتیب باینری است که بغلت نویزی بودن کانال ممکن است از کلمه کد انتقال یافته v در بعضی موقعیت ها متفاوت باشد .

وقتی  و بالعکس وقتی  در نظر می گیریم . d(r,v) را فاصله بین rوv ( یعنی تعداد موقعیت های متفاوت بین rو v ) در نظر می گیریم . برای یک طول n یک کد بلوکی رابطه 5 بشکل زیر در می آید : (6)

  . توجه گردد که برای کد کانولوشن n در رابطه 6 با N   بزرگ جایگزین می گردد .

در صورتیکه  را برای P<1/2 و   ثابت برای تمام v ها ، در نظر بگیریم ، قاعده دیکدینگ MLD برای BSC ،  را بعنوان کلمه کد v   انتخاب می کند که فاصله d(r,v) را بین rوv به حداقل برساند . بعبارت دیگر کلمه کدی را انتخاب می کند که در تعداد کمتری از موقعیتها از ترتیب دریافت شده ، متفاوت باشد . برای همین یک MLD برای  BSC یک دیکدر با حداقل فاصله نامیده می شود .

 تحقیقات Shannon در رابطه به بررسی توانایی کانال نویزی در ارسال اطلاعت تئوری کدینگ کانال نویزی را حاصل کرد و بیان می دارد که هر کانال دارای یک ظرفیت کانال C  است و برای هر نرخ R

که  طول اجباری کد نامیده می شود .  و  توابع مثبتی از R برای R

مرزهای بنا نهاده شده در واقع بر اساس احتمال خطای متوسط از مجموعه تمام کدها بدست می آید . مادامیکه کدها بهتر از حد متوسط شکل گیرند ، تئوری کدینگ کانال نویزی ، وجود کدها را در مرزبندی روابط 7 و 8 تضمین می نماید اما بیان نمی دارد که این کدها چگونه ساخته شوند .

برای دست یافتن به احتمالات خطای خیلی کمتر برای کدهای بلوکی با نرخ ثابت R

یک MLD برای کدهای کانولوشن به تقریباص  محاسبه برای دیکد کردن هر بلوک از k بیت اطلاعات احتیاج دادرد و این محاسبات با افزایش m زیاد می شود . از این رو با استفاده از دیکدینگ با ماکزیمم احتمال جهت دستیابی به احتمالات خطای پائین غیر عملی به نظر می رسد . لذا دو مشکل اساسی جهت دستیابی به احتمالات خطای پائین مورد نیاز است :

  • ساخت کدهای طولانی خوب با استفاده از دیکدینگ ماکزیمم احتمال که مرزهای روابط 7 و 8 را ارضا کند .
  • یافتن روشهای اجرایی ساده جهت انکدینگ و دیکدینگ این کدها .

تعریف 1 : کدهای همینگ : کدهایی هستند که می توانند یک خطا را تصحیح کنند و دارای مشخصات زیر می باشند (به ازاء هر عدد صحیح  )‌ : 1- طول کد :   2- تعداد بیت های پیغام :   3- تعدا بیت های پریتی :   4- این کدها قدرت تصحیح یک خطا را دارند :

1-3­- انواع خطا Type of error

در کانالهای بدون حافظه ، نویز بر هر سمبل ارسال شده بدون وابستگی اثر می گذارد . بعنوان مثال در یک BSC هر بیت انتقال یافته  دارای احتمال P از دریافت شده های غیر صحیح و 1-P  از دریافت شده های صحیح است که غیر وابسته به سایر بیتهای ارسال شده می باشد . از این رو خطا ها بصورت رندم در ترتیب دریافت شده رخ می دهد و بنابراین کانالهای بدون حافظه کانالهای با خطای رندم نامیده می شوند .

مثال خوبی از این کانالها کانالهای ماهواره ای و کانال های با فضای ایستاده است . در واقع اکثر انتقالات به خط مستقیم دارای خطا های رندم هستند . کدهایی که جهت تصحیح خطاهای رندم تعبیه می شوند ، کدهای تصحیح خطای رندم نامیده می شوند .

شکل2- دیاگرام احتمال گذار a- کانال سیستماتیک باینری b – کانال بدون حافظه گسسته

با کانالحافظه دار ، نویز غیر وابسته از انتقالی به انتقال دیگر نمی باشد . یک مدل ساده از کانال حافظه دار در شکل 3 نشان داده شده است . این مدل شامل دو حالت است . یک حالت خوب  که در هر انتقال خطاها بطور غیر تکراری رخ می دهد . و  و یک حالت بد که در هر انتقال خطاها دارای ماکزیمم احتمال  است . کانال در اکثر موارد در حالت خوب است اما در حالت شیفت به حالت بد در مواقع تغییر پارامترهای انتقال کانال ( مثلاً در حالت محوشوندگی عمیق که در اثر چند مسیرگی رخ می دهد ) ، انتقال خطاها در دسته ها (cluster)و ازهم پاشیدگی ها (burst) رخ می دهد که علت آن افزایش احتمال گذر در حالت بد است و کانال های با حافظه ، کانالهای دارای خطای از هم پاشیدگی (burst) نامیده می شوند .

مثالهایی از کانالهای دارای خطای برست ، کانالهای رادیویی است که این خطا سبب محوشوندگی سیگنال درطول انتقال چند مسیره می گردد . محوشوندگی همچنین ممکن است در سیم یا کابل انتقال در اثر نویز سوئیچینگ یا مکالمه متقابل ایجاد می گردد . کدهایی که جهت تصحیح این نوع خطاها بکار می رود به کدهای تصحیح کننده خطای برست معروفند (burst-error correcting codes) سرانجام بعضی از کانالهای ترکیبی از هر دو خطای رندم و از هم پاشیدگی را دارا هستند و کانالهای مرکب نامیده می شوند و کدهای تصحیح کننده این نوع خطا ها نیز کدهای تصحیح کننده خطای برست – رندم نامیده می شوند .

شکل3- مدل ساده ای از یک کانال با حافظه

1-4- راه کارهای کنترل خطا  Error control Strategies

بلوک دیاگرام نشان داده شده در شکل 4 یک سیستم یک مسیره را نشان می دهد . این ارتباط در واقع در یک جهت از فرستنده به گیرنده است

. کنترل خطا برای یک سیستم یک مسیره با استفاده از تصحیح خطای رو به جلو FEC(Forward Error Correction)  انجام می پذیرد که بطور اتوماتیک خطاهای آشکار شده در گیرنده را تصحیح می کند .

مانند سیستم های ارتباطی فضایی که تجهیزات انکدینگ ساده ای می تواند روی بدنه فضاپیما قرار داده شود اما تجهیزات انکدینگ پیچیده ای روی ایستگاه زمینی قرار داده می شود . بیشتر سیستم های کد کننده امروزی از فرمهای مختلفی از FEC استفاده می کنند ، حتی در مواردیکه سیستم یک مسیره نیست .

در موارد دیگری یک سیستم ارسال می تواند دو مسیره باشد . بدین معنا که اطلاعات می تواند در هر دو جهت ارسال گردد و فرستنده نیز مانند یک گیرنده عمل کند ( ارسال و دریافت کننده transceiver)

مثالهایی از این نوع سیستم ها مانند کانالهای تلفنی و بعضی ارتباطات ماهواره ای می باشد . کنترل خطا برای یک سیستم دو مسیره می تواند با استفاده از آشکارسازی خطا و دوباره ارسال صورت پذیرد. که به آن تکرار تقاضای اتوماتیک ARQ(Automatic Repeat Request) می گویند . در یک سیستم ARQ هنگامیکه خطاها در گیرنده آشکار می شود ، یک تقاضا برای تکرار پیغام به فرستنده ارسال می گردد و این مادامی است که پیغام بطور صحیح دریافت شده باشد . دو نوع سیستم ARQ وجود دارد : ARQ با حالت توقف – انتظار و ARQپیوسته  .

با حالت اول ، فرستنده یک کلمه کد را به گیرنده می فرستد و منتظر می ماند تا یک پاسخ (acknowledg) مثبت (ACK) یا منفی (NAK) از گیرنده دریافت کند . درصورتیکه (ACK) دریافت شد ، مفهوم آن این است که هیچ خطایی در گیرنده آشکار نشده است و فرستنده کلمه بعدی را ارسال می کند .

اگر NAK دریافت شود مفهوم آن این است که در گیرنده خطا آشکار شده است و فرستنده همان کلمه کد را دوباره می فرستد . با وجود نویز این دوباره ارسال کردن ها ممکن است چندین بار تکرار گردد .

با ARQ پیوسته ، فرستنده کلمات را بطور پیوسته می فرستد و گیرنده نیز پاسخ را بطور پیوسته ارسال می کند . با دریافت یک NAK فرستنده شروع به دوباره ارسال می کند . در این حالت ممکن است یک کلمه کد را به خطا برگرداند و دوباره بفرستد . این حالت را GO – BACK-NARQ می نامند .

همچنین درحالتی ممکن است فرستنده کلمه کدی که NAK داشته است را دوباره ارسال نماید . که این حالت به Selective-Request ARQ نامیده می شود . ARQ با تکرار حساس موثرتر از حالت قبل است اما به مدارات لاجیک و بافر بیشتری احتیاج دارد.

در کل ARQ حالت پیوسته از ARQ توقف – انتظار موثر تر است اما در عین حال گرانتر می باشد . در ارتباطات ماهواره ای که نرخ ارسال و نیز تاخیر آن طولانی است ، ARQ حالت پیوسته بطور نرمال استفاده می شود و ARQ حالت توقف – انتظار در سیستمی بکار می رود که  زمان ارسال کلمه کد طولانی تر از زمان دریافت پاسخ باشد و بیشتر برای کانال های HALF-DUPLEX و ARQ  پیبوسته بیشتر برای کانال های FULL-DUPLEX  بکار می روند .

مزیت مهم ARQ بر FEC  این است که آشکار سازی خطا به تجهیزات دیکدینگ ساده تری از تصحیح خطا نیاز دارد . همچنین ARQ در دوباره ارسال کردن اطلاعات هنگامیکه خطایی رخ می دهد ، حساسیت بیشتری دارد . بعبارت بهتر هنگامیکه نرخ خطای کانال بیشتر باشد ، ددوباره ارسال با تکرار بیشتری باید انجام پذیرد .و در این حالت ARQ دارای تاثیر کمتری می شود . در این موارد ترکیبی از FEC و ARQ تاثیر بیشتری دارد که به روشهای Hybrid معروف است .

تعریف2 : سیندرم و تشخیص خطا : یک کد بلوکی(n,k) که ماتریس پریتی چک آن ، H باشد ، فرض می گیریم . اگر یک کلمه کد از این کد روی کانال ارسال گردد ، کلمه دریافتی بصورت ذیل است :  ( r کلمه دریافتی ، u کلمه ارسالی و e بردار خطا است ) در این روش تعداد  کد خطا قابل تشخیص  است . و داخل این پترن ها ، تمامی پترن هایی که d-1 یا کمتر خطا باشد ، قرار می گیرد. عمل تشخیص خطا توسط سیندرم صورت می پذیرد :  . اگر  (یعنی کلمه کد مجاز باشد ) خواهیم داشت : S=0  و در غیر اینصورت :  . پس جهت تشخیص داریم : 1- به ازای کلمه دریافتی سیندرم محاسبه می شود 2- اگر  خطا اعلام می شود و در غیر اینصورت خطا وجود ندارد و یا قابل تشخیص نیست .

تعریف 3-  کد های چرخشی : چند جمله ای مولد این کد ها :  . اگر   چند جمله ای پیغام باشد ، در اینصورت کلمه کد  با چند جمله ای مولد مذکور ، قابل تولید است .

1-5- بررسی کدهای تصحیح کننده خطای برست (از هم پاشیدگی)  Burst –Error – Correcting Codes

همانگونه که ذکر گردید کانالهایی وجود دارد که تحت تاثیر اختلالات دسته ای (cluster) و ازهم پاشیدگی (burst) هستند .

مثلاً در خطوط تلفن  یک ضربه یا اختلال الکتریکی ممکن است باعث ایجاد خطاهای گروهی می گردد .

و در این حالت کدهای تصحیح کننده خطای رندم موثر نمی باشد . کدهای چرخشی در آشکار سازی و تصحیح خطای برست موثراند . از جمله این کدها کدهای آتشی (Fire Codes) است .

- معرفی : یک برست با طول l بعنوان یک بردار تعریف می گردد که اجزاء غیر صفر آن به l موقعیت دیجیت های متوالی منحصر شده اند و اولین و آخرین آن غیر صفر است . مثلاً بردار خطای e=(000010110100000) یک برست با طول 6 را مشخص می کند . یک کد خطی که توانایی تصحیح تمام خطاهای برست با طول l یا کمتر را داشته باشد اما تمام خطاهای برست با طول l+1 را نتواند تصحیح کند ، به این چنین کدی ، کد تصحیح کننده  برست l  گویند و یا کدی که دارای توانایی تصحیح l خطای برست است .  روشن است که برای کد (n,k) با l تصحیح خطای برست ، n-k  افزونگی قابل اضافه کردن است .

تئوری 1 -  یک شرط لازم برای کدهای خطی (n,k) که بتواند  تمام خطاهای برست با طول l یا کمتر را تصحیح کند این است که هیچ  برستی با طول 2l یا کمتر نتواند یک بردار کد را حاصل کند.

تئوری 2 – تعداد دیجیت های پریتی چک یک کد خطی (n,k) که دارای برست با طول b یا کمتر بعنوان یک بردار کد نباشد ، حداقل b است . یعنی  است .

از تئوری های 1 و 2 در می یابیم که محدودیتی روی تعداد دیجیتهای پریتی چک یک کد تصحیح خطای برست l وجود دارد .

تئوری3-  تعداد دیجیت های پریتی چک یک کد تصحیح خطای برست l باید حداقل 2l باشد که داریم : (9)    .

تئوری 3 نشان می دهد که توانایی تصحیح خطای برست یک کد (n,k) حداکثر [(n-k)/2] است . پس (10)   است .

این مرز فوقانی توانایی تصحیح خطای برست است و مرز Reiger نامیده می شود . و کدهایی که به این مرز برسند بهینه هستند . نسبت (11) z=2l/(n-k) بعنوان معیاری جهت اندازه گیری کارایی تصحیح خطای برست توسط کد استفاده می گردد . یک کد optimal ( بهینه ) دارای z=1  است . باید متذکر شویم که درصورت تصحیح تمام خطاهای برست با طول l یا کمتر و نیز آشکارسازی تمام خطاهای برست  توسط کد (n,k) ، تعداد دیجیتهای پریتی چک باید حداقل l+d  باشد .

1-6-دیکدینگ کدهای چرخشی تصحیح کننده خطای برست تکی

      decoding of Single-Burst-error-Correcting Cyclic Codes

این کدها بسادگی با تکنیک تله گذاری خطا  (trapping) قابل دیکد هستند . فرض شود که کلمه کد v(x) از یک چرخشی

n,k)) با تصحیح خطای برست l انتقال یافته است . درصورتیکه r(x) و e(x) به ترتیب بردارهای دریافت شده و خطا باشند ،

 سیندرم r(x) است .

اگر خطاها در e(x) به موقعیت دیجیتهای پریتی چک با مرتبه بالا l  محدود گردد و چنانچه  از r(x) ، سپس دیجیت های سیندرم با مرتبه بالای l ،  با خطاهای e(x) سازگار است . و n-kl دیجیت سیندرم مرتبه پائین ،   صفر خواهد بود .

فرض کنید خطاها در e(x) به موقعیت های  از r(x) ، محدود باشد . ( شامل مواردی در حوالی انتها ) سپس بعد از تعداد مشخص از شیفت های چرخشی r(x)  ، i شیفت چرخشی ، خطاها در موقعیت های  از    شیفت یابند که iامین شیفت از r(x)  است .

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید

<!--EndFragment-->

 


دانلود با لینک مستقیم


دانلود مقاله کامل درباره کدها