|
как это сделано: FFT4096, 100-6500Hz, freq.resolution 0.001Hz, как достигнуто такое разрешение по частоте? |
|
|
|
Dec 21 2010, 14:51
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Здравствуйте! Помогите пожалуйста, спать не могу, все думаю...... Накопал в интернете, не понимаю как сделано. а хочется понять и применить методу. короткая листовка: http://www.campbellsci.com/documents/produ...es/b_avw200.pdfполный мануал: http://www.campbellsci.com/documents/manuals/avw200.pdfПрибор определяет частоту синусоидального сигнала, который может быть в диапазоне 100 - 6500 Гц, с разрешением 0.001Гц и точностью 0.013% от измеренной величины. Указано что используется 4096-точечное FFT. Интересно, что еще кроме упомянутого FFT применяется для получения такого разрешения по частоте? Как это может быть сделано? Взяли FFT, определили частоту грубо, потом детально обнюхали область вокруг найденной частоты, получили частоту точно? Что абсолютно точно известно (это физика процесса): 1. Полезный сигнал- честная одночастотная синусоида (дернули струну, потом ищут ее частоту собственных колебаний. то есть это затухающее колебание механической струны, которое преобразовано в электрический сигнал). Шумы возможны. 2. Общая длительность исследуемого сигнала доли секунды (ну пусть 300 ms) Что говорит изготовитель (интересный текст и какие-то картинки начинаются со страницы 85, еще есть спецификация на странице 9): 1. The AVW200 uses an audio A/D for capturing the sensor’s signal. The number of samples acquired in this period is 4096 points. A Fast Fourier Transform (FFT) algorithm is used to create a frequency spectrum. 2. the spectral analysis gives improved frequency resolution (0.001 Hz rms) during quiet conditions. 3. the AVW200 Fourier transforms the recorded response and analyzes the resulting spectrum to determine the wire’s resonant frequency. This analysis also provides diagnostic information indicating the quality of the resonant-frequency measurement. 4. Measurement resolution: 0.001 (Hz RMS) 5. Accuracy basic: +/- 0.013% of reading. 6. DF measurement time between 1.6 to 1.8 second 7. SYSTEM: PROCESSOR: Hitachi H8S 2324 (16-bit CPU with 32 bit internal core), MEMORY: Either 128 or 512 kbytes of SRAM; 2 Mbyte of OS Flash 8. частоту проца не знаю, но пишут про дополнительный ток потребления во время измерения 27mA@12V. Судя по даташиту проца получается что используется он по максимуму, 25 МГц тактовой. Сразу оговорюсь, как учили меня 20 лет назад в институте так с тех пор ни разу ничего толком кроме чужой математики для ЦОС не применял. В-общем валенок и может быть это нужно в раздел для начинающих перетащить если что-то понятное любому ЦОС-нику спрашиваю.
|
|
|
|
|
 |
