реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Непопадание в бины ДПФ, Как бороться с непопаданием в бины ДПФ?
kumle
сообщение Mar 20 2013, 11:53
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Всем привет, встала задача измерять частотный выход сигнала на определенной частоте.
Сигнал для измерения подается на 24-х разрядное АЦП, а частота измерения приходит с тахометра.
Частота оцифровки сигнала 500 Гц, для ДПФ выбираю 500 выборок, значит разрешение по частоте 1Гц.

Все работает нормально пока с с тахометра приходят частоты кратные 1-у Герцу, но как только придет
скажем 20.5 Герц, то при одном и том же входном сигнале результат ДПФ получается несколько больше !
В качестве сигнала шум на входе АЦП.
Как тут быть, задача стоит выжать большую точность, поэтому применен 24-х битный АЦП.
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Mar 20 2013, 12:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



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


--------------------
Go to the top of the page
 
+Quote Post
polyakovav
сообщение Mar 20 2013, 13:21
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



не вполне понятно, что измеряется - частота, амплитуда или еще что?
с какой точностью это нужно измерить, и что значит "частота измерения приходит с тахометра"?
Go to the top of the page
 
+Quote Post
kumle
сообщение Mar 20 2013, 13:53
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(polyakovav @ Mar 20 2013, 16:21) *
не вполне понятно, что измеряется - частота, амплитуда или еще что?
с какой точностью это нужно измерить, и что значит "частота измерения приходит с тахометра"?



Измеряется амплитуда сигнала приходящего на АЦП, а частота на которой нужно измерить приходит с тахометра на вход внешнего прерывания МК, который и определяет частоту.
АЦП иоже внутри МК.

Еще непонятно почему результат ДПФ увеличивается при непопадании частоты. ведь уменьшаться должен !

Цитата(dm.pogrebnoy @ Mar 20 2013, 15:09) *
Думаю вам должно помочь улучшить ситуацию наложение окна на входные выборки. Правда выбор этого окна, для обеспечения наибольшей точности, дело не простое.



Оконную функцию еще не пробовал, интересно какова ее эффективность

Цитата(dm.pogrebnoy @ Mar 20 2013, 15:09) *
Думаю вам должно помочь улучшить ситуацию наложение окна на входные выборки. Правда выбор этого окна, для обеспечения наибольшей точности, дело не простое.



Оконную функцию еще не пробовал, интересно какова ее эффективность

Цитата(polyakovav @ Mar 20 2013, 16:21) *
с какой точностью это нужно измерить


С какой точностью измерять, это зависит от шумов, в отсутствии сигнала на АЦП.
Шум пока не могу измерить так как пока не совсем понимаю как.
Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 20 2013, 13:58
Сообщение #5


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (kumle @ Mar 20 2013, 14:53) *
Всем привет, встала задача измерять частотный выход сигнала на определенной частоте.
Сигнал для измерения подается на 24-х разрядное АЦП, а частота измерения приходит с тахометра.
Частота оцифровки сигнала 500 Гц, для ДПФ выбираю 500 выборок, значит разрешение по частоте 1Гц.

Все работает нормально пока с с тахометра приходят частоты кратные 1-у Герцу, но как только придет
скажем 20.5 Герц, то при одном и том же входном сигнале результат ДПФ получается несколько больше !
В качестве сигнала шум на входе АЦП.
Как тут быть, задача стоит выжать большую точность, поэтому применен 24-х битный АЦП.



А зачем Вам ДПФ, если частота известна достаточно точно с тахометра?
Достаточно умножить сигнал на комплексную экспоненту известной частоты и просумировать (усредить).
Получите две амплитудные квадратуры, сложите как обычно сумму квадратов

Если частота известна абсолютно точно, и в сигнале отсутствуют другие гармоники (только шум), то полученная таким способом оценка амплитуды (и фазы, если необходимо) является оценкой максимального правдоподобия.
Go to the top of the page
 
