28دنبال کننده
به نام خدا
این کانال برای آموزش SDR تاسیس شده است.
جهت ارتباط:
@seif_SDR
مشاهده کانال پیام‌رسان
دانلود روبیکا
۱۲ فروردین
SDR
SDR
به نام خدا

سلام وقتتون بخیر

در این قسمت علاوه بر preamble از postamble نیز برای تشخیص شروع فریم استفاده شده است.

قسمت هفدهم مخابرات در پایتون

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۲ فروردین
SDR
SDR
به نام خدا

سلام وقتتون بخیر

در این قسمت به روش دیگری پرداخته شده است برای حذف افست فرکانسی با استفاده از preamble و postamble و میتوان از این روش در کنار روش قبلی گفته شده نیز استفاده کرد.

به نوعی مکمل یکدیگر هستند.

قسمت هجدهم مخابرات در پایتون

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۲ فروردین
SDR
SDR
به نام خدا

سلام وقتتون بخیر

در این قسمت به موضوع افست زمانی پرداخته شده است.

نکته ای که وجود دارد افست زمانی از دو قسمت تشکیل شده است:
افست زمانی fractional و افست زمانی integer
نکته‌ای که وجود دارد برای حذف افست فرکانسی fractional باید در ابتدا عملیات oversampling انجام داد.
و در صورتی که به صورت real time در حال ارسال داده باشیم حتما برای دریافت درست داده باید این کار روچا انجام بدهیم.


قسمت نوزدهم مخابرات در پایتون

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۲ فروردین
SDR
SDR
به نام خدا

سلام وقتتون بخیر

این قسمت ادامه دهنده جلسه قبل است یعنی موضوع افست زمانی fractional.

قسمت بیستم مخابرات در پایتون

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۶ فروردین
SDR
SDR
Please open Rubika to view this post
VIEW IN RUBIKA
۱۶ فروردین
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

امروز به یک مطلب خیلی جذاب در نظر خودم برخورد کردم. برای synchronization فرستنده و گیرنده یکی از حالات که در ویدیو‌های فوق گفته شده بود استفاده از یک دنباله شناخته شده مانند preamble بوده است.

اما در متن فوق می‌گوید اگر مقدار CFO یا افست فرکانسی Carrier یک مقدار معیین باشد با افزایش مقدار N، به دست آوردن پیک سیگنال سخت می‌شود بنابراین افزایش مقدار طول preamble می‌تواند دردسر ساز شود.

یکی از راه‌ حل‌های پیشنهادی این مقاله استفاده از sub correlation یا
partial correlation یا correlation window division algorithm استفاده می‌شود.
و در صورتی هم که طول preamble خیلی کوتاه در نظر گرفته شود، منجر به این می‌شود که الگوهای دیگری در سیگنال دریافتی به اشتباه به عنوان شروع فریم شناسایی شوند (هشدار کاذب).

مقاله مورد نظر:
An Improved Frame Synchronization Method Based on Correlation Window Division

کانال آپارات:
https://www.aparat.com/miladseif13760806
و در نهایت:

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۷ فروردین
SDR
SDR
به نام خدا

مقاله رو خوندم و تموم شد.
نتایج شبیه‌سازی نشان می‌دهد که وقتی از sub-correlation استفاده میشه در مقابل افست فرکانسی مقاوم‌تر هستیم.

نکته:
اپسیلون نماینده افست فرکانسی است.


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۷ فروردین
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

بعد از گذشت ۲۰ قسمت اکنون نوبت این رسیده است که یک لینک مخابراتی را به صورت real time پیاده‌سازی کنیم.

در این لینک از مدولاسیون BPSK استفاده شده است و فرستنده ما در محیط GNU radio و با استفاده از Hack RF ارسال داده انجام شده است.


گیرنده نیز در محیط pycharm و با استفاده از RTL SDR دریافت داده را انجام داده ایم.

در این قسمت و دو قسمت آینده با توجه به مطالب synchronization که خواندیم توانستیم داده را به درستی دریافت کنیم.

در صورت سرعت پایین دانلود میتوانید به کانال آپارات مراجعه کنید

https://www.aparat.com/miladseif13760806

قسمت بیست و یکم مخابرات در پایتون


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۷ فروردین
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

ادامه قسمت قبل پیاده‌سازی فرستنده و گیرنده مخابراتی به صورت real time

قسمت بیست و دوم مخابرات در پایتون


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۷ فروردین
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

ادامه قسمت قبل پیاده‌سازی فرستنده و گیرنده مخابراتی به صورت real time

قسمت بیست و سوم مخابرات در پایتون


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۰ اردیبهشت
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

امروز سه الگوریتم Timing recovery رو می‌خواهم با هم مقایسه کنیم.

zero crossing

اولین الگوریتم الگوریتم Zero crossing یا به عبارتی ZC می‌باشد این الگوریتم به علت محدودیت‌های که دارد معمولا نباید استفاده بشود اولین مشکل آن این است که در حضور Carrier phase مقاوم نیست و باعث ایجاد نتایج اشتباه می‌شود و نکته‌ای که وجود دارد این است که حتما باید sample per symbol بزرگتر یا مساوی 2 باشد.


