Проблемы в анализе сигнала
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Проблемы в анализе сигнала
Всем привет.
Возникла проблема анализа оцифрованного сигнала.
Имеется: ацп L-card e14-140 M с предусилителем, брюлевский акселерометр. Устанавливаю на вибростол, задаю частоту 160 Гц и СКЗ 10 мc-2, записываю данные в текстовый файл sim.txt.
В итоге: открываю данные, вижу исходную синусоиду (правда по оси x лабуда какая-то, но это не так важно). Уменьшаю число данный, пропускаю через окно хённинга, провожу спектральный анализ и вычисляю СКЗ. В итоге получаю абсолютное несовпадение.
Помогите кто чем может, пожалуйста.
Заранее благодарен откликнувшимся.!
Возникла проблема анализа оцифрованного сигнала.
Имеется: ацп L-card e14-140 M с предусилителем, брюлевский акселерометр. Устанавливаю на вибростол, задаю частоту 160 Гц и СКЗ 10 мc-2, записываю данные в текстовый файл sim.txt.
В итоге: открываю данные, вижу исходную синусоиду (правда по оси x лабуда какая-то, но это не так важно). Уменьшаю число данный, пропускаю через окно хённинга, провожу спектральный анализ и вычисляю СКЗ. В итоге получаю абсолютное несовпадение.
Помогите кто чем может, пожалуйста.
Заранее благодарен откликнувшимся.!
- Вложения
-
- sin.txt
- Данные
- (139.07 КБ) 105 скачиваний
-
- Analiz.vi
- Программа анализа
- (135.57 КБ) 127 скачиваний
Re: Проблемы в анализе сигнала
здравствуйте Сергей,
поскольку вы используете АЦП для оцифровки сигнала, хорошо бы иметь информацию о его настройках; разрешение АЦП по амплитуде, какую частоту дискретизации и диапазон по вольтажу вы использовали.
У вас достаточно хороший синусоидальный сигнал, боковые гармоники значительно меньше, чем основная. Поэтому спектральное окно использовать несколько излишне.
Если предположить, что частота дискретизации 100 кГц, то ваша синусоида имеет частоту 160.4 Гц (получено с помощью Extract Single Tone Information.vi).
Пока ни каких несовпадений не вижу.
поскольку вы используете АЦП для оцифровки сигнала, хорошо бы иметь информацию о его настройках; разрешение АЦП по амплитуде, какую частоту дискретизации и диапазон по вольтажу вы использовали.
У вас достаточно хороший синусоидальный сигнал, боковые гармоники значительно меньше, чем основная. Поэтому спектральное окно использовать несколько излишне.
Если предположить, что частота дискретизации 100 кГц, то ваша синусоида имеет частоту 160.4 Гц (получено с помощью Extract Single Tone Information.vi).
Пока ни каких несовпадений не вижу.
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
Использовал Extract Single Tone Information.vi. На вход создал тип waveform с dt=1/fs, где fs-частота дискретизации (100000Гц). На выходе получил частоту сигнала 641 Гц. Но раз Вы сказали, что получилось, то начал пытаться найти ошибку и понять что я делаю не так. После некоторого манипулирования установил dt=25000 и получил правильный результат, после чего возник вопрос почему так?
Следуя указаниям по ссылке http://www.labview.ru/forum/viewtopic.p ... 441#p15441 dt=1/fs, где fs-частота дискретизации, а потому запутался почему при 25000 показывает правильно! Подскажите, пожалуйста!
Следуя указаниям по ссылке http://www.labview.ru/forum/viewtopic.p ... 441#p15441 dt=1/fs, где fs-частота дискретизации, а потому запутался почему при 25000 показывает правильно! Подскажите, пожалуйста!
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
И возникла ещё проблема.
Попытался проинтегрировать сигнал (получить виброскорость). Как на всех форумах советуют, использовал Integral x(t). Задал dt=100000 Гц (хотя пробовал уже и 25000 Гц) и получил вот такую картину. Как мне представляется в итоге должна получиться косинусоида (или нет?). И график виброскорости "уходит" вниз- почему? И что такое initial condition и final condition на входе в Integral x(t).
Попытался проинтегрировать сигнал (получить виброскорость). Как на всех форумах советуют, использовал Integral x(t). Задал dt=100000 Гц (хотя пробовал уже и 25000 Гц) и получил вот такую картину. Как мне представляется в итоге должна получиться косинусоида (или нет?). И график виброскорости "уходит" вниз- почему? И что такое initial condition и final condition на входе в Integral x(t).
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Проблемы в анализе сигнала
График интеграла уходит вниз потому что у вас в исходном сигнале есть смещение. То есть среднее значение за период не равно нулю, соответственно и интеграл за период не равен нулю и с каждым периодом это смещение суммируется, именно эта часть и дает смещение на которое у вас наложен косинус.
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
А как от этого избавиться? Возможно ли?
А что по поводу частоты оцифровки? Почему всё правильно работает только при dt 25000?
А что по поводу частоты оцифровки? Почему всё правильно работает только при dt 25000?
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Проблемы в анализе сигнала
Избавиться конечно можно. Если у вас заранее записанный сигнал, то рассчитайте среднее значение и сместите сигнал на эту величину.Сергей писал(а):А как от этого избавиться? Возможно ли?
А что по поводу частоты оцифровки? Почему всё правильно работает только при dt 25000?
Если сигнал надо обрабатывать в реальном времени, то используйте цифровой фильтр, который удаляет постоянную составляющую, например пропускает сигнал от 10 Гц до 10 кГц или какой вам больше нравится.
В реальных системах чаще всего используют фильтр и с помощью него выделяют только нужный вам для анализа диапазон, тем самым и лишние помехи удаляются.
По поводу dt 25000 ничего сказать не могу, надо разбираться с тем, как был получен ваш сигнал. При анализе dt должно быть таким же, как и при сборе данных.
Re: Проблемы в анализе сигнала
Для начала, сделайте новую версию программы. Упростите ее по максимуму. я уже вам ранее писал, что не стоит пока использовать спектральное окно. там есть свои хитрости.Сергей писал:
А как от этого избавиться? Возможно ли?
А что по поводу частоты оцифровки? Почему всё правильно работает только при dt 25000?
По поводу частоты дискретизации: вы должны поставить то значение, которое было задано в самой АЦП, Это значение вы обязаны знать. В своем примере частоту дискретизации АЦП я подбирал под условие вашей задачи.
Не стоит слишком увлекаться Экспресс функциями, если есть встроенные. Посмотрите мой пример. Второй рисунок - детализация вашего сигнала.
в функции "Integral x(t)" зашито интегрирование по формуле Симпсона. Что такое "initial & final" условия - я сам теряюсь в догадках. Поэкспериментировав, могу сказать, что "initial condition" - это, возможно, константа, которая добавляется к вашей функции, и интеграл определяется с учетом этой константы.что такое initial condition и final condition на входе в Integral x(t).
Эти параметры лучше установить в НОЛЬ (что есть по default).
На вашем месте я бы проинтегрировал бы все по прямоугольникам, и только если точности не хватит взялся бы за другие методы интегрирования.
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
Стало гораздо яснее. Частота оцифровки -100000 кГц.
На ачх вижу заданную мной частоту, благодарю.
Насколько понимаю, СКЗ теперь необходимо подбирать коэффициентом (я его обозначил "подгонка") из-за смещения нуля и неточности передачи масштаба самой АЦП? Или использовать штатные корректировочные коэффициенты? Подскажите пожалуйста что лучше? Или это вообще по-другому делается?
Так же провёл двойное интегрирование. На АЧХ так же вижу задаваемую частоту. Как проверить амплитуду интегрированного сигнала, если я знаю только СКЗ ускорения? или при такой схеме интегрирования, никаких ошибок быть не может и с "закрытыми глазами" можно доверять результатам?
Какие есть хитрости в применении спектрального окна? Где можно прочитать?
Чем плохи экспресс функции?
На ачх вижу заданную мной частоту, благодарю.
Насколько понимаю, СКЗ теперь необходимо подбирать коэффициентом (я его обозначил "подгонка") из-за смещения нуля и неточности передачи масштаба самой АЦП? Или использовать штатные корректировочные коэффициенты? Подскажите пожалуйста что лучше? Или это вообще по-другому делается?
Так же провёл двойное интегрирование. На АЧХ так же вижу задаваемую частоту. Как проверить амплитуду интегрированного сигнала, если я знаю только СКЗ ускорения? или при такой схеме интегрирования, никаких ошибок быть не может и с "закрытыми глазами" можно доверять результатам?
Какие есть хитрости в применении спектрального окна? Где можно прочитать?
Чем плохи экспресс функции?
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
Нашёл такие зависимости:
СКЗуск=СКЗскор*2пи*F
СКЗпер=СКЗскор/(2*пи*F)
Проверил по ним свои значения- получаются верные данные.
Остался вопрос про использовании спектрального окна, где можно про него что-нибудь прочитать или может кто расскажет?
СКЗуск=СКЗскор*2пи*F
СКЗпер=СКЗскор/(2*пи*F)
Проверил по ним свои значения- получаются верные данные.
Остался вопрос про использовании спектрального окна, где можно про него что-нибудь прочитать или может кто расскажет?
Re: Проблемы в анализе сигнала
Здравствуйте Сергей,
книгу по использованию спектральных окон вы можете найти в этой теме http://labviewportal.eu/viewtopic.php?f=81&t=4554
Во первых, спектральное окно дает уменьшение уровня амплитуд в спектре, так если используете окно Hanning, то амплитудный спектр надо умножить на 2, чтобы максимум был равен случаю без спектрального окна.
Во вторых, спектральное окно расширяет основной лепесток, и если у вас в сигнале есть 2 соседние гармоники, вы их можете не увидеть.
В третьих, выше я показывал, что ваш сигнал близок к синусоидальному, правда частота сигнала у вас несколько плывет. А от этого спектральное окно не помогает.
книгу по использованию спектральных окон вы можете найти в этой теме http://labviewportal.eu/viewtopic.php?f=81&t=4554
Во первых, спектральное окно дает уменьшение уровня амплитуд в спектре, так если используете окно Hanning, то амплитудный спектр надо умножить на 2, чтобы максимум был равен случаю без спектрального окна.
Во вторых, спектральное окно расширяет основной лепесток, и если у вас в сигнале есть 2 соседние гармоники, вы их можете не увидеть.
В третьих, выше я показывал, что ваш сигнал близок к синусоидальному, правда частота сигнала у вас несколько плывет. А от этого спектральное окно не помогает.
-
- user
- Сообщения: 94
- Зарегистрирован: 19 окт 2010, 21:21
- Версия LabVIEW: 2009
- Контактная информация:
Re: Проблемы в анализе сигнала
Спасибо, IORIK.
Книгу скачал- разбираюсь.
Синус, который я приводил-это только пример (трудно работать с чем-то большим, если не можешь справиться с маленьким). В дальнейшем будет производиться анализ сигнала со спектром от 50 Гц до 10 кГц. Спасибо за советы и помощь.
Книгу скачал- разбираюсь.
Синус, который я приводил-это только пример (трудно работать с чем-то большим, если не можешь справиться с маленьким). В дальнейшем будет производиться анализ сигнала со спектром от 50 Гц до 10 кГц. Спасибо за советы и помощь.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 14 Ответы
- 595 Просмотры
-
Последнее сообщение IvanLis