+Quote Post
polyakovav
сообщение Mar 20 2013, 14:01
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



если понял правильно, сигнал с тахометра определяет моменты взятия выборки с АЦП?
каким образом сигнал на входе АЦП связан с тахометром?
Go to the top of the page
 
+Quote Post
kumle
сообщение Mar 20 2013, 14:54
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(polyakovav @ Mar 20 2013, 17:01) *
если понял правильно, сигнал с тахометра определяет моменты взятия выборки с АЦП?
каким образом сигнал на входе АЦП связан с тахометром?


Нет, моменты взятия выборки определяет МК, частота дискретизации постоянна 500 Гц

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

Цитата(fontp @ Mar 20 2013, 16:58) *
А зачем Вам ДПФ, если частота известна достаточно точно с тахометра?
Достаточно умножить сигнал на комплексную экспоненту известной частоты и просумировать (усредить).
Получите две амплитудные квадратуры, сложите как обычно сумму квадратов

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



Не подскажете как называется этот метод, я новичок в ЦОС, хотелось бы поподробней почитать.

Цитата(kumle @ Mar 20 2013, 17:18) *
Нет, моменты взятия выборки определяет МК, частота дискретизации постоянна 500 Гц

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




Не подскажете как называется этот метод, я новичок в ЦОС, хотелось бы поподробней почитать.



По моему это и есть ДПФ
Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 20 2013, 15:02
Сообщение #8


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (kumle @ Mar 20 2013, 17:54) *
Не подскажете как называется этот метод, я новичок в ЦОС, хотелось бы поподробней почитать.
По моему это и есть ДПФ


ДПФ это когда вы рассчитываете подобные суммы для всех независимых кратных фиксированых частот
А я Вам предложил считать на одной, той что с тахометра, не кратной. Это не ДПФ, это просто взятие квадратуры
Можно считать, что это перенос на нулевую частоту

Почему это хорошо? Может не самое простое обоснование, но в статье обосновывается именно как обойти дискретность
ДПФ при определении частоты (что Вам на самом деле не нужно, если частота известна по тахометру), как оптимально определить амплитуду и фазу, и приводятся оценки для достижимой точности

http://electronix.ru/forum/index.php?act=a...st&id=39182
Go to the top of the page
 
+Quote Post
thermit
сообщение Mar 20 2013, 15:10
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
kumle:
По моему это и есть ДПФ


Похоже на дпф, но не дпф.
Это ких фильтр с импульсной х-кой равной комплексной экспоненте нужной частоты.
Можно ее на окно домножить. А можно вообще полосовой рекурсивный фильтр сделать.

Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 20 2013, 15:16
Сообщение #10


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (thermit @ Mar 20 2013, 18:10) *
Похоже на дпф, но не дпф.
Это ких фильтр с импульсной х-кой равной комплексной экспоненте нужной частоты.
Можно ее на окно домножить. А можно вообще полосовой рекурсивный фильтр сделать.



Если есть синусовые помехи или сам сигнал периодический, но не синусовый, то спектральные окна использовать не только можно,
но даже и желательно. Просто чтобы исключить влияние спектрального хвоста от помехи. У функции sinc длинный хвост

А если гарантировано, что синусовой помехи больше нет - есть только один спектральный пик и шум - то прямоугольное окно оказывается оптимальным
Go to the top of the page
 
+Quote Post
TRILLER
сообщение Mar 20 2013, 15:16
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



Цитата(kumle @ Mar 20 2013, 18:18) *
Не подскажете как называется этот метод, я новичок в ЦОС, хотелось бы поподробней почитать.

