Построение огибающей спектра

Простейшие вопросы в области инженерной разработки
Moleculo
interested
interested
Сообщения: 8
Зарегистрирован: 09 апр 2014, 17:18
Версия LabVIEW: 8

Построение огибающей спектра

Сообщение Moleculo »

Добрый день.
Есть программа, показывающая спектр открываемого wav файла. Нужно построить кривую - огибающую спектра, как это можно сделать? Насколько я понял необходимо использовать преобразование Гилберта, но мыслей как это все собрать у меня не появляется.
Спасибо.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

Moleculo писал(а):Добрый день.
Есть программа, показывающая спектр открываемого wav файла. Нужно построить кривую - огибающую спектра, как это можно сделать? Насколько я понял необходимо использовать преобразование Гилберта, но мыслей как это все собрать у меня не появляется.
Спасибо.
1.png
DetectSignalEnvelope.vi
lv2010
(16.16 КБ) 317 скачиваний
Moleculo
interested
interested
Сообщения: 8
Зарегистрирован: 09 апр 2014, 17:18
Версия LabVIEW: 8

Re: Построение огибающей спектра

Сообщение Moleculo »

Спасибо, только получается не совсем то что ожидал.

Если рассмотреть такой пример.
1.jpeg
Можно ли получить кривую такого вида (красная кривая)?
3.jpg
P.S. Почему то файлы с форума у меня не загружаются.
Вложения
2.jpeg
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

Moleculo писал(а):Можно ли получить кривую такого вида (красная кривая)?
если выделять огибающую до "модуля", то можно
там симметрия нужна
Без имени.png
Untitled 1.vi
lv2010
(20.64 КБ) 254 скачивания
Moleculo писал(а):P.S. Почему то файлы с форума у меня не загружаются.
это после взлома форума, сейчас работают над проблемой
Moleculo
interested
interested
Сообщения: 8
Зарегистрирован: 09 апр 2014, 17:18
Версия LabVIEW: 8

Re: Построение огибающей спектра

Сообщение Moleculo »

Спасибо, получилось если брать два синуса.
А если я складываю синус с, допустим, миандром, то получается что то такое:
4.jpeg
А надо именно что то похожее на синусоиду.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

Moleculo писал(а):А надо именно что то похожее на синусоиду.
Я больше никак помочь не могу. Вы пытаетесь молотком копать.

Нужно определиться с задачей и найти подходящее решение.
Попробуйте через фильтр пропустить, но там фазовый сдвиг будет относительно исходного сигнала.
Moleculo
interested
interested
Сообщения: 8
Зарегистрирован: 09 апр 2014, 17:18
Версия LabVIEW: 8

Re: Построение огибающей спектра

Сообщение Moleculo »

Ладно :D я просто хотел постепенно вникнуть в суть.

Исходная задача такова:
1. Открыть звуковой wav файл и получить его временной и частотный спектры - с этим я справился и выглядит это так:
5.jpeg
2. Далее, насколько я понял, от меня требовалось: построить огибающую спектра (должно получиться что то вроде синусоиды), по которой можно было бы судить о частоте изменения громкости сигнала. На данном этапе мои чахлые способности в LabVIEW совсем завяли. Погуглив, единственное что я нашел, это то что огибающие строятся с помощью эдакого преобразования Гильберта.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

Moleculo писал(а):2. Далее, насколько я понял, от меня требовалось: построить огибающую спектра (должно получиться что то вроде синусоиды), по которой можно было бы судить о частоте изменения громкости сигнала. На данном этапе мои чахлые способности в LabVIEW совсем завяли. Погуглив, единственное что я нашел, это то что огибающие строятся с помощью эдакого преобразования Гильберта.
Какая связь между огибающей спектра и изменением громкости?
Спектр - это представление в частотной области.
А громкость изменяется во времени.
Вам мне кажется нужно строить огибающую сигнала именно во временной области, тут как раз и должно все получиться.
Moleculo
interested
interested
Сообщения: 8
Зарегистрирован: 09 апр 2014, 17:18
Версия LabVIEW: 8

Re: Построение огибающей спектра

Сообщение Moleculo »

IvanLis писал(а):
Moleculo писал(а):Какая связь между огибающей спектра и изменением громкости?
Спектр - это представление в частотной области.
А громкость изменяется во времени.
Вам мне кажется нужно строить огибающую сигнала именно во временной области, тут как раз и должно все получиться.
Да, я имел ввиду именно временную область (она именуется временным спектром если я правильно понимаю).
Как это можно реализовать?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

