|
как это сделано: 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 13 2011, 12:21
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
И снова зравствуйте!  Всех поздравляю с прошедшими праздниками, начиная с нового нового и старого нового годов и до 8-го марта включительно  Вот и добрался я до поля мной непаханного, а именно до вычисления частоты не подсчетом переходов через нуль, а методами ЦОС. Напомню чего лично мне хочется: Вид сигнала- единственная затухающая синусоида (колебание струны) Диапазон частот входного сигнала- 400-6500 Hz (ну может от 100 Hz, но сейчас не нужно). Длительность выборки- 300 ms Цель номер раз: определить частоту сигнала с разрешающей способностью 0.001 Hz. Все остальные параметры сигнала (амплитуда например) сейчас не интересуют. Шумы специально не оговариваются, с увеличением оных разрешающая способность может (и как я понимаю будет) падать, не проблема. Другой вопрс что я уже сейчас вижу не 1. Поставил (наконец-то) Матлаб, 2. оцифровал реальный сигнал через вход Sound Card. Использовал разную частоту семплирования, но всегда 4096 сэмплов. Все точки сэмплирования являются значащими (то есть синусоида присутствует и нет дополнительных шумов связанных с ее возбуждением). Входной сигнал имеет частоту в окресности 820.2 Hz 3 вычислил FFT. Ниже приведена картинка вычисленного. Четко виден основной сигнал на 820 Hz и его третья гармоника на 2460 Hz. Также видна палка на пятой гармонике (4100 Hz). палка около 4600 Hz- это шумы преобразователя питания реальной схемы, будем бороться. Что-то из шума наверняка является приветом от звуковой карты, которая и оцифровывает.
Некоторые вопросы: 1. Я специально никаких окон не задавал, Как я прочитал, матлаб по умолчанию не использует оконных функций, "размывающих" спектр основной палки. Как я понял, окно нужно выбирать в соответствии с тем, какой метод будет использоваться для уточнения частоты. Так ли это? 2. Потерялся в методах. Первый этап понятен- беру FFT и нахожу область, в которой буду делать уточнение (+/- половина максимального бина). А вот дальше туплю. Единственное что понял- математику не тяну  . То есть из теоретической статьи написать m-файл чтобы посмотреть в работе, не смогу. Так сказать, определил пределы своих способностей  Может быть у кого-то есть матлабовские примеры на этот счет, чтобы глянуть, или ссылки на статьи для практикующих инженеров, которые плохо и давно учили ЦОС? Сейчас вот открыл пару десятков закладок, в том числе и электроникса, обсуждалось уже тут подобное. Может умнее стану когда прочитаю........... В-общем, определяюсь с методом и нану копать интернет на предмет доступной моему пониманию практической реализации. пока что самое мне понятное, это рекомендации fontp (http://electronix.ru/forum/index.php?showtopic=80460) Цитата Существует более перспективный подход, когда определяется максимальный бин DFT, и два скалярных произведения с комплексными экспонентами (Герцелями, если так больше нравится называть) отстоящими от частоты центрального бина на четверть ширины бина. Дальше снова проводится квадратичная интерполяция спектра мощности по 3-м точкам. В англоязычной литературе такой способ называют часто для убедительности "maxlikelihood extension", поскольку вблизи максимума любую функцию можно приблизить параболой. В принципе этот метод ничем не отличается от квадратичной интерполяции с добавлением нулей, но спектр вне точек DFT оценивается только вблизи максимального бина В принципе, это "maxlikelihood extension" может быть добавлено к любому алгоритму определения частоты в качестве последней уточняющей фазы.
|
|
|
|
Сообщений в этой теме
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 В-общем, я получил положительный результат
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 Ruslan1 Отмечаю сразу всем, извините что не сразу.
0. Мат... Mar 24 2011, 22:00 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|