به نام خدا
سلام وقت بخیر با توجه به پست قبلی و کد ارائه شده دربارهی timing recovery چند نکته وجود داشت وقتی که افست فرکانسی وجود ندارد همانطور که میبینید داده به درستی decode میشود.
اما وقتی که افست فرکانسی وجود دارد هر چند کم مثلا در این مثال 600 هرتز این افست مقدارش تغییر نمیکند ولی به تدریج باعث میشود فاز سیگنال به صورت خطی تغییر کند.
و اگر نگاه کنید در انجایی که داده ها به درستی decode نشدهاند داری یک الگوریتم مشخص هستند و آن این است که بیتهای decode شده دقیقا عکس بیت های اصلی هستند.
من نظرم این است که این تغییر فاز وقتی به 180 درجه میرسد این اتفاق میافتد الیته این نتیجه گیری رو خودم گرفتم و ممکن است اشتباه باشه و اگه کسی دلیلش رو میدونه ممنون میشم کمکم کنه تا دلیل اصلیش رو بدونم.
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر
به صورت کلی در ایتا و بله و تلگرام و روبیکا کانال sdr تشکیل شده است
البته با توجه به امکانات هر اپلیکشین ممکن است در برخی کانال ها مانند تلگرام مطلب خیلی بیشتری وجود داشته باشد.
کانال تلگرام: @sdr_two
کانال ایتا: @sdr_one
کانال بله و روبیکا: @gnu_radio
و در نهایت
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر در این قسمت با استفاده از Pluto SDR و RTL-SDR بر روی هوا یک تست عملی انجام دادیم.
https://www.aparat.com/v/dcu64kr
در یک مدولاسیون که شبیه bpsk است در ابتدا افست فرکانسی رو حذف کرده ولی خوب مقداری از اون باقی موند و سپس عملیات timing recovery انجام دادیم و سپس تعداد خطا ها رو مشاهده کردیم.
دفعه بعد اومدیم به بعد از ابن که افست فرکانسی برطرف کردیم یک PLL نیز قرار دادیم و خروجی کار به شدت بهتر شد.
اما دلیل بهتر شدن چیست؟
همانطور که گفته شد اگر #افست_فرکانس کوچیکی وجود داشته باشید این باعث #چرخش_فاز میشود.
و ما برای اصلاح آن از PLL استفاده کردیم.
https://eitaa.com/SDR_one
coding_hamming.zip
حجم:
1.5M
به نام خدا
سلام وقت همگی بخیر
در این فایل اومدیم و کدینگ همینگ رو به دو روش پیاده کردهایم یکی با استفاده از gnu radio و دیگری پایتون.
مرجع استفاده شده:
http://kcl.digimat.in/nptel/courses/video/108101373/L58.html
PDF مرجه نیز در فایل ZIP قرار داده شده است و در این پیادهسازی از Chat GPT نیز استفاده شده است.
در نهایت
https://eitaa.com/SDR_one
به نام خدا سلام وقت همگی بخیر
پیادهسازی CDMA در لینک زیر:
https://www.aparat.com/v/pmb45sa
در جلسه گذشته به موضوع پیادهسازی direct sequence spread spectrum پرداختم در این قسمت دو کاربر با متنهای متفاوت و دنباله chipهای متفاوت عملیات CDMA را انجام دادند.
نکته دو کاربر در اصل با استفاده از یک Hack RF داده ارسال کردهاند و با استفاده از RTL-SDR داده دریافت کردهاند.
نکته این پیادهسازی هنوز جای کار دارد.
#قسمتدهم: پیادهسازی direct sequence spread spectrum در پایتون
و در نهایت
https://eitaa.com/SDR_one
12.9M حجم رسانه بالاست
مشاهده در ایتا
به نام خدا
سلام وقت همگی بخیر
#پیشنمایش
پیادهسازی مدولاسیون #8PSK با استفاده از Hack RF و RTL-SDR به صورت Real time.
ان شاءالله در ادامه این مدولاسیون به صورت کامل پیادهسازی میشود. در این پیادهسازی از Preamble، Postamble و Pilot استفاده شده است، برای اینکه بتوان دادهها را در گیرنده بازیابی کرد.
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر
پیش نمایش: پیادهسازی مدولاسیون 16-QAM با استفاده از Hack RF و RTL-SDR
در این پیادهسازی به عنوان مثال تاثیر scrambler در مدولاسیون 16-QAM نشان داده شده در این پیادهسازی هنگام وجود Scrambler، نقاط constellation تقریبا ثابت هستند ولی در هنگام نبود scrambler چرخش و به نوعی به هم ریختگی وجود دارد.
لینک ویدیو در آپارات:
https://www.aparat.com/v/vcm9629?refererRef=channel_page
کانال تلگرام و بله:
https://t.me/SDR_two
http://ble.ir/gnu_radio
نظر من این است که وقتی از scrambler استفاده میشود بیتهای صفر و یک پشت سرهم از بین میرود و در گیرنده در timing recovery و carrier recovery صفر و یک پشت سرهم باعث عدم همگرایی میشود.
البته ممکنه اشتباه کنم.
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر
در سه قسمت زیر با استفاده از محیط PyCharm و Gnu radio یک فرستنده و گیرنده برای مدولاسیون #8PSK پیادهسازی شد. نکته ای که وجود دارد فرستنده Hack RF و گیرنده RTL SDR میباشد ان شاءالله در آینده قسمت Timing recovery و carrier recovery و AGC به محیط PyCharm منتقل میشود برای درک بهتر.
قسمت اول:
در این قسمت به پیادهسازی فرستنده مدولاسیون 8psk پرداختهایم در این ویدیو ابتدا ساختار burst مورد بررسی قرار گرفت و از دادههای کمکی مانند preamble و pilot و postamble استفاده شد. در این ویدیو در محیط PyCharm این کارها را انجام دادهایم.
https://www.aparat.com/v/wpw7m27
قسمت دوم:
در این ویدیو با استفاده از gnu radio در سمت فرستنده عملیات pulse shaping انجام شد سپس بعد از این کار در گیرنده عملیات timing recovery و carrier recovery مورد بررسی قرار گرفت و در نهایت خروجی داده ها دوبارهی به PyCharm منتقل شد.
https://www.aparat.com/v/fqpg302
قسمت سوم:
در این قسمت نحوه این که به چه صورت دادههای را Buffer بخوانیم صحبت شد در ادامه دادهها داری افست فاز و ابهام فاز بودند که آن را با استفاده از دادههای pilot و preamble و postamble برطرف کردیم.
https://www.aparat.com/v/lpl2194
کانال بله:
http://ble.ir/gnu_radio
و در نهایت:
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر
در این ویدیو به سایت Gnu radio مراجعه کردیم و بدون نیاز به نصب gnu radio توانستیم به صورت اینترنتی از این نرمافزار استفاده کنیم.
از دیگر نکات اینکه میتوان Hack RF و RTL-SDR را نیز وصل کرد و استفاده کرد. و همراه مثالهای متنوع برای یادگیری
لینک آپارات:
https://www.aparat.com/v/mez668o
سایت زیر:
https://gnuradioworld.com/
و در نهایت:
https://eitaa.com/SDR_one
به نام خدا
سلام، وقت همگی بخیر
امروز به سایت زیر مراجعه کردم:
https://pysdr.org/content/rtlsdr
و با توضیحی درباره پارامتر PPM در RTL-SDR مواجه شدم؛ پارامتری که قبلاً برای خود من هم سؤال بود که دقیقاً چه کاری انجام میدهد.
بهطور خلاصه، به دلیل خطای فرکانسی اسیلاتور در تیونرهای RTL-SDR، فرکانس دریافتی مقداری Offset دارد. پارامتر PPM برای جبران همین خطا استفاده میشود. مقدار این خطا نیز میتواند با دما و گرمشدن دانگل تغییر کند.
برای مثال، معمولاً گفته میشود RTL-SDR حدود 25 PPM خطا دارد، اما من با تست و آزمایش روی دانگل خودم متوجه شدم که مقدار مناسب برای آن حدود 19 PPM است.
بنابراین به نظرم بهتر است بهجای اینکه صرفاً مقدار 25 PPM را بهصورت پیشفرض در نظر بگیریم، هر دانگل را بهصورت عملی تست و مقدار PPM مناسب آن را مشخص کنیم.
نکته جالب دیگر برای من این بود که RTL-SDRهای اصلی (Original) از نظر دقت فرکانسی و پایداری اسیلاتور، معمولاً عملکرد دقیقتری نسبت به نمونههای کپی و ارزانتر دارند.
https://eitaa.com/SDR_one
هدایت شده از Ali Kuhestani
📡 کارگاه تخصصی پیادهسازی سیستمهای مخابراتی
💻 ( Software Defined Radio )
👤 مدرس: میلاد سیف (پژوهشگر شرکت آرمان تلکو)
📚 سرفصلهای کارگاه:
🔵 ۱) مبانی SDR: معرفی سختافزار و نرمافزارهای آن (GNU Radio و SDR angle)
🟢 ۲) فرستنده و گیرنده: پیادهسازی FM
🟠 ۳) مدولاسیونهای دیجیتال: پیادهسازی ASK، FSK و PSK
🟣 ۴) تحلیل گیرنده: همگامسازی زمانی، فرکانسی و فازی
📍 مکان: دانشگاه صنعتی قم - سالن شهید چمران
⏰ زمان: سهشنبه ۲۱ مهر ۱۴۰۵ | ساعت ۱۵ الی ۱۸
📲 جهت هماهنگی و شرکت در جلسه (ایتا، بله و تلگرام):
📞 09304291596
https://eitaa.com/SDR_one