آموزش پیاده‌سازی مدولاسیون AM در GNU Radio (فرستنده و گیرنده)

14 بازدید
۱۴۰۴-۱۲-۰۳
9 دقیقه
  • نویسنده: milad seif
  • درباره نویسنده: ---

در این قسمت ابتدا به پیاده‌سازی پروتکل‌های ارتباطی مبتنی بر مدولاسیون آنالوگ پرداخته می‌شود سپس در ادامه به موضوع پیاده‌سازی پروتکل‌های ارتباطی مبتنی بر مدولاسیون‌های دیجیتال پرداخته می‌شود، نکته‌ای که وجود دارد تقریباً اکثر این پیاده‌سازی‌ها به‌صورت عملی قابل‌اجرا هستند و در بعضی از این پیاده‌سازی‌ها نیز نوآوری رخ‌داده است. در اولین مورد به پیاده‌سازی یک سیستم ارتباطی آنالوگ که مبتنی بر مدولاسیون AM می‌باشد، می‌پردازیم.

پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

در ابتدا باید به این نکته‌ای توجه کرد که اکثر پیاده‌سازی‌های که در این سایت انجام شده از لحاظ عملی کاربرد ندارد و باید تغییرات گسترده‌ای انجام گیرد که برای شرایط عملی همان‌طور که در درس مخابرات 1 خوانده‌اید برای ارسال یک سیگنال به وسیله مدولاسیون AM باید از چنین فرمولی استفاده کرد:

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

نکته‌ای که وجود دارد این است که m (t) سیگنال پیام ما می‌باشد که می‌تواند یک سیگنال صوتی باشد، اما برای سادگی از یک سیگنال تک تن یا به عبارتی:

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

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

بنابراین فرکانس سیگنال پیام ما برابر با 3000 هرتز و دامنه سیگنال پیام ما برابر با 4 می‌باشد.

اما نکته‌ای که وجود دارد، برای اینکه بتوانیم در گیرنده به‌درستی سیگنال ارسال شده را دومدوله کنیم باید همیشه:

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

باشد.

که به

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

پوش سیگنال می‌گویند. برای سادگی در نوشتار، به عبارتی باید:

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

بنابراین، مقدار

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

قرار داده‌ایم. شکل زیر فرستنده مدولاسیون AM را نشان می‌دهد.

فرستنده مدلاسیون AM

شکل ‏1: فرستنده مدولاسیون AM وفتی که سیگنال پیام ما یک تک تن

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

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

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

تحلیل طیف فرکانسی در فرستنده AM

و در ادامه حوزه فرکانس را مشاهده می‌کنید.

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

شکل ‏3: پوش حوزه فرکانس مدولاسیون AM

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

حوزه زمان مدلاسیون AM بعد از اعمال فرکانس حامل

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

و در ادامه حوزه فرکانس رو مشاهده خواهیم کرد.

حوزه فرکانس مدلاسیون AM بعد از اعمال فرکانس حامل

شکل ‏5: حوزه فرکانس مدولاسیون AM بعد از اعمال فرکانس حامل

طراحی گیرنده AM و چالش‌های پیاده‌سازی عملی

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

گیرنده مدلاسیون AM

شکل ‏6: گیرنده مدولاسیون AM

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

حوزه فرکانس گیرنده مدلاسیون AM و استخراج پیام فرستنده

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

در ادامه بلوک دیاگرام فرستنده و گیرنده را به طور کامل مشاهده خواهیم کرد.

فرستنده و گیرنده مدلاسیون AM

شکل 8: فرستنده و گیرنده مدولاسیون AM

جبران تأخیر (Delay) بین فرستنده و گیرنده

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

مقایسه‌ای بین حوزه زمان سیگنال تک تن ارسال شده توسط فرستنده و سیگنال تک تن دریافت شده توسط گیرنده

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

و وقتی من مقدار delay برابر با 38 قرار داده‌ام دو سیگنال دقیقا رو هم قرار می‌گیرند.

مقایسه‌ای بین حوزه زمان سیگنال تک تن ارسال شده توسط فرستنده و سیگنال تک تن دریافت شده توسط گیرنده بعد از اعمال بلوک Delay در گیرنده

شکل ‏10: مقایسه‌ای بین حوزه زمان سیگنال تک تن ارسال شده توسط فرستنده و سیگنال تک تن دریافت شده توسط گیرنده بعد از اعمال بلوک Delay در گیرنده

دلیل قراردادن بلوک delay این می‌باشد که بین فرستنده و گیرنده در هنگام پردازش تأخیر وجود دارد و با ایجاد تأخیر در فرستنده دو سیگنال روی‌هم قرار می‌گیرند. پارامتری که در بلوک Delay وجود دارد برحسب sample می‌باشد، البته قرار دادن Delay جز حیاتی نمی‌باشد و فقط برای این قرار داده شده است که کسی که دارد این مطلب را مطالعه می‌کند متوجه بشود داده‌های ارسالی و دریافتی دقیقاً یکسان است.

