Добавлено: Пт ноя 06, 2009 13:01:47
Специфика задачи такова что нельзя использовать ничего кроме самой ПЛИСки.
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Так что получается если в спектре есть гармоника к примеру 2001,1568759 Гц то в массиве "а" я увижу соответствующую запись ?pyzh_man писал(а):В массиве а и будут размещены: частота, амплитуда; частота, амплитуда...
А как связаны количество знаков после запятой частот БПФ с частотой дискретизации ?Сэр Мурр писал(а):С такой точностью Вы не увидите. Частота дискретизации- 8000Гц.
Сэр Мурр прав делайте полосовой фильтр, но не аналоговый а цифровой. Вот гляньте http://www.eltech.spb.ru/techinfo.html?gid=13 , я уже устал заливать-переливать. Глава 6 Ваша. А всяческие определения до точности Вам по условию не нужны. Либо есть либо нет. Это и ищите на выходе фильтра.MegaRazoR писал(а):Специфика задачи такова что нельзя использовать ничего кроме самой ПЛИСки.
Грубо говоря никак. Число знаков определяет характеристики окон. Знаки после запятой связаны с частотами среза и коэф. передачи (ослабления).MegaRazoR писал(а):А как связаны количество знаков после запятой частот БПФ с частотой дискретизации ?
Не так. При разложении в спектр для Вашего случая все что выше 4000 - бессмысленноMegaRazoR писал(а): т.е. так (для выборки 8000):
Номер ячейки(Гц): 0 1 2 3 4 5 6 7 ... 2000 ... 8000
Амплитуда(dB): 1 2 1 3 2 3 1 2 ... 224 ... 2
Или же на выходе получим последовательность "чатота, амплитуда" ?
Каким образом тут можно применить фильтр ? Я ведь ищу только одну частоту хоть и лежит она в диапазоне частот.Meteor писал(а):Сэр Мурр прав делайте полосовой фильтр, но не аналоговый а цифровой. Вот гляньте http://www.eltech.spb.ru/techinfo.html?gid=13 , я уже устал заливать-переливать. Глава 6 Ваша. А всяческие определения до точности Вам по условию не нужны. Либо есть либо нет. Это и ищите на выходе фильтра.MegaRazoR писал(а):Специфика задачи такова что нельзя использовать ничего кроме самой ПЛИСки.
PS. Matlab дает возможность спроектировать ЦФ и даже накидать код (и вроде на VHDL)
Вам по заданию дано (см. выше собственные опусы;) ) определить наличие частоты, при условии что она попадает в диапазон от и до. Т.е. надо выделить диапазон и определять в нем. О том сколько частот лежит в диапазоне одновременно ничего не сказано! Пусть будет одна.MegaRazoR писал(а):Каким образом тут можно применить фильтр ? Я ведь ищу только одну частоту хоть и лежит она в диапазоне частот.
Да, дело в том что после F/2 начинается перенос спектра, он будет зеркален по отношению к основному участку до F/2.MegaRazoR писал(а): Т.Е. Если частота дисрет. F то нет смысла делать выборку больше чем F/2 ?
Для ДПФ нет невозможно. Только применяя перемножение спектра. Но это головняк.MegaRazoR писал(а): Так что же получается частоту типа 2001,312586459 выявить невозможно ?
У Вас фильтр работает в реальном времени и, по идее, он полосовой. А значит все что с него выходит не нулевое и выше шума является полезным сигналом. Может кто поправит меня в данной мыслЕ?MegaRazoR писал(а):... вот я применил этот алгоритм. И теперь выборка у меня содержит отфильтрованные отсчеты для заданного диапазона. Как теперь определить есть ли что-нибудь более менее мощное и стабильное в этом диапазоне ?
Цифровая фильтрация предполагает тот момент что с учетом периода поступления данных производится рассчет всей системы. Т.е. после поступления 8001 отсчета АЦП из выборки будет выкинут (если фильтр КИХ) отсчет 1. Или же (БИХ-фильтр) будут учитываться все отсчеты с первого до отключения питания.MegaRazoR писал(а):На счет реального времени это уж больно относительно. Сначала АЦП оцифровывает на что уходит время. Затем отсчеты записываются в память ПЛИС. Затем данные обрабатываются. И только после этого выдается решение. На это уйдет около 500 мкс (+-200 мкс.).
Какие проблемы? Ваш модуль спокойно может быть интегрирован в более старшее устройство.MegaRazoR писал(а):ПЛИС не только фильтрует. На ПЛИСке еще куча других задач.