Страница 1 из 1

ПЛИС спектральный анализ

Добавлено: Ср окт 21, 2009 08:35:22
MegaRazoR
Задача такая: Есть сложный сигнал представленый в цифровом виде (частота дискр. 80 КГц по 8 бит). Надо выяснить есть ли в спектре частота 70 Гц. Частота 70 Гц если есть то держится стабильно несколько секунд.
Хотелось бы узнать какие существуют наиболее популярные алгоритмы для решения этой задачи. Есть ли каие-нибудь наработки для ПЛИС (желательно ACTEL).

Добавлено: Чт окт 22, 2009 11:16:22
Meteor
БПФ в руки и ...
Нет щазтья не будет.
Посмотрите вот тут http://electronix.ru/forum/index.php?showtopic=58026.
PS. Я решал в матлабе, на частоту 50 Гц ДПФ, но не эффективно для ПЛИС и сигнальных процев.

Добавлено: Чт окт 22, 2009 13:26:26
MegaRazoR
Пока что из того что нарыл я понял что надо будет использовать КИХ фильтр. Щас вот ищу алгоритм на си или паскале.

Добавлено: Чт окт 22, 2009 14:41:59
Meteor
Вы собираетесь выделять только 70 Гц? Тогда скорее всего КИХ и БИХ фильтры Вам мало помогут. Вот пример построения спектральной характеристики. Выполнено в дискретном Фурье преобразовании

Re: ПЛИС спектральный анализ

Добавлено: Чт окт 22, 2009 19:28:44
Neekeetos
MegaRazoR писал(а):Задача такая: Есть сложный сигнал представленый в цифровом виде (частота дискр. 80 КГц по 8 бит). Надо выяснить есть ли в спектре частота 70 Гц. Частота 70 Гц если есть то держится стабильно несколько секунд.
Можно сделать свертку вместо полного фурье. Для этого требуется сделать таблицу синуса, на ее основе NCO на 70гц, потом умножать входные семплы на то что с NCO выходит и суммировать с накоплением, длину суммы необходимо будет выбрать в зависимости от требуемой полосы сигнала но не меньше 1143 семплов, задача по силам даже простейшему МК, плис видимо будет простаивать.

Добавлено: Пт окт 23, 2009 05:26:46
MegaRazoR
Meteor писал(а):Вы собираетесь выделять только 70 Гц? Тогда скорее всего КИХ и БИХ фильтры Вам мало помогут. Вот пример построения спектральной характеристики. Выполнено в дискретном Фурье преобразовании
Мне достаточно только определить есть составляющая 70 Гц в сигнале или нет.

Добавлено: Пт окт 23, 2009 06:56:33
Meteor
MegaRazoR писал(а):Мне достаточно только определить есть составляющая 70 Гц в сигнале или нет.
Как вариант считайте только одну составляющую из Ваших частот. Затем сравнивайте ее с константой. Только надо бы проредить отсчеты, уж больно их много для 70 Гц.

Добавлено: Пт окт 23, 2009 08:19:26
MegaRazoR
Можно выборку сделать и всего массива отсчетов это не проблема.
А как именно осуществляется дискретное преобразование Фурье для одной составляющей ?
Я честно говоря не очень люблю математику :). Особенно всякие ряды и т.д. Буду благодарен если объясните в прикладном смысле без всяких присущих матанализу абстракций смысл алгоритма преобразования Фурье.

Добавлено: Пт окт 23, 2009 08:44:39
Neekeetos
MegaRazoR писал(а):Можно выборку сделать и всего массива отсчетов это не проблема.
А как именно осуществляется дискретное преобразование Фурье для одной составляющей ?
Я честно говоря не очень люблю математику :). Особенно всякие ряды и т.д. Буду благодарен если объясните в прикладном смысле без всяких присущих матанализу абстракций смысл алгоритма преобразования Фурье.
Яж описал в своем посте , фурье для одной составляющей это свертка, то есть ты умножаешь синус нужной частоты на входной сигнал и получившиеся произведения суммируешь вместе.

Добавлено: Пт окт 23, 2009 09:32:39
Meteor
Почитайте вот этот документ для начала

Добавлено: Пт ноя 20, 2009 11:17:40
ELcat
Погугли, а лучше обзаведись в "хардкопи" с книжного рынка "Разработка систем цифровой обработки сигналов на базе ПЛИС" Д.С.Потехин И.Е.Тарасов М."Горячая линия - телеком" 2007г (248стр.). Рекомендую настоятельнейшим образом, разложено по этой теме всё с самых азов начиная с тригонометрии в булевой алгебре и заканчивая конкретными примерами на языке VHDL. Кроме того даны примеры схемный решений и рекомендации по выбору ПЛИС.

Добавлено: Пт ноя 20, 2009 13:44:44
GP1
что-то не получается распаковать архив.
может укажите первоисточник?

Добавлено: Пт ноя 20, 2009 16:50:01
Александр777
фурье для одной составляющей это свертка, то есть ты умножаешь синус нужной частоты на входной сигнал и получившиеся произведения суммируешь вместе
А что будет если фаза синуса и фаза входного сигнала будут отличаться?

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

Добавлено: Пт ноя 20, 2009 17:54:20
urry1
Вы что-то все смешали в кучу... По определению, нельзя получить фурье по 1 точке. Если у вас 32 точки - выход 16 каналов, из них 3 канала идут для 1 частоты, 1 - в центре - максимальная - и по бокам половинной амплитуды (я немного утрирую) т.е реальное обнаружение синуса - в 3 раза меньше 16/3 = 5 частот реально получить по 32 точкам захвата.

Добавлено: Пт ноя 20, 2009 21:48:33
Meteor
GP1 писал(а):что-то не получается распаковать архив.
может укажите первоисточник?
Вы все архивы в одну папку собрали перед разархивированием?
Хотя впрочем Вы правы ссылка разумнее. Успехов!!!

Добавлено: Пт ноя 20, 2009 23:59:39
GP1
Meteor
спасибо. :beer: