انجمن گفتگوی فراد اندیش

به اشتراک بگذارید:
آگاه‌سازی‌ها
پاک‌کردن همه

پیاده سازی fftshift در VHDL

5 ارسال‌
2 کاربران
0 Reactions
1,076 نمایش‌
(@farshad)
ارسال‌: 3
Active Member
شروع کننده موضوع
 

سلام

من میخوام که دستور fftshift در متلب رو توی زبان VHDL پیاده کنم.IP core خاصی هست یا باید کدش رو بنویسم. اگه باید کدش رو بنویسم اگه میشه راهنمایی کنید. ممنون

 
ارسال‌شده : 19 تیر، 1396 2:39 ب.ظ
(@ahmadsaghafi)
ارسال‌: 107
Estimable Member Admin
 

سلام،

برای پیاده‌سازی الگوریتم FFT می‌توانید از IP بسیار کاملی که در نرم‌افزار ISE وجود دارد استفاده کنید.

ایجاد شیفت در خروجی IP یک کار کنترلی ساده است و کافی است شما از اندیس مورد نظرتون، مثلا اندیس مرکزی FFT به بعد استفاده کنید و سپس به اندیس اول برگردید.

برای آشنایی بیشتر با IPها در نرم‌افزار ISE برنامه ویدئویی زیر را ببینید:

معرفی IPها در نرم‌افزار ISE و نحوه بکارگیری آنها

 
ارسال‌شده : 19 تیر، 1396 3:06 ب.ظ
(@farshad)
ارسال‌: 3
Active Member
شروع کننده موضوع
 

جواب شما برای یک ماتریس سطری کاملا صحیح است . ولی منظور من fftshift برای یک ماتریس ۳۲ در ۳۲ بود نه یک ماتریس سطری. همانطور که می دانید در FPGA ما نمی توانیم داده ها را به صورت ماتریسی پردازش کنیم و باید ماتریس ها را به صورت ستون به ستون یا سطر به سطر پشت سر هم بچینیم و بعد آن ها را پردازش کنیم. من در کدم این ماتریس ۳۲ در ۳۲ را به صورت ستون به ستون پشت سر هم چیده ام و حال میخواهم که fftshift را در آن اجرا کنم.

 
ارسال‌شده : 19 تیر، 1396 3:53 ب.ظ
(@ahmadsaghafi)
ارسال‌: 107
Estimable Member Admin
 

فرق خاصی نمی‌کند. هر ستون را جداگانه به ماجول FFT وارد کنید.

 
ارسال‌شده : 19 تیر، 1396 8:24 ب.ظ
(@farshad)
ارسال‌: 3
Active Member
شروع کننده موضوع
 

من با ماژول FFT کاری ندارم. بلکه میخواهم FFTshift انجام دهم. در انجام fftshift در vhdl مشکل دارم. ماژول FFT که به صورت IPcore در اختیار ما هست.

لذا در صورت امکان برای ترجمه کد fftshift که از دستورات متلب است به کد vhdl راهنمایی ام کنید.

با سپاس فراوان

 
ارسال‌شده : 19 تیر، 1396 8:49 ب.ظ
به اشتراک بگذارید:
>