Jump to content

    
Sign in to follow this  
ZED

Реализация БПФ на ПЛИС

Recommended Posts

Откуда взять вещественные и мнимые значения сигнала?

Можно из космоса. Поймать антенной, снести на нужную частоту, оцифровать и подать в ПЛИС. А внутри уже - на БПФ.

 

Share this post


Link to post
Share on other sites
Можно из космоса. Поймать антенной, снести на нужную частоту, оцифровать и подать в ПЛИС. А внутри уже - на БПФ.

 

ЭМмм, Остряк! :05:

 

Можно по делу, прояви остроумие в помощи.

Share this post


Link to post
Share on other sites
ЭМмм, Остряк! :05:

 

Можно по делу, прояви остроумие в помощи.

Это и было по делу. Если не устраивает такой ответ, то неплохо было бы расписать задачу поконкретнее. Реализовать БПФ? Ну так вставляете корку, собираете прошивку. Откуда взять входной сигнал? Так а что БПФить-то надо? Так то ноль это тоже входной сигнал. Не нравится ноль, можно счетчик подать.

Share this post


Link to post
Share on other sites
Это и было по делу. Если не устраивает такой ответ, то неплохо было бы расписать задачу поконкретнее. Реализовать БПФ? Ну так вставляете корку, собираете прошивку. Откуда взять входной сигнал? Так а что БПФить-то надо? Так то ноль это тоже входной сигнал. Не нравится ноль, можно счетчик подать.

 

Хорошо. Нужно с помощью плис Аltera реализовать БПФ. Есть аналоговый сигнал, который проходит через АЦП и поступает на ПЛИС, вот его как раз и нужно БПФить.

если еще конкретика нужна спрашивайте!

Я впервые имею дело с этим. Компонент вставить нет труда, а чем его "обвешать" не знаю. То есть как выделить мнимую и вещественную часть? Нужно ли организовывать доп. память, где будут храниться отсчеты перед выполнением компонентом БПФ или это уже встроено и достаточно только напрямую подавать данные, тогда для чего импульсы подавать для начала и конца кадра подачи данных?!

 

Может, кто сжалится надо мною и объяснит с низов, что делать и как работать со встроенной FFT, а то инет перерыл нигде нет инфы подробной, только теория об БПФ.

Edited by DrbIn

Share this post


Link to post
Share on other sites
Хорошо. Нужно с помощью плис Аltera реализовать БПФ. Есть аналоговый сигнал, который проходит через АЦП и поступает на ПЛИС, вот его как раз и нужно БПФить.

если еще конкретика нужна спрашивайте!

Я впервые имею дело с этим. Компонент вставить нет труда, а чем его "обвешать" не знаю. То есть как выделить мнимую и вещественную часть? Нужно ли организовывать доп. память, где будут храниться отсчеты перед выполнением компонентом БПФ или это уже встроено и достаточно только напрямую подавать данные, тогда для чего импульсы подавать для начала и конца кадра подачи данных?!

 

Может, кто сжалится надо мною и объяснит с низов, что делать и как работать со встроенной FFT, а то инет перерыл нигде нет инфы подробной, только теория об БПФ.

Что за аналоговый сигнал, каковы его параметры? Какой АЦП используется? Какая частота дискретизации?

 

Моделировать-то это дело вы будете, али сразу в железо загонять?

 

Для простоты, для начала можно забить на мнимую часть и подавать только действительную.

Что касается импульсов начала и конца кадра, то на входе есть только начало кадра - sink_sop. Поскольку БПФ вырабатывает пачку выходных частот (256, 512, 1024), то и на входе блоку нужна пачка. sink_sop - маркер начала этой пачки на входе.

Подали на вход 1024 отсчета АЦП, на выходе получили 1024 частоты.

Share this post


Link to post
Share on other sites
Что за аналоговый сигнал, каковы его параметры? Какой АЦП используется? Какая частота дискретизации?

 

Моделировать-то это дело вы будете, али сразу в железо загонять?

 

Для простоты, для начала можно забить на мнимую часть и подавать только действительную.

Что касается импульсов начала и конца кадра, то на входе есть только начало кадра - sink_sop. Поскольку БПФ вырабатывает пачку выходных частот (256, 512, 1024), то и на входе блоку нужна пачка. sink_sop - маркер начала этой пачки на входе.

Подали на вход 1024 отсчета АЦП, на выходе получили 1024 частоты.

 

Синусоидальный сигнал, частотой 1 МГц. АЦП еще не подбирал. Пока моделировать не планировал, а там как пойдет.

То есть я правильно понимаю, что должна быть память в которую будет записываться 1024 отсчета?

Share this post


