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

Простейшие вопросы в области инженерной разработки

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

Postby Moleculo on 09 Apr 2014, 17:27

Добрый день.
Есть программа, показывающая спектр открываемого wav файла. Нужно построить кривую - огибающую спектра, как это можно сделать? Насколько я понял необходимо использовать преобразование Гилберта, но мыслей как это все собрать у меня не появляется.
Спасибо.
Moleculo
interested
interested
 
Posts: 8
Joined: 09 Apr 2014, 17:18
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 09 Apr 2014, 18:02

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

1.png

DetectSignalEnvelope.vi
lv2010
(16.16 KiB) Downloaded 112 times
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

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

Postby Moleculo on 10 Apr 2014, 15:20

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

Если рассмотреть такой пример.
1.jpeg


Можно ли получить кривую такого вида (красная кривая)?
3.jpg


P.S. Почему то файлы с форума у меня не загружаются.
Attachments
2.jpeg
Moleculo
interested
interested
 
Posts: 8
Joined: 09 Apr 2014, 17:18
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 10 Apr 2014, 16:02

Moleculo wrote:Можно ли получить кривую такого вида (красная кривая)?

если выделять огибающую до "модуля", то можно
там симметрия нужна
Без имени.png

Untitled 1.vi
lv2010
(20.64 KiB) Downloaded 90 times


Moleculo wrote:P.S. Почему то файлы с форума у меня не загружаются.

это после взлома форума, сейчас работают над проблемой
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

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

Postby Moleculo on 10 Apr 2014, 16:34

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

А надо именно что то похожее на синусоиду.
Moleculo
interested
interested
 
Posts: 8
Joined: 09 Apr 2014, 17:18
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 10 Apr 2014, 17:47

Moleculo wrote:А надо именно что то похожее на синусоиду.

Я больше никак помочь не могу. Вы пытаетесь молотком копать.

Нужно определиться с задачей и найти подходящее решение.
Попробуйте через фильтр пропустить, но там фазовый сдвиг будет относительно исходного сигнала.
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

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

Postby Moleculo on 10 Apr 2014, 18:41

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

Исходная задача такова:
1. Открыть звуковой wav файл и получить его временной и частотный спектры - с этим я справился и выглядит это так:
5.jpeg


2. Далее, насколько я понял, от меня требовалось: построить огибающую спектра (должно получиться что то вроде синусоиды), по которой можно было бы судить о частоте изменения громкости сигнала. На данном этапе мои чахлые способности в LabVIEW совсем завяли. Погуглив, единственное что я нашел, это то что огибающие строятся с помощью эдакого преобразования Гильберта.
Moleculo
interested
interested
 
Posts: 8
Joined: 09 Apr 2014, 17:18
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 10 Apr 2014, 20:18

Moleculo wrote:2. Далее, насколько я понял, от меня требовалось: построить огибающую спектра (должно получиться что то вроде синусоиды), по которой можно было бы судить о частоте изменения громкости сигнала. На данном этапе мои чахлые способности в LabVIEW совсем завяли. Погуглив, единственное что я нашел, это то что огибающие строятся с помощью эдакого преобразования Гильберта.


Какая связь между огибающей спектра и изменением громкости?
Спектр - это представление в частотной области.
А громкость изменяется во времени.
Вам мне кажется нужно строить огибающую сигнала именно во временной области, тут как раз и должно все получиться.
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

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

Postby Moleculo on 10 Apr 2014, 20:38

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

Да, я имел ввиду именно временную область (она именуется временным спектром если я правильно понимаю).
Как это можно реализовать?
Moleculo
interested
interested
 
Posts: 8
Joined: 09 Apr 2014, 17:18
LabVIEW Version: 8
Karma: 0

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

Postby IvanLis on 11 Apr 2014, 07:26

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

По поводу спектра ничего сказать не могу, но я такой термин впервые слышу.

Реализуется преобразованием Гильберта, как в примере, проблем быть не должно.
Вы пробовали проделать это с реальным сигналом, а не искусственным с частотой 15 Гц?
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

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

Postby Iri6a90 on 11 May 2014, 10:21

