DSSS.py
حجم:
6.8K
به نام خدا
سلام وقت همگی بخیر
در این قسمت به موضوع تکنیک مدولاسیون direct sequence spread spectrum پرداختهایم. در جلسات گذشته این تکنیک را به صورت غیر استاندارد به صورت عملی پیادهسازی کردهایم. تقریبا مانند الگوریتم دریافت داده در GPS. در ادامه لینک ویدیو در آپارات آمده است:
https://www.aparat.com/v/reod731
ولی در این قسمت و در قسمتهای اینده قصد داریم این تکنیک را به صورت استاندارد پیادهسازی کنیم.
در این قسمت ابتدا از شبیهسازی شروع کردهایم و بعد از این که فرستنده پیادهسازی شد به موضوع گیرنده ورود پیدا کردیم.
در گیرنده ابتدا در قسمت Acquisition با استفاده از FFT و IFFT افست فرکانسی و افست code phase به دست اوریم.
در ادامه نیز وارد tracking شدیم اما به صورت کامل توضیح داده نشده است زیرا هنوز خودم کامل نتونستم آن را پیادهسازی کنم.
مراجعه استفاده شده:
https://github.com/justkow/python-gps-receiver/blob/main/acquisition_and_tracking.py
https://github.com/archity/GPS-Receiver
#قسمتهشتم: پیادهسازی direct sequence spread spectrum در پایتون
و در نهایت
https://eitaa.com/SDR_one
final_DSSS.zip
حجم:
15.3K
به نام خدا سلام وقت همگی بخیر
پیش نمایش لینک direct sequence spread spectrum قرار داده شد در این قسمت در SNR پایین تونستیم جواب بگیریم.
https://www.aparat.com/v/wqoev6z
البته ان شاءالله در جلسههای آینده بیشتر دربارهی خود پیادهسازی صحبت میکنیم و ان شاءالله در اینده بتونیم این لینک رو تقویت و قوی کنیم.
#قسمتنهم: پیادهسازی direct sequence spread spectrum در پایتون
فایل پیادهسازی در قسمت نظرات قرار گرفته است
و در نهایت
https://eitaa.com/SDR_one
به نام خدا
سلام وقت همگی بخیر
کد زیر مربوط به timing recovery میباشد که برای مدولاسیون BPSK نوشته شده است برای نوشتن کد زیر از مرجع زیر استفاده شده است:
https://github.com/igorauad/symbol_timing_sync
این کد از الگوریتم Timing error detector، گاردنر و early-late به همراه interpolator یا به عبارتی درون یاب cubic استفاده میکند.
چند نکته در این کدها افست فرکانسی و زمانی اضافه شده است ولی در گیرنده فقط خروجی بعد از timing recovery مورد بررسی قرار گرفته است.
https://eitaa.com/SDR_one
به نام خدا
سلام وقت بخیر با توجه به پست قبلی و کد ارائه شده دربارهی 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