Moleculo писал(а):Да, я имел ввиду именно временную область (она именуется временным спектром если я правильно понимаю).
Как это можно реализовать?
По поводу спектра ничего сказать не могу, но я такой термин впервые слышу.

Реализуется преобразованием Гильберта, как в примере, проблем быть не должно.
Вы пробовали проделать это с реальным сигналом, а не искусственным с частотой 15 Гц?
Iri6a90
interested
interested
Сообщения: 8
Зарегистрирован: 03 май 2014, 10:17
Версия LabVIEW: 12.0
Контактная информация:

Re: Построение огибающей спектра

Сообщение Iri6a90 »

Ребят, помогите. Мне в принципе надо сделать то, что в этой теме описано. Только сигнал у меня звук легких... выглядит так(рис.1).
Нужно построить огибащую красивую такую(рис.2). Это возможно? не захватывать все частоты? Что за это отвечает в этой конструкции ВП с Гильбертом.
Вложения
рис.1
рис.1
рис.2
рис.2
mixail_
user
user
Сообщения: 93
Зарегистрирован: 05 июн 2013, 08:58
Версия LabVIEW: 13
Контактная информация:

Re: Построение огибающей спектра

Сообщение mixail_ »

Iri6a90 писал(а):Ребят, помогите. Мне в принципе надо сделать то, что в этой теме описано. Только сигнал у меня звук легких... выглядит так(рис.1).
Нужно построить огибащую красивую такую(рис.2). Это возможно? не захватывать все частоты? Что за это отвечает в этой конструкции ВП с Гильбертом.
наверное нужно строить не красивую, а правильную. если нужна огибающая сигнала то vi из второго поста подойдет
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 178
Зарегистрирован: 06 сен 2011, 08:52
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Поблагодарили: 1 раз
Контактная информация:

Re: Построение огибающей спектра

Сообщение kiparym »

Вам требуется получить значения модуля сигнала. Используйте преобразование Гильберта (пост_№ 2).
Преобразование Гильберта – это получение комплексной составляющей из действительного сигнала. Модуль этого сигнала и есть огибающая временного сигнала. При применении преобразователя необходимо помнить, что преобразователь имеет переходную характеристику (ему надо разогнаться). Результат - сильные искажения в начале файла. Для непрерывных преобразований необходимо реализовать режим «Point By Point».
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Построение огибающей спектра

Сообщение jane_wild »

Здравствуйте, нужна помощь. Как убрать (уменьшить) искажения сигнала. Строю огибающую синусоиды при помощи HilbertTransform.vi (пример использования которого любезно предоставил IvanLis за что ему низкий поклон.) Проблема в том что в начале построения огибающей происходят искажения, как от них избавиться? На скриншотах это хорошо видно. На скриншотах Синусоида 2000 Гц (красная линия). Огибающая (Зеленая) Sample Rate 30000 и обновление экрана 0.1 сек. Т.е. DAQ прислала 3000 отсчетов я по ним построила огибающую и вывела на Chart, пришли следующие 3000, я их снова преобразовала и Chart добавил к уже имеющимся. Так вот в местах "склейки" и происходят искажения огибающей, оригинальный сигнал выглядит нормально. (конечно увеличив частоту оцифровки, можно получить синусоиду и "покрасивше" , но эта вполне устраивает)
Первый screenshot без zoom, хорошо виден шум (зеленый плот). На втором screenshot увеличенный кусок, хорошо видны зеленые выбросы (места склейки) На третьем еще больше увеличеный кусок с самим выбосом. Как их убрать?
Спасибо.
Вложения
Signal 2000 Hz with no zoom
Signal 2000 Hz with no zoom
Zoom 1
Zoom 1
Zoom 2
Zoom 2
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Построение огибающей спектра

Сообщение IvanLis »

jane_wild писал(а):Первый screenshot без zoom, хорошо виден шум (зеленый плот). На втором screenshot увеличенный кусок, хорошо видны зеленые выбросы (места склейки) На третьем еще больше увеличеный кусок с самим выбосом. Как их убрать?
Тут без переходных процессов не обойтись.
Пропустите полученный сигнал огибающей через ФНЧ, подберите частоту среза, что бы убрать эти всплески.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»