شاید برای شما مفید باشد:
میکروکنترلر ARM را چطور پروگرام کنیم ؟

پیاده‌سازی مدولاسیون AM با سیگنال صوتی واقعی

در این پیاده‌سازی سیگنال پیام ما یک سیگنال تک تن بود، در ادامه می‌خواهیم یک سیگنال صوتی که دارای نرخ‌ نمونه‌برداری 48 کیلوهرتز می‌باشد را به‌عنوان سیگنال پیام انتخاب کنیم. نکته‌ای که وجود دارد در مثال قبل سیگنال پیام انتخاب شده توسط ما داری فرکانس 3 کیلوهرتز بود و فرکانس سیگنال حامل نیز برابر با 40 کیلوهرتز بود؛ بنابراین باید حداقل نرخ نمونه‌برداری برابر با 80 کیلوهرتز باشد که نرخ نمونه‌برداری ما هم برای سیگنال پیام و هم برای سیگنال حامل برابر با 300 کیلوهرتز بود؛ بنابراین مشکلی وجود نداشت.

اما در حالتی که سیگنال پیام ما یک صوت با نرخ نمونه‌برداری 48 کیلوهرتز و سیگنال حامل ما فرکانس آن 100 کیلوهرتز باشد باید حداقل نرخ نمونه‌برادری سیگنال حامل 200 کیلوهرتز باشد و وقتی که بخواهیم سیگنال پوش را در سیگنال حامل ضرب کنیم باید نرخ نمونه برداری سیگنال پیام با نرخ نمونه‌برداری سیگنال حامل برابر باشد به همین دلیل باید از بلوکی به نام rational resampler استفاده کنیم که نرخ نمونه‌برداری سیگنال پیام را با نرخ ‌نمونه‌برداری سیگنال حامل برابر کند در مثال زیر نرخ‌ نمونه‌برداری انتخاب شده یک مگاهرتز می‌باشد.

فرستنده در GNU radio به‌صورت زیر پیاده‌سازی شده است.

طراحی فرستنده صوتی AM

فرستنده مدلاسیون AM وقتی که سیگنال پیام ما یک سیگنال صوتی می‌باشد

شکل ‏11: فرستنده مدولاسیون AM وقتی که سیگنال پیام ما یک سیگنال صوتی می‌باشد

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

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

شکل ‏12: حوزه فرکانس سیگتال صوتی که سیگنال پیام ما می‌باشد.

همان‌طور که مشاهده می‌کنید پهنای باند سیگنال پیام ما برابر با 19 کیلوهرتز است و چون سیگنال پیام ما یک سیگنال حقیقی می‌باشد دارای تقارن زوج است. در ادامه با استفاده از بلوک add const و multiply const عملیات مدولاسیون را انجام می‌دهیم نکته‌ای که وجود دارد مقدار  را برابر با 0.9 قرار داده‌ایم و شما باید مقداری را انتخاب کنید که شرط:

آموزش پیاده‌سازی مدولاسیون AM در GNU Radio (فرستنده و گیرنده)

برقرار باشد.

نقش بلوک Rational Resampler و فیلترها

اکنون باید نرخ نمونه‌برداری را افزایش دهیم برای این کار از بلوک rational resampler استفاده می‌کنیم و با استفاده از فرمول زیر نرخ نمونه‌برداری را افزایش می‌دهیم.

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

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

تاثیر افزایش نرخ نمونه‌برداری بر طیف

شکل ‏13: تاثیر افزایش نرخ نمونه‌برداری بر طیف

به‌عبارت‌دیگر اگر مقدار interpolation برابر با 10 و مقدار decimation برابر با یک باشد در فرکانس‌های:

فرمول های پیاده‌سازی فرستنده و گیرنده آنالوگ، مبتنی بر مدولاسیون AM

طیف به صورت ضعیف‌تر تکرار می‌شود مانند شکل زیر:

تاثیر افزایش نرخ نمونه‌برداری بر طیف مدلاسیون AM

شکل 14: تاثیر افزایش نرخ نمونه‌برداری بر طیف مدولاسیون AM

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

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

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

در نهایت خروجی حوزه فرکانس را مشاهده می‌کنید.

طیف فرکانسی خروجی فرستنده مدلاسیون AM

شکل ‏16: طیف فرکانسی خروجی فرستنده مدولاسیون AM

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

در ادامه گیرنده مدولاسیون AM، نیز آورده شده است که نیاز به توضیح خاصی ندارد.

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

شکل ‏17: گیرنده مدولاسیون AM زمانی که سیگنال پیام فرستاده شده یک سیگتال صوتی می‌باشد.

اطلاعات
14
0
0
اشتراک و حمایت
profile نویسنده: milad seif متخصص الکترونیک

ویراستار: مریم میریان
مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

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

ارسال مقاله
become a writer
نویسنده شو !

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

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

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

ارسال مقاله
become a writer
نویسنده شو !

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

ارسال مقاله