در این قسمت ابتدا به پیادهسازی پروتکلهای ارتباطی مبتنی بر مدولاسیون آنالوگ پرداخته میشود سپس در ادامه به موضوع پیادهسازی پروتکلهای ارتباطی مبتنی بر مدولاسیونهای دیجیتال پرداخته میشود، نکتهای که وجود دارد تقریباً اکثر این پیادهسازیها بهصورت عملی قابلاجرا هستند و در بعضی از این پیادهسازیها نیز نوآوری رخداده است. در اولین مورد به پیادهسازی یک سیستم ارتباطی آنالوگ که مبتنی بر مدولاسیون AM میباشد، میپردازیم.
در ابتدا باید به این نکتهای توجه کرد که اکثر پیادهسازیهای که در این سایت انجام شده از لحاظ عملی کاربرد ندارد و باید تغییرات گستردهای انجام گیرد که برای شرایط عملی همانطور که در درس مخابرات 1 خواندهاید برای ارسال یک سیگنال به وسیله مدولاسیون AM باید از چنین فرمولی استفاده کرد:

نکتهای که وجود دارد این است که m (t) سیگنال پیام ما میباشد که میتواند یک سیگنال صوتی باشد، اما برای سادگی از یک سیگنال تک تن یا به عبارتی:
![]()
استفاده کردهایم.
بنابراین فرکانس سیگنال پیام ما برابر با 3000 هرتز و دامنه سیگنال پیام ما برابر با 4 میباشد.
اما نکتهای که وجود دارد، برای اینکه بتوانیم در گیرنده بهدرستی سیگنال ارسال شده را دومدوله کنیم باید همیشه:
![]()
باشد.
که به
![]()
پوش سیگنال میگویند. برای سادگی در نوشتار، به عبارتی باید:

بنابراین، مقدار
![]()
قرار دادهایم. شکل زیر فرستنده مدولاسیون AM را نشان میدهد.

شکل 1: فرستنده مدولاسیون AM وفتی که سیگنال پیام ما یک تک تن
همانطور که مشاهده میکنید مقدار نرخ نمونهبرداری برابر با 300 کیلوهرتز و فرکانس حامل نیز برابر با 40 کیلوهرتز میباشد. نکتهای که وجود دارد بعد از بلوک add const، ما با استفاده از دو بلوک Time sink و Frequency sink حوزه زمان و فرکانس پوش سیگنال را نمایش میدهیم و همانطور که مشاهده میکنید دامنه، در حوزه زمان بیشتر از صفر میباشد.

شکل 2: پوش حوزه زمان فرستنده مدولاسیون AM
و در ادامه حوزه فرکانس را مشاهده میکنید.

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

شکل 4: حوزه زمان مدولاسیون AM بعد از اعمال فرکانس حامل
و در ادامه حوزه فرکانس رو مشاهده خواهیم کرد.

شکل 5: حوزه فرکانس مدولاسیون AM بعد از اعمال فرکانس حامل
اکنون نوبت به گیرنده مدولاسیون AM میرسد. همانطور که ما با استفاده از یک سیگنال تک تن با فرکانس 40 کیلوهرتز سیگنال را از باند پایه به باند میانی ارسال کردهایم اکنون نیز عکس این کار را میکنیم، فقط نکتهای که وجود دارد این است که، باید آن را، این بار در فرکانس منفی 40 کیلوهرتز ضرب کنیم. اما نکتهای که وجود دارد در دنیای واقعی ما اسیلاتوری با فرکانس منفی 40 نداریم و باید در گیرنده نیز از یک اسیلاتور با فرکانس 40 کیلوهرتز استفاده کنیم و سپس با استفاده از یک Low pass filter سیگنالی که دارای فرکانس 80 کیلوهرتز است را حذف کنیم. اما چون در شرایط شبیهسازی هستیم و برای سادگیکار و هچنین چون در شرایط عملی این قسمت توسط Hack RF و RTL-SDR انجام میگیرد، آن را در فرکانس منفی 40 کیلوهرتز ضرب کردهایم. به بلوک دیاگرام گیرنده که در شکل زیر نشان داده شده است نگاه کنید.

