ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

  • جمعه ۱۷ تیر ۱۴۰۱
  • بازدید ۲۰۶ نفر

تصویر generate-wireless-waveform-simulink-matlab_5224_1 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در Simulink متلب

در این مقاله آموزشی متلب مثال پیش رو نحوه پیکربندی و استفاده از بلوک هایی که در برنامه Wireless Waveform Generator برای شبیه سازی سیستم های ارتباطات مخابراتی وجود دارد را نشان می دهد که با استفاده از قابلیت Export to Simulink ایجاد می شود.

مقدمه

برنامه Wireless Waveform Generator یک ابزار تعاملی برای ایجاد، تداخل، تجسم و خروجی گرفتن شکل موج است. شما می توانید شکل موج (Waveform) را به فضای کاری خود انتقال داده یا با فرمت mat و bb از آن خروجی بگیرید. همچنین می توانید پارامتر های تولید شکل موج را به یک اسکریپت متلب قابل اجرا یا یک بلوک Simulink انتقال بدهید. همینطور از بلوک سیمولینک انتقال یافته برای بازتولید شکل موج خود در سیمولینک استفاده کنید. این مثال نحوه استفاده از قابلیت Export to Simulink برنامه و نحوه پیکربندی بلوک انتقال یافته برای تولید شکل موج در محیط Simulink را نشان می دهد. اگرچه این مثال بر انتقال یک شکل موج OFDM تمرکز دارد، اما فرآیند مشابه برای همه انواع شکل موج پشتیبانی شده اعمال می شود.

پیکربندی انتقال شکل موج بی سیم به Simulink

برنامه Wireless Waveform Generator را با کلیک کردن بر روی نماد برنامه در تب Apps، در بخش پردازش سیگنال و ارتباطات، باز کنید. همچنین، عبارت wirelessWaveformGenerator را در خط فرمان MATLAB وارد کنید. در قسمت Waveform Type با کلیک بر روی OFDM یک شکل موج OFDM را انتخاب کنید. در سمت چپ برنامه، پارامتر های پیکربندی را برای شکل موج انتخابی تنظیم کنید. سپس با کلیک بر روی Export در نوار ابزار برنامه و انتخاب Export to Simulink، پیکربندی را انتقال دهید.

تصویر generate-wireless-waveform-simulink-matlab_5224_2 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

گزینه Export to Simulink یک بلوک Simulink ایجاد می کند که هنگام اجرای مدل Simulink شکل موج انتخاب شده را در خروجی نشان می دهد. اگر مدل باز وجود نداشته باشد، بلوک به یک مدل جدید انتقال پیدا می کند.

تصویر generate-wireless-waveform-simulink-matlab_5224_3 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

شکل خروجی بعد از مقدار داده نهایی توسط پارامتر بلوک، خروجی را پس از تولید تمام نمونه سیگنال های تعیین شده مشخص می کند. گزینه های مقدار برای این پارامتر تکرار و تعیین صفر است. گزینه Cyclic repetition سیگنال را از ابتدا پس از رسیدن به آخرین نمونه در سیگنال تکرار می کند. گزینه Setting to zero خروجی هایی با ارزش صفر را برای مدت زمان شبیه سازی پس از تولید آخرین شکل سیگنال تولید می کند. نرخ نمونه شکل موج (Fs) و پارامتر های بلوک طول شکل موج از پیکربندی شکل موجی که در تب Initialization در کادر محاوره ‌ای Mask Editor وجود دارد، به دست می آید. برای اطلاعات بیشتر در مورد پارامترهای بلوک، به مقاله آموزشی برنامه Waveform From Wireless Waveform Generator مراجعه کنید. این شکل پارامترهای بلوک انتقال یافته را نشان می دهد.

تصویر generate-wireless-waveform-simulink-matlab_5224_4 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

یک بلوک Spectrum Analyzer را به بلوک انتقال یافته وصل کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_5 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

مدل را برای تجسم شکل موج با استفاده از پیکربندی فعلی شبیه سازی کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_6 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

بلوک Spectrum Analyzer پارامتر نرخ نمونه شکل موج را به ارث می برد که 64 مگاهرتز است.

تغییر پیکربندی شکل موج بی سیم

هنگامی که مدل Simulink را اجرا می کنید، بلوک انتقال یافته شکل موج تولید شده در تب Initialization و کادر محاوره ای Mask Editor برای بلوک را فراهم می کند. کد MATLAB که شکل موج را در این برگه مقداردهی اولیه می کند، مطابق با پیکربندی است که در برنامه Wireless Waveform Generator قبل از انتقال بلوک انتخاب کرده اید. برای تغییر پیکربندی شکل موج، یکی از این گزینه ها را انتخاب کنید:

  • برنامه Wireless Waveform Generator را باز کنید، پیکربندی مورد نظر خود را انتخاب کرده و یک بلوک جدید را انتقال دهید. این گزینه تعامل با رابط برنامه را به جای کد متلب، اعتبار سنجی محدوده پارامتر در طول فرآیند پارامترسازی، و تجسم شکل موج قبل از اجرای مدل Simulink را فراهم می کند.
  • پارامترهای پیکربندی موجود در برگه Initialization و کادر محاوره ای Mask Editor بلوک صادر شده را به روز کنید. این گزینه نیاز به تغییر کد MATLAB موجود در این تب دارد تا اعتبار دامنه پارامتر تنها زمانی رخ دهد که تغییرات را اعمال کنید. این گزینه تجسم شکل موج را قبل از اجرای مدل سیمولینک ارائه نمی دهد. اگر با کد متلب که شکل موج انتخاب شده را تولید می کند، آشنایی ندارید، تغییر پارامترهای شکل موج با استفاده از این گزینه توصیه نمی شود.
  • اگر با استفاده از زبانه Initialization پیکربندی را انتخاب کنید، می توانید با کلیک روی بلوک exported آن را باز کنید، سپس کلید Ctrl+M را فشار دهید تا ادیتور باکس را باز کند و سپس بر روی تب Initialization کلیک کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_7 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