Ребят, помогите. Мне в принципе надо сделать то, что в этой теме описано. Только сигнал у меня звук легких... выглядит так(рис.1).
Нужно построить огибащую красивую такую(рис.2). Это возможно? не захватывать все частоты? Что за это отвечает в этой конструкции ВП с Гильбертом.
Attachments
hu.png
рис.1
hu).png
рис.2
Iri6a90
interested
interested
 
Posts: 8
Joined: 03 May 2014, 10:17
LabVIEW Version: 12.0
Karma: 0

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

Postby mixail_ on 11 May 2014, 13:28

Iri6a90 wrote:Ребят, помогите. Мне в принципе надо сделать то, что в этой теме описано. Только сигнал у меня звук легких... выглядит так(рис.1).
Нужно построить огибащую красивую такую(рис.2). Это возможно? не захватывать все частоты? Что за это отвечает в этой конструкции ВП с Гильбертом.

наверное нужно строить не красивую, а правильную. если нужна огибающая сигнала то vi из второго поста подойдет
mixail_
user
user
 
Posts: 93
Joined: 05 Jun 2013, 08:58
LabVIEW Version: 13
Karma: 9

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

Postby kiparym on 13 May 2014, 10:21

Вам требуется получить значения модуля сигнала. Используйте преобразование Гильберта (пост_№ 2).
Преобразование Гильберта – это получение комплексной составляющей из действительного сигнала. Модуль этого сигнала и есть огибающая временного сигнала. При применении преобразователя необходимо помнить, что преобразователь имеет переходную характеристику (ему надо разогнаться). Результат - сильные искажения в начале файла. Для непрерывных преобразований необходимо реализовать режим «Point By Point».
User avatar
kiparym
assistant
assistant
 
Posts: 142
Joined: 06 Sep 2011, 08:52
Location: г. Саров
LabVIEW Version: 8.2 & 2011
Karma: 27

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

Postby jane_wild on 21 Jun 2017, 19:21

Здравствуйте, нужна помощь. Как убрать (уменьшить) искажения сигнала. Строю огибающую синусоиды при помощи HilbertTransform.vi (пример использования которого любезно предоставил IvanLis за что ему низкий поклон.) Проблема в том что в начале построения огибающей происходят искажения, как от них избавиться? На скриншотах это хорошо видно. На скриншотах Синусоида 2000 Гц (красная линия). Огибающая (Зеленая) Sample Rate 30000 и обновление экрана 0.1 сек. Т.е. DAQ прислала 3000 отсчетов я по ним построила огибающую и вывела на Chart, пришли следующие 3000, я их снова преобразовала и Chart добавил к уже имеющимся. Так вот в местах "склейки" и происходят искажения огибающей, оригинальный сигнал выглядит нормально. (конечно увеличив частоту оцифровки, можно получить синусоиду и "покрасивше" , но эта вполне устраивает)
Первый screenshot без zoom, хорошо виден шум (зеленый плот). На втором screenshot увеличенный кусок, хорошо видны зеленые выбросы (места склейки) На третьем еще больше увеличеный кусок с самим выбосом. Как их убрать?
Спасибо.
Attachments
No Zoom.PNG
Signal 2000 Hz with no zoom
Zoom 1.PNG
Zoom 1
Zoom 2.PNG
Zoom 2
jane_wild
beginner
beginner
 
Posts: 27
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2013
Karma: 0

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

Postby IvanLis on 21 Jun 2017, 20:43

jane_wild wrote:Первый screenshot без zoom, хорошо виден шум (зеленый плот). На втором screenshot увеличенный кусок, хорошо видны зеленые выбросы (места склейки) На третьем еще больше увеличеный кусок с самим выбосом. Как их убрать?

Тут без переходных процессов не обойтись.
Пропустите полученный сигнал огибающей через ФНЧ, подберите частоту среза, что бы убрать эти всплески.
User avatar
IvanLis
professor
professor
 
Posts: 4404
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 680
hardware VIP bloggers teachers

Next

Return to Для чайников

Who is online

Users browsing this forum: No registered users and 8 guests

cron