شکل 6: گیرنده مدولاسیون AM
با استفاده از بلوک DC Blocker مقدار DC را حذف کرده؛ یعنی سیگنال تک تن که دارای فرکانس صفر میباشد را حذف میکنیم، بنابراین میتوان خروجی در حوزه فرکانس را بهصورت زیر مشاهده کرد.

شکل 7: حوزه فرکانس گیرنده مدولاسیون AM و استخراج پیام فرستنده
در ادامه بلوک دیاگرام فرستنده و گیرنده را به طور کامل مشاهده خواهیم کرد.

شکل 8: فرستنده و گیرنده مدولاسیون AM
اگر دقت کنید در شکل فوق خروجی حوزه زمان سیگنال پیام فرستنده را با خروجی گیرنده در حالتی که دمودلاسیون رخداده است را میخواهیم مقایسه کنیم که بهصورت زیر میباشد.

شکل 9: مقایسهای بین حوزه زمان سیگنال تک تن ارسال شده توسط فرستنده و سیگنال تک تن دریافت شده توسط گیرنده
و وقتی من مقدار delay برابر با 38 قرار دادهام دو سیگنال دقیقا رو هم قرار میگیرند.

شکل 10: مقایسهای بین حوزه زمان سیگنال تک تن ارسال شده توسط فرستنده و سیگنال تک تن دریافت شده توسط گیرنده بعد از اعمال بلوک Delay در گیرنده
دلیل قراردادن بلوک delay این میباشد که بین فرستنده و گیرنده در هنگام پردازش تأخیر وجود دارد و با ایجاد تأخیر در فرستنده دو سیگنال رویهم قرار میگیرند. پارامتری که در بلوک Delay وجود دارد برحسب sample میباشد، البته قرار دادن Delay جز حیاتی نمیباشد و فقط برای این قرار داده شده است که کسی که دارد این مطلب را مطالعه میکند متوجه بشود دادههای ارسالی و دریافتی دقیقاً یکسان است.
در این پیادهسازی سیگنال پیام ما یک سیگنال تک تن بود، در ادامه میخواهیم یک سیگنال صوتی که دارای نرخ نمونهبرداری 48 کیلوهرتز میباشد را بهعنوان سیگنال پیام انتخاب کنیم. نکتهای که وجود دارد در مثال قبل سیگنال پیام انتخاب شده توسط ما داری فرکانس 3 کیلوهرتز بود و فرکانس سیگنال حامل نیز برابر با 40 کیلوهرتز بود؛ بنابراین باید حداقل نرخ نمونهبرداری برابر با 80 کیلوهرتز باشد که نرخ نمونهبرداری ما هم برای سیگنال پیام و هم برای سیگنال حامل برابر با 300 کیلوهرتز بود؛ بنابراین مشکلی وجود نداشت.
اما در حالتی که سیگنال پیام ما یک صوت با نرخ نمونهبرداری 48 کیلوهرتز و سیگنال حامل ما فرکانس آن 100 کیلوهرتز باشد باید حداقل نرخ نمونهبرادری سیگنال حامل 200 کیلوهرتز باشد و وقتی که بخواهیم سیگنال پوش را در سیگنال حامل ضرب کنیم باید نرخ نمونه برداری سیگنال پیام با نرخ نمونهبرداری سیگنال حامل برابر باشد به همین دلیل باید از بلوکی به نام rational resampler استفاده کنیم که نرخ نمونهبرداری سیگنال پیام را با نرخ نمونهبرداری سیگنال حامل برابر کند در مثال زیر نرخ نمونهبرداری انتخاب شده یک مگاهرتز میباشد.
فرستنده در GNU radio بهصورت زیر پیادهسازی شده است.