از کد MATLAB که در تب Initialization موجود است برای به روز رسانی پارامترهای انتخابی خود استفاده کنید. به عنوان مثال، فاصله حامل فرعی، scs را روی 1.500.000 هرتز تنظیم کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_8 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

برای اعمال تغییرات روی OK کلیک کنید و کادر محاوره ای Mask Editor را ببندید. مدل را برای تجسم شکل موج به روز شده شبیه سازی کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_9 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

بلوک Spectrum Analyzer اکنون نرخ نمونه 96 مگاهرتز را نشان می دهد که همان طور که انتظار می رفت 1.5 برابر نرخ نمونه قبلی است.

اشتراک گذاری پیکربندی شکل موج بی سیم

در این بخش می توانید پیکربندی شکل موج بی سیم را با بلوک های دیگر در مدل به اشتراک بگذارید. برای دسترسی به پارامترهای بلوک فقط خواندنی و پارامترهای پیکربندی شکل موج، از ویژگی بلوک مشترک UserData استفاده کنید که ساختاری با این فیلدها است.

  • پیکربندی شکل موج (WaveformConfig)
  • طول شکل موج (WaveformLength)
  • نرخ نمونه شکل موج (Fs)

با استفاده از تابع get_param می توانید به داده های کاربر بلوک انتقال یافته دسترسی داشته باشید.

ans =

struct with fields:

WaveformConfig: [1×1 comm.OFDMModulator]
WaveformLength: 8000
Fs: 96000000

ساختار موجود در داده های کاربر را در یک متغیر فضای کاری پایه با استفاده از InitFcn در قسمت callback ذخیره کنید. قسمت InitFcn از callback در طول به روز رسانی و شبیه سازی مدل اجرا می شود. برای استفاده از این فراخوان، روی تب MODELING کلیک کنید، سپس روی منوی کشویی تنظیمات مدل کلیک کنید و گزینه Model Properties را کلیک کنید. در قسمت Callbacks، InitFcn Callback را انتخاب کنید. داده های کاربر را به یک متغیر فضای کاری پایه جدید (مثلا cfg) اختصاص دهید.

تصویر generate-wireless-waveform-simulink-matlab_5224_10 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

هر بار که تغییرات پیکربندی را در تب Initialization اعمال می کنید، پارامترهایی که در بخش یوزر دیتای بلوک انتقال یافته وجود دارد، به روز می شوند. برای تغییر شکل موج OFDM ، یک بلوک Demodulator OFDM به مدل اضافه کنید. یک بلوک کانال AWGN را بین بلوک های OFDM Waveform Generator و OFDM Demodulator وصل کنید تا نویز سفید گاوسی را به سیگنال ورودی اضافه کنید. همچنین یک بلوک نمودار صورت فلکی را برای رسم نمادهای دمودوله شده اضافه کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_11 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

پارامترهایی که برای پیکربندی بلوک Demodulator OFDM مورد نیاز هستند باید با پارامترهایی که برای پیکربندی بلوک انتقال داده شده استفاده می شوند مطابقت داشته باشند (در غیر این صورت، دمدولاسیون با شکست مواجه می‌شود). برای دسترسی به پارامترهای پیکربندی بلوک انتقال یافته شده، از متغیر cfg استفاده کنید. این شکل پارامترهای بلوک OFDM Demodulator را نشان می دهد.

تصویر generate-wireless-waveform-simulink-matlab_5224_12 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

از آنجایی که بلوک OFDM Demodulator به کل شکل موج OFDM برای دمودولاسیون نیاز دارد، پارامتر Samples per frame در بلوک انتقال یافته را روی cfg.WaveformLength تنظیم کنید و سپس مدل را شبیه سازی کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_13 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

پس از تغییر شکل موج OFDM با استفاده از بلوک OFDM Demodulator، بلوک Constellation Diagram نمادهای QAM حاصل را نمایش می دهد.

ایجاد شکل موج های چند حامل

برای تولید شکل موج چند حامل، نرخ نمونه برداری باید برای همه شکل موج ها یکسان باشد. برای تغییر شکل موج ها به یک افست حامل و تجمیع آنها، می توانید از بلوک Multiband Combiner استفاده کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_14 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

برای جابجایی شکل موج در فرکانس، ممکن است مجبور باشید نرخ های نمونه برداری را افزایش دهید. بلوک Multiband Combiner این امکان را فراهم می کند که شکل موج های ورودی را قبل از جابجایی و ترکیب آنها بیش از حد نمونه برداری کنید. این شکل پارامترهای بلوک Multiband Combiner را نشان می دهد.

تصویر generate-wireless-waveform-simulink-matlab_5224_15 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

مدل را برای تجسم شکل موج هایی که در 80-، 20 و 100 مگاهرتز در مرکز هستند شبیه سازی کنید.

تصویر generate-wireless-waveform-simulink-matlab_5224_16 ایجاد شکل موج بی سیم برای ارتباطات مخابراتی در سیمولینک MATLAB

نکته پایانی: این مقاله آموزشی MATLAB از مثال های آماده خود نرم افزار MATLAB است که اگر سیمولینک و تولباکس ارتباطات (Communications Toolbox) بر روی متلب شما نصب باشد، می توانید با تایپ دستور زیر در پنجره کامند متلب به این مدل دسترسی داشته باشید.

منبع: mathworks

 

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است