Gardner

دومین الگوریتم الگوریتم Gardner ‌می‌باشد، این الگوریتم در حضور carrier phase می‌تواند عملیات timing recovery را انجام بدهد. و در شرایطی کار می‌کند که sample per symbol حداقل 2 باشد. این الگوریتم برای timing recovery مدولاسیون‌های BPSK و QPSK مناسب است البته نکته‌ای که وجود دارد این است که این الگوریتم زمانی خوب کار می‌کند که Roll of factor دارای مقدار بین 4. تا 1 باشد.


Müller and Mueller


یکی از بهترین الگوریتم‌ها Timing recovery می‌باشد البته نکته‌ای که وجود دارد در صورتی که مقدار roll of factor زیاد باشد به نتایج مناسبی نمی‌رسیم. همچنین مقدار sample per symbol نیز در صورتی که یک باشد این الگوریتم کار می‌کند اما به علت این که اطلاعات کمی در هر symbol برای تخمین خطا وجود دارد عملکرد آن ضعیف است.

برگرفته شده از کتاب:

Software-Defined Radio for Engineers

http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۰ اردیبهشت
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

در این قسمت به فرستنده direct sequence spread spectrum پرداخته شده است و به ویژگی های طیف گسترده DSSS نیز پرداخته شده.


قسمت اول پیاده‌سازی فرستنده و گیرنده direct sequence spread spectrum در پایتون



http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۰ اردیبهشت
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

در این قسمت فرستنده direct sequence spread spectrum تقریبا پیاده‌سازی شده است. از ویژگی های آن استفاده از مدولاسیون bpsk می باشد.
و دنباله chip استفاده شده دارای طول 256 و spreading factor یا SF نیز برابر با 16 می‌باشد.


قسمت دوم پیاده‌سازی فرستنده و گیرنده direct sequence spread spectrum در پایتون



http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۱۰ اردیبهشت
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

در این قسمت فرستنده direct sequence spread spectrum تقریبا پیاده‌سازی شده است.
در این قسمت به موضوع گیرنده به نیز ورود پیدا کردیم و مقایسه ای بین correlation و sub correlation انجام دادیم.

نکته ای که هست sub correlation در برابر CFO با به عبارتی افست فرکانسی مقاوم است.

قسمت سوم پیاده‌سازی فرستنده و گیرنده direct sequence spread spectrum در پایتون



http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۲۱ اردیبهشت
SDR
SDR
به نام خدا
سلام وقت همگی بخیر
در این قسمت سعی شده است قسمت فرستنده به Gnu radio منتقل شود به دلیل دسترسی به Hack RF و RTL-SDR، زیرا در قسمت‌های بعدی این تکنیک طیف گسترده به صورت عملی مورد تست قرار می‌گیرد.

قسمت چهارم: پیاده‌سازی direct sequence spread spectrum در پایتون


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۲۱ اردیبهشت
SDR
SDR
به نام خدا
سلام وقت همگی بخیر

در این قسمت به موضوع حذف افست فرکانسی درشت با استفاده از روش maximum likelihood پرداخته می‌شود. ولی از روش‌های می‌باشد که سربار محاسباتی بالایی دارد.

قسمت پنجم: پیاده‌سازی direct sequence spread spectrum در پایتون


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۲۱ اردیبهشت
SDR
SDR
.
Please open Rubika to view this post
VIEW IN RUBIKA
۲۱ اردیبهشت
SDR
SDR
به نام خدا
سلام وقت همگی بخیر

دو شکل فوق مقایسه‌ای بین استفاده از timing recovery می‌باشد با زمانی که از timing recovery استفاده نمی‌کنیم.

اختلاف مشهود است


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
۲۱ اردیبهشت
SDR
SDR
به نام خدا

سلام وقت همگی بخیر

گزارش کار

1405/02/20

شرایط آزمایش: در این آزمایش در حالت شبیه سازی شده از gnuradio استفاده شده است به همراه pycharm و نکته ای که وجود داشت در شرایط شبیه سازی از بلوک channel model با افست فرکانس ۱۱ کیلوهرتز استفاده شده است.

در شرایط عملی از سخت افزار های Pluto sdr و RTL-SDR استفاده شده است.

الگوریتم early late تحت دو شرایط تست شد.

در ابتدا به صورت شبیه سازی شده و سپس عملی تحت پروتکل direct sequence spread spectrum. نکته ای که وجود داشت در شرایطی شبیه سازی شده افست فرکانسی نیز شبیه سازی شد.


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

از دیگر نکاتی که باید مورد توجه قرار بگیرد این است قبلا بیان شد که الگوریتم zero crossing نسبت به CFO حساس است بنابراین این موضوع از chatgpt پرسیدم و گفت بله الگوریتم early late نیز نسبت به CFO حساس است.

و بهتر است از الگوریتم gardner استفاده کنی و یا Muller and Muller.

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


http://rubika.ir/Gnu_Radio
Please open Rubika to view this post
VIEW IN RUBIKA
28دنبال کننده
به نام خدا
این کانال برای آموزش SDR تاسیس شده است.
جهت ارتباط:
@seif_SDR
مشاهده کانال پیام‌رسان