Link to post
Share on other sites
То есть я правильно понимаю, что должна быть память в которую будет записываться 1024 отсчета?

Память уже есть внутри FFT. Вам нужно разобраться с тем, как работает интерфейс Avalon.

Share this post


Link to post
Share on other sites
Откуда взять вещественные и мнимые значения сигнала?

Пропустить через sin/cos, либо подать на мнимые входы нули. Всё зависит от того, какой сигнал БПФить.

Обычно, когда берутся за такие задачи, уже есть устоявшаяся модель и подобных вопросов возникать уже не должно.

 

Почему бы для начала не сделать то же самое на Python или Matlab? Ну будет эта штука выдавать некие результаты - как это отлаживать? Я отлаживал сравнивая результаты обработки одного и того же сигнала мат моделью и работу IP-ядра FFT на HDL-симуляторе. Таких чудес насмотрелся, так что представляю какая будет боль при отладке FFT без этого.

Share this post


Link to post
Share on other sites
Пропустить через sin/cos, либо подать на мнимые входы нули. Всё зависит от того, какой сигнал БПФить.

Обычно, когда берутся за такие задачи, уже есть устоявшаяся модель и подобных вопросов возникать уже не должно.

 

Почему бы для начала не сделать то же самое на Python или Matlab? Ну будет эта штука выдавать некие результаты - как это отлаживать? Я отлаживал сравнивая результаты обработки одного и того же сигнала мат моделью и работу IP-ядра FFT на HDL-симуляторе. Таких чудес насмотрелся, так что представляю какая будет боль при отладке FFT без этого.

 

из знакомых ни кто этим не занимался. А тут пришлось, упала задача. Я согласен, что моделировать надо, но для начала надо разобраться как слепить это все!

 

может у кого есть учебное пособие как подобное реализуется! Вы же познали это где-то?!

 

Ребята, Мужики!

Я благодарю вас всех, что откликнулись!

Вы люди с опытом в этом деле, поэтому не могли бы с самых низов расписать, с чего начать, чтобы решить данную задачку.

Edited by DrbIn

Share this post


Link to post
Share on other sites
Вы люди с опытом в этом деле, поэтому не могли бы с самых низов расписать, с чего начать, чтобы решить данную задачку

Начать с модели, с ней же и сравнивать. Вы пытаетесь создать сложную роботизированную лестницу чтобы сорвать яблоко, а достаточно лишь слегка потрясти яблоню. Не надо пытаться уйти от создания примитивной модели, это бессмысленно и контрпродуктивно.

 

Даташит большой, но достаточно просто перейти к нужному разделу, поясняющему принцип работы с ядром и формат входных сигналов, и сравнивая с моделью - проверять результат.

 

А учебного пособия нет ровно по той причине, потому что учебное пособие на всё на свете писать не имеет смысла, ведь есть инструкции, да и те почти не читают, когда всё и так понятно. Вот альтеровский FFT UG содержит 100.0% необходимой информации, что после модели вообще не возникает вопросов что куда засовывать.

Share this post


Link to post
Share on other sites
Начать с модели, с ней же и сравнивать. Вы пытаетесь создать сложную роботизированную лестницу чтобы сорвать яблоко, а достаточно лишь слегка потрясти яблоню. Не надо пытаться уйти от создания примитивной модели, это бессмысленно и контрпродуктивно.

 

Даташит большой, но достаточно просто перейти к нужному разделу, поясняющему принцип работы с ядром и формат входных сигналов, и сравнивая с моделью - проверять результат.

 

А учебного пособия нет ровно по той причине, потому что учебное пособие на всё на свете писать не имеет смысла, ведь есть инструкции, да и те почти не читают, когда всё и так понятно. Вот альтеровский FFT UG содержит 100.0% необходимой информации, что после модели вообще не возникает вопросов что куда засовывать.

 

модель в матлабе создавать?

 

что-то совсем запутали! :wacko:

как в матлабе делать БПФ я знаю.

Что вы подразумеваете под словом "модель"? Полное описание системы включая АЦП и ПЛИС в матлабе?

Edited by DrbIn

Share this post


Link to post
Share on other sites
Что вы подразумеваете под словом "модель"? Полное описание системы включая АЦП и ПЛИС в матлабе?

Если Вы выбираете допустим N=128 частоту дискретизации 2 МГц и разрядность 10 бит, то матлаб должен дать представление, какой результат ожидать на выходе после обработки первого сэмпла. Если значение первого же сэмпла будет отличаться от ожиданий, или выходить не в том порядке, или знак не такой, то это сразу поможет понять где проблема. Это ведь общие истины для любого алгоритма, разве нет?

 

Конечно, гении могут обходиться без такой ерунды как мат модели :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this