شکل 11: فرستنده مدولاسیون AM وقتی که سیگنال پیام ما یک سیگنال صوتی میباشد
همانطور که در شکل فوق مشاهده میکنید در ابتدا حوزه فرکانس سیگنال پیام خود را که یک سیگنال صوتی میباشد را با استفاده از بلوک Frequency Sink که نام آن frequency message میباشد را مشاهده میکنیم دلیل این کار این میباشد که میخواهیم پهنای باند سیگنال پیام خود را بدانیم که در آینده به آن نیاز داریم، هم اکنون در شکل زیر حوزه فرکانس سیگنال پیام را مشاهده میکنید.

شکل 12: حوزه فرکانس سیگتال صوتی که سیگنال پیام ما میباشد.
همانطور که مشاهده میکنید پهنای باند سیگنال پیام ما برابر با 19 کیلوهرتز است و چون سیگنال پیام ما یک سیگنال حقیقی میباشد دارای تقارن زوج است. در ادامه با استفاده از بلوک add const و multiply const عملیات مدولاسیون را انجام میدهیم نکتهای که وجود دارد مقدار را برابر با 0.9 قرار دادهایم و شما باید مقداری را انتخاب کنید که شرط:
![]()
برقرار باشد.
اکنون باید نرخ نمونهبرداری را افزایش دهیم برای این کار از بلوک rational resampler استفاده میکنیم و با استفاده از فرمول زیر نرخ نمونهبرداری را افزایش میدهیم.

نکتهای که وجود دارد دو پارامتر interpolation و decimation باید مقدار صحیح داشته باشند، اما در این بلوک چه اتفاقی میافتد، فرض کنید برای سادگی کار ما میخواهیم نرخ نمونهبرداری خروجیمان برابر با 480 کیلوهرتز باشد بنابراین مقدار interpolation برابر با 10 قرار میدهیم، این یعنی این که به ازای هر نمونه، 9 نمونه دیگر که دارای مقدار صفر هستند اضافه کنیم اما نکتهای که وجود دارد بعد از اضافه شده صفر در این بلوک، سیگنال را از یک فیلتر عبور داده میشود تا دادهها خروجی ما هموار یا به عبارتی نرم شوند. انجام این کار در حوزه فرکانس باعث ایجاد تصاویر طیفی میشود مانند شکل زیر:

شکل 13: تاثیر افزایش نرخ نمونهبرداری بر طیف
بهعبارتدیگر اگر مقدار interpolation برابر با 10 و مقدار decimation برابر با یک باشد در فرکانسهای:
![]()
طیف به صورت ضعیفتر تکرار میشود مانند شکل زیر:

شکل 14: تاثیر افزایش نرخ نمونهبرداری بر طیف مدولاسیون AM
بنابراین، برای حذف این تصاویر طیفی از یک low pass filter که دارای فرکانس قطع 19 کیلوهرتز میباشد، استفاده شده است. شکل زیر خروجی low pass filter و rational resampler را نشان میدهد و به نوعی آنها را با هم مقایسه میکند.

شکل 15: مقایسهای بین اعمال Low pass filter بعد از افزایش نرخ نمونهبرداری با زمانی که از low pass filter استفاده نکردهایم.
در نهایت خروجی حوزه فرکانس را مشاهده میکنید.

شکل 16: طیف فرکانسی خروجی فرستنده مدولاسیون AM
اما وقتی که میخواهیم نرخ نمونهبرداری را کاهش دهیم یا به عبارتی میخواهیم برخی از نمونهها را در حوزه زمان حذف کنیم، فرض کنید که نرخ نمونهبرداری ما یک مگاهرتز باشد و میخواهیم نرخ نمونه برداری به 200 کیلوهرتز کاهش دهیم در این صورت باید قبل از کاهش نرخ نمونهبرداری یک Low Pass Filter قرار دهیم که دارای فرکانس قطع 100 کیلوهرتز میباشد. عدم انجام این کار باعث ایجاد aliasing میشود.
در ادامه گیرنده مدولاسیون AM، نیز آورده شده است که نیاز به توضیح خاصی ندارد.

شکل 17: گیرنده مدولاسیون AM زمانی که سیگنال پیام فرستاده شده یک سیگتال صوتی میباشد.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.