سلام، ممنون از بابت گزارش، خوندمش،

 نیازی نیست کتاب یا مقاله دیگه‌ای بخونی همون کتابی که بهت دادم رو بخون و سعی کن کد متلبشون رو بنویسی، این بحث‌های آشکارسازی که نوشتی از جمله بحث آشکارساز انرژی، ربطی به کار ما نداره اینها فقط برای زمانی هست که دشمن می‌خواد بفهمه کسی در کانال حضور داره یا نه و به همین خاطر از آشکارسازی انرژی استفاده می‌کنه، بحثی که ما اینجا داریم دمدولاسیون داده است

نکته دوم اینکه ما در گیرنده DS در واقع هم‌بستگی رو محاسبه می‌کنیم و برای محاسبه هم‌بستگی تمام تاخیرهای کد PN رو در سیگنال ورودی ضرب می‌کنیم و انتگرال می‌گیریم هر جا ماکزیمم شد تاخیر مورد نظر ماست. حالا میشه این کار رو به صورت سری انجام داد یا به صورت موازی، یعنی تاخیر‌ها رو یک به یک در سیگنال ضرب کرد (سری) یا همه‌ی تاخیرها رو در یک لحظه محاسبه کرد (موازی)

در مورد فیلترهای FIR، فیلتری که ما قراره استفاده کنیم یک فیلتر کسینوس بالارونده هست، می‌تونی با دستور b=rcosfir(R,N,rate,T) ایجادش کنی و ضرابش رو بعد از fixed point کردن در fir core وارد کنی، R همون roll-off factor هست که مثلا میتونی برابر با 0.35 قرارش بدی، N طول فیلتر رو تعیین می‌کنه مثلا می‌تونی 10 قرارش بدی، rate میزان upsample رو مشخص می‌کنه، مثلا اگر تو از هر بیت 4 تا نمونه بگیری (یعنی مثلا یک بیت 1 رو با چهار تا 1 نشون بدی) این عدد رو 4 میذاری، 4 و 2 اعداد معمولی هست. بنابراین اگه مثلا بخوای 4 رو استفاده کنی، یه کد 1024تایی 4096 تایی میشه که هر کدوم از عناصرش 4 بار تکرار شدن، در واقع در اینجا نرخ کلاک نمونه برداری 4 برابر نرخ داده ورودی هست. عدد آخر (T) زمان یه بیت هست که اهمیتی نداره و اون رو 1 بذار.

خیلی خوبه که تونستی داده رو وارد VHDL کنی و بعد دوباره اونا رو تو یه فایل بنویسی.  در VHDL از داده حقیقی استفاده نمی‌شه چون همونطور که خودت گفتی قابل سنتز نیست. اون کاری که شما در انتهای گزارش انجام دادی و داده‌ها رو در 2^16 ضرب کردی و دوباره در آخر کار تقسیم و گرد کردی دقیقا همون fixed   point کردنه که قبلا در موردش صحبت کردیم.

+ برادرم داره روی FPGA کار می‌کنه و ماهیانه یه گزارش برای من می‌فرسته و من هم جوابش رو می‌دم. امروز، روز گزارشش بود.