تماس با ما

فید خبر خوان

نقشه سایت

تمامی فایل ها با تخفیف ویژه در سایت قرار میگیرد. در ضمن برخی محصولات سایت در جمعه با تخفیف 80 درصدی ارائه میشود ...


دسته بندی سایت

پیوند ها

نظرسنجی سایت

بنظر شما دوستان گرامی چه مطالبی در سایت قرار داده شود ؟

اشتراک در خبرنامه

جهت عضویت در خبرنامه لطفا ایمیل خود را ثبت نمائید

Captcha

آمار بازدید

  • بازدید امروز : 188
  • بازدید دیروز : 129
  • بازدید کل : 423920

كدهاي بلوكي و كدهاي كانولوشن 76 ص


كدهاي بلوكي و كدهاي كانولوشن   76 ص

فصل اول : كدهاي بلوكي و كدهاي كانولوشن

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<n باشد ، n-k بيتهاي افزونگي (redundant) مي تواند به بيتهاي يك پيغام اضافه گردد و كلمه كد را شكل دهد . اين بيتهاي اضافه شده توانايي كد را در مبارزه با نويز كانال فراهم مي آورد . با نرخ ثابتي از كد ، بيت هاي افزونگي بيشتري را مي توان با افزايش دادن طول بلوك n از كد ، با پيغام جمع كرد و اين تا هنگامي است كه نسبت k/n ثابت نگه داشته شود .

چگونگي انتخاب بيت هاي افزونگي تا اينكه ارسال قابلاطميناني در يك كانال نويزي داشته باشيم از اصلي ترين مسائل طراحي يك انكدر است .

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

محصول انكد شده ترتيبي است از يك انكدر k ورودي ، n خروجي با حافظه مرتبه m كه كد كانولوشن (n,k,m) ناميده مي شود . در اينجا نيز R=k/n نرخ كد خواهد بود و انكدر مذكور با مدارات لاجيك ترتيبي قابل ساخت خواهد بود . در كد باينري كانولوشن ، بيت هاي افزونگي براي تقابل با كانال نويزي مي تواند در حالت k<n يا R<1 به ترتيب اطلاعات اضافه مي گردد .

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

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

1-2- ماكزيمم احتمال ديكدينگ Maximum Likelihood Decoding

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

شكل 1- سيستم codec در يك كانال AWGN

در اين سيستم خروجي منبع 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<C ، كدهاي ايجاد شده با نرخ R با ديكدينگ ماكزيمم احتمال ، داراي كمترين احتمال خطاي ديكدينگ P(E) است . در عمل براي هر R<C براي كدهاي بلوكي با طول n داريم : (7) و براي كدهاي كانولوشن با حافظه m : (8) مي باشد .

كه طول اجباري كد ناميده مي شود . و توابع مثبتي از R براي R<C هستند . كه با پارامترهاي كانال مشخص مي گردند . مزر رابطه 7 بطور قرار دادي براين مطلب دلالت دارد كه احتمالات خطاي كوچك با كدينگ بلوكي R<C ثابت با افزايش طول n بلوك درحالتيكه نرخ k/n ثابت بماند ، بدست مي آيد . مرز رابطه 8 بيان مي دارد كه احتمالات خطاي كوچك براي هر R<C ثابت ، با افزايش طول يعني با افزايش مرتبه حافظه m ماداميكه k و n ثابت باشند قابل دست يابي است . تئوري كدينگ كانال نويزي بر پايه يك استدلال ، كدينگ رندم ناميده مي شود .

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

براي دست يافتن به احتمالات خطاي خيلي كمتر براي كدهاي بلوكي با نرخ ثابت R<Cطول هاي خيلي بزرگ از آن احتياج است و در پي آن بايد كلمات كد خيلي بزرگ باشد . و بعبارت ديگر هنگاميكه براي يك MLD بايد براي هر كد آن LogP(r|v) محاسبه گردد . سپس كلمه كدي كه ماكزيمم باشد ، انتخاب گردد ، تعداد محاسبات براي شكل دادن يك MLD بسيار زياد خواهد شد . براي كدهاي كانولوشن ، احتمالات خطاي كوچك به يك مرتبه m حافظه بزرگ محتاج است .

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

1-ساخت كدهاي طولاني خوب با استفاده از ديكدينگ ماكزيمم احتمال كه مرزهاي روابط 7 و 8 را ارضا كند .

2-يافتن روشهاي اجرايي ساده جهت انكدينگ و ديكدينگ اين كدها .

تعريف 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 يك سيستم يك مسيره را نشان مي دهد . اين ارتباط در واقع در يك جهت از فرستنده به گيرنده است

شكل 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 يا كمتر نتواند يك بردار كد را حاصل كند.


مبلغ واقعی 16,000 تومان    50% تخفیف    مبلغ قابل پرداخت 8,000 تومان

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

Captcha
پشتیبانی خرید

برای مشاهده ضمانت خرید روی آن کلیک نمایید

  انتشار : ۲۸ فروردین ۱۳۹۷               تعداد بازدید : 422

مطالب تصادفی

  • پروژه مرگبار
  • دانلود سوالات استخدامی آموزش و پرورش (به همراه پاسخ نامه کامل
  • مزایا و معایب استفاده از روش قالب لغزنده عمودی
  • مروری بر ریشه‌های مسئله‌ی فلسطین 30 ص
  • سمينار كارشناسي ارشد (عمران) 197 ص

خراسان جنوبی شهرستان قاینات

تمامی محصولات ما با قیمت بسیار مناسب در سایت قرار میگیرد.