Ответов
|
Mar 24 2011, 22:00
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Отмечаю сразу всем, извините что не сразу. 0. Матлаб рулит! в который раз была доказана простая истина, что все нужно проверять на 100%, а потом уже в железо пихать  1. Обнаружена методическая погрешность из-за использования оконной функции. Погрешность имеет синусоидальный характер с периодом пол-бина и достигает например 0.06 Гц под Хэммингом. Вылечил использованием Гауссовского окна с альфой больше чем 3.9 - погрешность имеет тот же вид, но максимальное значение меньше чем 0.001 Гц (я стараюсь достичь такой точности). 2. На чистой рассчитанной синусоиде и синусоиде от генератора никаких дополнительных ошибок из-за использования целочисленного БПФ выявлено не было. Но при исследовании настоящих сигналов от датчика обнаружена разница в вычислениях в даблах Матлаба и целочисленного БПФ. Перешел на 32-битный float (беру FFT4096), разница с Матлабом стала исчезающе мала. Думаю, что реальный сигнал имеет отклонения от идеальной синусоиды, и эти искажения по-разному влияли на результат при использовании вычислений разной точности (float против short) 3. Насчет преобразовать в комплексный сигнал и в таком виде считать. Отличная идея, сам тож подумал что некузяво сейчас действую- заполняю Im нулями, и из результата только половина массива используется. Но так четко сформулировать не смог.  . Сейчас имею материалы как это сделать, но буду делать позже, на сегодняшний день работает, ну и ладно. Надо брать пример с Исимбаевой, которая планку чуть-чуть подымает и опять за новый мировой рекорд все заслуженные почести имеет. А прыгнула бы сразу на пол-метра выше- и все, карьере конец  Вот и я тоже, идеи есть, но если все сразу реализую- то завтра придется новые придумывать  4. Ошибка из-за подсовывания "псевдо-комплексного" сигнала (Im=0) комплексному БПФ: странно как-то. Постараюсь проверить, но в теории какая разница, ну легли у меня векторы на ось, почему это криминал? Но в-общем получилось неплохое исследование с удивившим результатом- после юстировки частоты кварцевого резонатора измеряемая частота (подавал с генератора синуса, контролировал частотомером) показывалась с ошибкой порядка 0.001 Гц. То есть можно говорить не о разрешении, а о точности такого порядка. Озадачило то, что все равно вижу разницу при измерении реального датчика (не генератора синусоиды) порядка 0.02 Гц между методом подсчета пересечений нуля и на базе FFT. Но проблема в том, что между измерениями есть промежуток 2 секунды, может просто датчик меняет свои показания. Проверил на Матлабе возможную дополнительную погрешность если входной сигнал не идеальный синус, а затухающая синусоида- получил очень малые отклонения (до 0.001Гц) при скорости затухания в десятки раз большей чем на моем датчике. Может быть кто-то может помочь с проверкой? Могу предоставить массив 24-битных семплов c АЦП, Хочу узнать точную частоту, которая получается при вычислении (любым Вашим методом) . Если будет отличаться от того что я насчитал- значит все-таки ошибка у меня в методе.
|
|
|
|
Сообщений в этой теме
Ruslan1 как это сделано: FFT4096, 100-6500Hz, freq.resolution 0.001Hz Dec 21 2010, 14:51 Fast может быть применен какой-н сплайн к спектральным ... Dec 21 2010, 17:44 =GM= Цитата(Ruslan1 @ Dec 21 2010, 17:51) .. с... Dec 21 2010, 18:32 Ruslan1 Цитата(=GM= @ Dec 21 2010, 23:32) За 300 ... Dec 21 2010, 19:35  Fast Цитата(Ruslan1 @ Dec 22 2010, 01:35) Спас... Dec 22 2010, 01:49   bahurin если вы хотите получить точность 0.001 Гц при испо... Dec 22 2010, 02:39  =GM= Цитата(Ruslan1 @ Dec 21 2010, 22:35) Это ... Dec 22 2010, 06:20   Ruslan1 Цитата(=GM= @ Dec 22 2010, 11:20) (Не хот... Dec 22 2010, 07:15 Alex11 Тут, действительно, фишка в том, что сигнал - чист... Dec 21 2010, 21:43 blackfin Цитата(Ruslan1 @ Dec 21 2010, 20:51) Как ... Dec 22 2010, 01:41 Ruslan1 Цитата(blackfin @ Dec 22 2010, 06:41) Име... Dec 22 2010, 05:35 Fast два раза fft нельзя для коротких сигналов, fft - д... Dec 22 2010, 07:28 Ruslan1 Цитата(Fast @ Dec 22 2010, 12:28) два раз... Dec 22 2010, 08:53  fontp QUOTE (Ruslan1 @ Dec 22 2010, 14:53) Спас... Dec 22 2010, 09:07  =GM= Ruslan1, не хочется встревать в перепалку, но вот ... Dec 22 2010, 09:15   Ruslan1 Цитата(=GM= @ Dec 22 2010, 14:15) Ruslan1... Dec 22 2010, 10:19    =GM= Про линейку не забудьте. Заодно ответьте себе, мож... Dec 22 2010, 10:43     Ruslan1 Цитата(=GM= @ Dec 22 2010, 15:43) Про лин... Dec 22 2010, 12:16      fontp QUOTE (Ruslan1 @ Dec 22 2010, 18:16) Проч... Dec 22 2010, 12:18       Ruslan1 Цитата(fontp @ Dec 22 2010, 17:18) Нет не... Dec 22 2010, 12:33        =GM= fontp, ну что же вы? Лишили парня сна на целую нед... Dec 22 2010, 17:51         rudy_b Если основная частота одна (либо несколько, но раз... Dec 22 2010, 20:11      vvs157 Цитата(Ruslan1 @ Dec 22 2010, 18:16) Проч... Jan 11 2011, 10:28       =GM= 1.3 мм для стальной линейки. И надо учитывать кофф... Jan 11 2011, 12:55    fontp QUOTE (Ruslan1 @ Dec 22 2010, 16:19) 2. ... Dec 22 2010, 10:44     Ruslan1 Цитата(fontp @ Dec 22 2010, 15:44) Вы не ... Dec 22 2010, 11:30      fontp QUOTE (Ruslan1 @ Dec 22 2010, 17:30) В-об... Dec 22 2010, 11:44     vallav Цитата(fontp @ Dec 22 2010, 16:44) Вы не ... Jan 9 2011, 06:24      fontp QUOTE (vallav @ Jan 9 2011, 12:24) Вы что... Jan 9 2011, 07:16       vallav Цитата(fontp @ Jan 9 2011, 13:16) Если из... Jan 9 2011, 09:43        fontp QUOTE (vallav @ Jan 9 2011, 15:43) В биол... Jan 9 2011, 09:59         Ruslan1 Доброго времени суток и всех с прошедшими праздник... Jan 10 2011, 18:32          fontp QUOTE (Ruslan1 @ Jan 11 2011, 00:32) С то... Jan 11 2011, 08:16 fontp Точность измерения частота одиночной синусоиды за ... Dec 22 2010, 07:39 Alexey Lukin Частоту синусоиды можно вычислить с практически бе... Jan 3 2011, 19:53 blackfin Цитата(Ruslan1 @ Jan 11 2011, 00:32) С то... Jan 10 2011, 21:50 vallav Цитата(blackfin @ Jan 11 2011, 03:50) А г... Jan 11 2011, 04:07 Ruslan1 И снова зравствуйте!
Всех поздравляю с прошед... Mar 13 2011, 12:21 Ruslan1 В-общем, я получил положительный результат
1. Исп... Mar 18 2011, 16:33 Alex11 При этих точностях 16 бит категорически не хватает... Mar 18 2011, 21:33 Ruslan1 Цитата(Alex11 @ Mar 18 2011, 23:33) При э... Mar 19 2011, 22:54 Ruslan1 Цитата(Alex11 @ Mar 18 2011, 23:33) При э... Mar 20 2011, 12:55 ivan219 Ruslan1 вы можете выложить исходники на билдере?
... Mar 20 2011, 17:48 ivan219 Ruslan1 Я вот что заметил. Если делать комплексный... Mar 20 2011, 19:04 ivan219 Цитата(Ruslan1 @ Mar 25 2011, 01:00) 1. О... Mar 25 2011, 08:57 Ruslan1 Цитата(ivan219 @ Mar 25 2011, 10:57) Не с... Mar 25 2011, 11:02 Alex11 Поанализировал я тут Ваш файлик. Очень тяжело иска... Mar 27 2011, 18:11 Ruslan1 Цитата(Alex11 @ Mar 27 2011, 20:11) Поана... Mar 27 2011, 21:04 Alex11 Судя по виду Вашего файла, там скорее не внешние п... Mar 28 2011, 10:49 ivan219 Поможет БИХ фильтр. Если есть вычислительные ресур... Mar 28 2011, 17:24 Alex11 Фильтр не поможет, т.к. проблема не в гармониках -... Mar 28 2011, 23:24 Ruslan1 Цитата(Alex11 @ Mar 29 2011, 01:24) Тепер... Mar 29 2011, 14:12 Alex11 Вот уточненные результаты: средняя частота 822.566... Mar 29 2011, 19:34 Ruslan1 Цитата(Alex11 @ Mar 29 2011, 22:34) Видно... Mar 31 2011, 13:23 Alex11 Так Вы проверьте свою программу на модели. Сгенери... Mar 31 2011, 14:16 Ruslan1 Цитата(Alex11 @ Mar 31 2011, 17:16) Так В... Mar 31 2011, 15:40 Alex11 С гармониками бороться довольно просто - нужно, чт... Mar 31 2011, 16:24 Ruslan1 Цитата(Alex11 @ Mar 31 2011, 19:24) С гар... Mar 31 2011, 20:57 Alex65111 Долго читал про потенциальную точность измерения, ... Apr 1 2011, 06:05 Ruslan1 Цитата(Alex65111 @ Apr 1 2011, 09:05) 2. ... Apr 1 2011, 06:52 EvgenyNik Прежде чем экспериментировать и бросаться в пучину... Apr 2 2011, 19:56 Dmitry Valento Цитата(Ruslan1 @ Mar 27 2011, 23:04) Как ... Apr 3 2011, 16:31 Ruslan1 Цитата(Dmitry Valento @ Apr 3 2011, 19:31... Apr 3 2011, 17:40 Alex11 Правильное Гауссовское окно считается так:
sqrt(sq... Apr 3 2011, 18:18 Ruslan1 Цитата(Alex11 @ Apr 3 2011, 21:18) Правил... Apr 3 2011, 21:29 Alexey Lukin Цитата(Alex11 @ Apr 3 2011, 22:18) sqrt(s... Apr 7 2011, 09:32 Alex11 Ширина выбирается в зависимости от задачи. Мне нуж... Apr 3 2011, 22:57 Dmitry Valento Ruslan1, извиняюсь, при копи-пасте потерял еденичк... Apr 4 2011, 11:33 Ruslan1 Цитата(Dmitry Valento @ Apr 4 2011, 14:33... Apr 4 2011, 11:58 Alex11 Шкалу вертикальную сделайте линейную, а не логариф... Apr 4 2011, 13:03 Alex11 Согласен, теоретически - да, но поскольку сигма вы... Apr 7 2011, 14:37 Fetronics Вопросы о разрешающей способности измерения частот... Oct 21 2011, 16:03 rudy_b Цитата(Ruslan1 @ Dec 21 2010, 17:51) ...
... Oct 22 2011, 01:22 ys05 Цитата(rudy_b @ Oct 22 2011, 05:22) Для с... Oct 22 2011, 08:04  rudy_b Цитата(ys05 @ Oct 22 2011, 11:04) Интерес... Oct 23 2011, 18:50 tmtlib Если кому ещё интересна эта тема, вот хороший мате... Nov 12 2011, 10:31 fontp QUOTE (tmtlib @ Nov 12 2011, 13:31) Если ... Nov 13 2011, 06:51 ivan219 Цитата(tmtlib @ Nov 12 2011, 14:31) Если ... Nov 13 2011, 10:24 tmtlib Цитата(ivan219 @ Nov 13 2011, 13:24) А мо... Nov 13 2011, 12:50 ivan219 И всё таки не много не понятно.
Что делает эта фун... Nov 13 2011, 20:33 tmtlib Цитата(ivan219 @ Nov 14 2011, 00:33) И вс... Nov 14 2011, 03:19  fontp QUOTE (tmtlib @ Nov 14 2011, 06:19) Фазу ... Nov 14 2011, 07:35   alex_os Цитата(fontp @ Nov 14 2011, 10:35) ...
(f... Nov 15 2011, 06:16    fontp QUOTE (alex_os @ Nov 15 2011, 09:16) f(k1... Nov 15 2011, 06:59     alex_os Цитата(fontp @ Nov 15 2011, 09:59) Поэтом... Nov 15 2011, 07:40      fontp QUOTE (alex_os @ Nov 15 2011, 10:40) Так ... Nov 15 2011, 07:43       alex_os Цитата(fontp @ Nov 15 2011, 10:43) Винова... Nov 15 2011, 13:37     rudy_b Цитата(fontp @ Nov 15 2011, 09:59) Можно ... Nov 16 2011, 01:46     fontp QUOTE (rudy_b @ Nov 16 2011, 04:46) Более... Nov 16 2011, 10:52 thermit вычисляет остаток от деления дельты на два пи, вер... Nov 13 2011, 21:16
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|