|
как это сделано: 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 лет назад в институте так с тех пор ни разу ничего толком кроме чужой математики для ЦОС не применял. В-общем валенок и может быть это нужно в раздел для начинающих перетащить если что-то понятное любому ЦОС-нику спрашиваю.
|
|
|
|
|
 |
Ответов
|
Dec 21 2010, 19:35
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(=GM= @ Dec 21 2010, 23:32)  За 300 мс можно измерить "методом захвата" с точностью 0.001 Гц, поищите, была такая тема в АВР МК.. и спите спокойно. Это переходы через ноль считать (zero-crossing counting method)? Не, неинтересно. Так работало старое поколение таких измерителей, их ахиллесова пята это шумы из-за которых лишние переходы. Кстати там разрешение на порядок меньше всегда анонсировалось (0.01Гц). А про точность 0.001 методом захвата- это вы я так думаю погорячились. Ну во-первых нужно переименовать "точность" в "разрешение" (ну или говорить о стабильности 0.15ppm, что за АВР такой?), а во-вторых при 6.5 кГц это будет 23 пикосекунды разница в длительности периода. 44 наносекунды за 1950 периодов (300мс и 6500Гц). это 22 МГц тактирование таймера чтобы один такт набежал. Ладно, тут наверное можно и поверить, уж это AVR наверное может. Цитата(Fast @ Dec 21 2010, 22:44)  может быть применен какой-н сплайн к спектральным составляющим fft Спасибо, попробую погуглить в этом направлении. Но опять же смущает заявленная у них точность 0.013%. Я думал что любая апроксимация может увеличиить только разрешающую смособность, но не гарантировать точность. А у них получается что точность на уровне 1/7700, то есть почти в 4 раза выше чем если за точность брать расположение палок исходного FFT. Но тут наверное хитрость в том что точно известна форма искомой функции- чистый синус и это может сыграть. Я вот еще подумал, если после FFT я знаю узкий диапазон и делаю цифровую фильтрацию, отсекая все выше и ниже, может это помочь при дальнейшей обработке? но вот непонятно что за бработка такая.... Спасибо за подсказку, завтра про сплайны почитаю. А насчет нейронных сетей- не та это техника. Это полевой прибор, не для лабораторий. Думаю все сделано по максимуму дубово и без новомодностей.
|
|
|
|
|
Dec 22 2010, 01:49
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(Ruslan1 @ Dec 22 2010, 01:35)  Спасибо, попробую погуглить в этом направлении. Но опять же смущает заявленная у них точность 0.013%. Я думал что любая апроксимация может увеличиить только разрешающую смособность, но не гарантировать точность. А у них получается что точность на уровне 1/7700, то есть почти в 4 раза выше чем если за точность брать расположение палок исходного FFT. Но тут наверное хитрость в том что точно известна форма искомой функции- чистый синус и это может сыграть. ага, сплайн или любая интерполяция повысит только разрешение, но ведь жентельменов нельзя проверить.. если действительно знать, что форма сигнала - синус, то можно поставить PLL и получить требуемое разрешение, уточняя выделенный спектральный максимум постоянным набегом ошибки. Ну это я бы так сделал, как они сделали - трудно догадаться. p.s. про нейронные сети шутка такая, их вставляют куда не попадя в рекламу, как бананотехнологии
|
|
|
|
|
Dec 22 2010, 02:39
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
если вы хотите получить точность 0.001 Гц при использовании fft при неизвестном сигнале, то вы должны наблюдать сигнал 1000 сек. Поэтому по-любому используют дополнительную информацию для повышения точности. Я так понимаю, что исследуется колебание струны , а значит форма сигнала известна (затухающая синусоида), неизвестны лишь несколько параметров, частота, нач фаза, коэффициент затухания или что-то в этом роде. Остается произвести анализ параметров вашего сигнала. Для этого есть куча вариантов, например методом наименьших квадратов путем оптимизации подобрать эти параметры. Если нужна только частота, то можно амплитуду ограничить и ставить PLL, нейронные сети предлагали, в общем поле для фантазии. Цитата 3. Взяли FFT4096 от 0 Hz до 4 Hz и нашли fs = fmin+fbin, причем, ∆fs = 4 Hz / 4096 = 0.0009765625 Hz; Я и говорю надо ждать 1000 сек не думаю что это возможно. Ибо сигнал затухает и нет голой синусоиды а есть некий горбик. И еще должен сказать: Интерполяция не улучшает разрешения спектрального анализа при FFT, но позволяет произвести уточнение частоты вблизи спектрального пика (например по трем наивысшим точкам построить параболу и принять ее максимум за уточненную частоту).
Сообщение отредактировал bahurin - Dec 22 2010, 02:45
|
|
|
|
Сообщений в этой теме
Ruslan1 как это сделано: FFT4096, 100-6500Hz, freq.resolution 0.001Hz Dec 21 2010, 14:51 Fast может быть применен какой-н сплайн к спектральным ... Dec 21 2010, 17:44  =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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|