Перейти к содержанию
    

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

 

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

Изменено пользователем DrbIn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

 

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

 

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

 

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

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

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

Изменено пользователем DrbIn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

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

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

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

Изменено пользователем DrbIn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...