Если на пальцах, то ДПФ есть множество взаимокорреляционных функций вашего сигнала(от АЦП) и квадратур(sin и cos) с частотами 0, 1,..., 499 Гц.
Т.е. делая ДПФ вы находите степень корреляции сигнала аж с 500 гармониками на дискретных частотах. Но у вас ИЗВЕСТНА частота, на которой вы хотите оценить уровень сигнала. Поэтому достаточно посчитать взаимокорреляционную функцию только с одной квадратурой. Плюс, имея 24-х битую АЦП, вам надо генерировать квадратуру как минимум не меньшей разрядности. А это позволяет сгенерить её с очень большой точностью. Не считал сколько, но думаю точнее милигерц. Скорее всего с тахометра частота приходит с меньшей точностью biggrin.gif
И, как сказал fontp, это будет оценкой максимального правдоподобия.
А почитать, что есть ДПФ, прежде чем его делать можно в любой книге по ЦОС.

Сообщение отредактировал TRILLER - Mar 21 2013, 07:19
Go to the top of the page
 
+Quote Post
Alex11
сообщение Mar 20 2013, 17:40
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Хотелось бы понять еще, точность чего необходимо обеспечить. Как уже было замечено, точность тахометра будет существенно ниже, чем точность, которую можно получить с ДПФ. Если использовать тахометр только чтобы оценить примерно гармонику с которой нужно работать, то алгоритм я бы предложил следующий. Домножаем входной сигнал на оконную функцию, делаем ДПФ, выбираем требуемую гармонику, считаем положение максимума с интерполяцией (чтобы получить более точное значение частоты, чем 1 бин), считаем сумму квадратов отсчетов в пределах гармоники (количество бинов определяется оконной функцией) и берем из нее корень - это будет амплитуда на данной частоте. Чтобы амплитуда соответствовала действительности нужно либо брать правильно отнормированную оконную функцию, либо калибровать прибор.
Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 20 2013, 18:06
Сообщение #13


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183





QUOTE (Alex11 @ Mar 20 2013, 21:40) *
Хотелось бы понять еще, точность чего необходимо обеспечить. Как уже было замечено, точность тахометра будет существенно ниже, чем точность, которую можно получить с ДПФ. Если использовать тахометр только чтобы оценить примерно гармонику с которой нужно работать, то алгоритм я бы предложил следующий. Домножаем входной сигнал на оконную функцию, делаем ДПФ, выбираем требуемую гармонику, считаем положение максимума с интерполяцией (чтобы получить более точное значение частоты, чем 1 бин), считаем сумму квадратов отсчетов в пределах гармоники (количество бинов определяется оконной функцией) и берем из нее корень - это будет амплитуда на данной частоте. Чтобы амплитуда соответствовала действительности нужно либо брать правильно отнормированную оконную функцию, либо калибровать прибор.


То что точность тахометра хуже чем бин ДПФ как раз не звучало, скорее наоборот, бин 1 гц, автор топика оценивает частоту по тахометру как 20.5, то есть точность тахометра по крайней мере 0.5
В общем, это вопрос, что точнее. Выше речь шла о другом- о ширине полосы фильтра.

Обычно с помощью интерполяции можно получить точность примерно на порядок выше чем бин ДПФ.
Точность зависит от уровня шума и числа отсчетов, но в любом случае интерполяцией два порядка получить тяжело, а три - невозможно
Если точность тахометра выше чем эта величина, то искать пик и проводить интерполяцию не надо.
Если нет, то тогда есть смысл искать пик и проводить интерполяцию вблизи максимума. При этом нет смысла обсчитывать все гармоники ДПФ, а только компоненты в интервале неопределенности показаний тахометра (скорее всего только три гармоники)
Go to the top of the page
 
+Quote Post
TigerSHARC
сообщение Mar 20 2013, 19:49
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Прочитал первый пост и первое что пришло на ум: программное изменение частоты дискретизации полифазником или Фарроу...
Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 21 2013, 05:42
Сообщение #15


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (TigerSHARC @ Mar 20 2013, 23:49) *
Прочитал первый пост и первое что пришло на ум: программное изменение частоты дискретизации полифазником или Фарроу...


Зачем так сложно? Достаточно согласованого фильтра, т.е. коррелятора с комплексной синусоидой известной частоты
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th July 2025 - 22:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016