آزمایشگاه شبکه های انتقال داده
تقدیم شد به: سرکارخانم مهندس همدانیان
گزارش کار آزمایشگاه توسط آقای نورالله جویا
پیوست:دارد تاریخ:91/8/28
چند نکته در این قسمت برای تمام اجراهای خود در نظر گرفتم.
1. هنگام ذخیره ی m.file خود حتماً آن را در دایرکتوری متلب که عموماً در قسمت Document کامپیوتر بود، ذخیره کردم.
2. نام فایلی را که در دایرکتوری ذخیره کرده اید همان نام m.file ی بود که ایجاد کردم.
3. اگر برداری تولید می کردم، به این نکته دقت داشته ام آیا با کل بردار کار خواهم داشت یا با تک تک درایه های آن بردار سر و کار دارم. مثلاً اگر قرار است دو بردار در هم ضرب شوند آیا به ضرب تک تک درایه های آن ها نیاز است یا به ضرب کلی دوبردار نیاز دارم. اگر به ضرب تک تک درایه های آن ها نیاز باشد فراموش نشود که به جای * از *. استفاده شود.
مدولاسیون AM
در موارد معمول مدولاسيون AM(مثلاً رادیو) در يک مدل پيوسته انجام مي شود. توجه داشته
باشيد که پوش حامل دقيقًا همان شکل سيگنال مدوله کننده رادارا است. شکل موج ولتاژ براي حامل
مدوله شده بطور رياضي مي تواند توسط عبارت زير توصيف شود:
S(t) = Ac cos(2πfct){1 + m cos(2πfmt)}
که در فرمول اخير :
- Ac پيک دامنه حامل (بدون مدولاسيون)
- fc فرکانس حامل
- fm فرکانس مدولاسيون ) مدوله شونده(
– m انديس مدولاسيون
تعريف انديس مدولاسيون:
انديس مدولاسيون مقداري بين صفر و يک (
اگر m = 0 باشد، هيچ مدولاسيوني وجود ندارد، و اگر m = 1 باشد، بيانگر حداکثر مدولاسيوني
است که بدون اعوجاج مي تواند رخ دهد. اين به علت آن است که دامنه لحظه اي حامل در عمل هرگز نمي تواند کمتر از صفر باشد اما m > 1 چنين پيامدي خواهد داشت. (اين حالت يعني m > 1 تحت نام فوق مدولاسيون عنوان می شود.) در واقع وقتی m > 1 باشد، حامل براي مدت كوتاهي خاموش شده و اين سبب گم شدن اطلاعات مي شود.
هدف آزمایش:
شبیه سازی مدولاسیون AM و بررسی اثرات کانال بر آن
در ابتدا سیگنال AM یک موج (داده) برای داده ی تک تن(سینوسی) را در متلب شبیه سازی کردیم
- در این قسمت کدهای m.file مربوطه خود را وارد کردم و توضیح دادم که هر خط از m.file ما چه کاری را انجام می دهد.(R.1)
- سپس m.file خود را طوری تغییر دادم که زمان را نیز به عنوان ورودی بگیرد. حال دوباره برنامه ی خود را برای زمان های مختلف اجرا کردم. متن m.file جدید را در این قسمت وارد کردم. برای سه زمان مختلف به دلخواه برنامه را اجرا کرده و نتایج را در این قسمت وارد کردم .(R.2)
- در این مرحله نیز سیگنال پیام را نیز به جمع ورودی های تابع خود اضافه کردم. حال ورودی را به جای سینوسی یک تابع خطی (مانند y = x ) داده وبرنامه خود را دوباره اجرا کردم. نتایج را در این قسمت وارد کردم و m.file جدید را نیز در این قسمت وارد کردم. (نکته: دامنه سیگنال ورودی را برابر و یا کوچکتر از یک در نظر گرفتم.). (R.3)
- به سوالات زیر جواب دادم:
1. به ازای چه Fc (فرکانس سیگنال حامل) ، Fm(فرکانس سیگنال پیام) و k (اندیس مدولاسیون) می تواند سیگنال پیام را به درستی در پوش سیگنال حامل خواهیم دید.(محدوده های هریک و ارتباط آن ها با یکدیگر را پیدا کردم)(R.4)
2. برای دیدن هر سیگنال به صورت مطلوب در زمان تناوب خودش حداقل به چند نمونه نیاز است (با سعی و خطا این تعدا را به دست آوردم) [توجه کردم که سیگنال زمانی که بر اساس آن سیگنال دلخواه من ساخته شود مثل یک نمونه گیر عمل می کند].(R.5)
تا به اینجا سیگنال AM داده ی دلخواه من ساخته شد. حال می خواهم سیگنال AM را از کانال عبور دهم. پس تا به اینجا ما داده داشتیم (همان سیگنال دلخواه خودم) سپس آن را به سیگنال AM مربوطه مدوله کردم حال این سیگنال می تواند از کانال عبور کند و سپس در گیرنده در یافت شده آن جا دمدوله شده و به مقصد داده شود.
حال می خواهم سیگنال تولید شده ی خود را از کانال عبور دهم.
ما چندین نوع کانال داریم. یکی از ساده ترین مدل های کانال، کانال AWGN می باشد.
حال من به سوالات زیر پاسخ دادم:
- نویز چیست ؟ و در کجای بلوک دیاگرام مخابراتی به آن اضافه می گردد.(R.6)
- کانال AWGN چه نوع کانالی است؟(R.7)
حال من می توانم با استفاده از ماتریس های تصادفی، نویز را به سیستم خود اضافه کنم.
برخی از ماتریس های تصادفی به صورت زیر هستند:
rand(m,n) = یک ماتریس m×n تصادفی تولید می کند که درایه های آن بین (0,1) هستند.
randn(m,n) = یک ماتریس m×n تصادفی تولید می کند که درایه های آن اعداد حقیقی هستند.
randint(m,n) = یک ماتریس m×n تصادفی تولید می کند که درایه های آن فقط 0 یا 1 هستند.
حال نویز را به سیستم خود افزودم برای هر حالت و نتایج را مشاهده و ثبت کردم. (R.8)
- در آزمایشات قبل یک بار سیگنال AM را تولید کردم. حال m.file خود را به نام
My_AM_Modulation ذخیره کردم.(R.9)
- حال خروجی m.file بالا را از کانال AWGN عبور دهید و m.file جدید را با عنوان My_Noisy_Signal ذخیره کنید.(R.10)
- حال ما دارای دو m.file هستیم یکی My_AM_Modulation و دیگری My_Noisy_Signal ، حال دو m.file را در یک m.file جدید فراخوانی کردم. و در این m.file به ورودی های آن مقدار دادم. اسم m.file جدید را ExeAmMODDEMOD نام گذاری کردم.(R.11)
- در آزمایش قبل فرض ما این بود که دامنه داده ی اصلی بین (-1,1) قرار دارد. حال برنامه ی خود را برای حالتی بازنویسی کردم که دامنه ی دیتا خارج از این محدوده باشد.این m.file جدید را به عنوان FinalAMMOD ذخیره کنید و دوباره مراحل 2و3 را برای این m.file اجرا کردم.(R.12)
به ماسربزنید:www.joyabargh.blogfa.com
مقدم شما عزیزان را به "جویابرق" ارج مینهیم ،این وبلاگ جهت "جستوجو "و ارائه مقالات وپروژهای علمی در زمینه "اقیانوس عظیم برق "درست گردیده ،تا هم اهالی این رشته بزرگ و مهم فنی و مهندسی از آن استفاده کنند .وهم از علم و تجارب استادان ،اندیشمندان،مهندسان،دانشجویان و کاربران این اقیانوس بزرگ بهره جست.در پایان "جویابرق"بیصبرانه منتظر نقطه نظرات و پیشنهادهای شما دوستان گرامی است .که موجب خوشحالی ما وتشکرازشما می گردد…!