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


