Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • Приглашаем принять участие в работе над нашей Wiki.
  • Наша рассылка: subscribe.ru, content.mail.ru и Google groups.
  • Есть желающие вести новостную ленту "В мире технологий"?
   Начало   Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Спектрограмма  (Прочитано 1156 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« : 27-01-2012 15:01 » 

Подскажите нормальную литературу на русском языке или вкратце объясните физическую суть спектрограммы звукового файла

а то находится всё такое заумное и только в виде формул. Я никак не могу в суть въехать Жаль

а задача - разобрать WAV файл (это я смог, там несложно), а потом пи помощи БПФ нужно получить спектрограмму. Цель - в некоторой записи у них там появился какой-то левый сигнал, его и надо выцепить
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 27-01-2012 15:38 » 

сигнал можно представить в виде суммы каких то функций.
в случае БПФ - идет представление в виде суммы набора синусов-косинусов кратных частот(периода) с заданными амплитудами и фазами.
массив значений амплитуд этих синусов/косинусов для такого представления и является амплитудным спектром)

каждый спектральный отсчет отражает "вес" синусоиды данной частоты в исходном суммарном сигнале)



Добавлено через 4 минуты и 36 секунд:
например разложение для прямоугольного сигнала
(по трем синусоидам, So - синусоида с нулевой частотой то есть константа)
соответственно говорят, что спектр такого сигнала состоит из энного числа гармоник.

« Последнее редактирование: 27-01-2012 15:46 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #2 : 27-01-2012 15:57 » 

эту часть я понимаю- с этим ещё в универе познакомился

только такой момент: набор сэмплов в файле - это последовательность амплитуд, каждая за небольшой отрезочек времени, так ? То есть, если их рядом нарисовать, получится (условно) ступенчатая цифровая синусоида

вопрос: как из этого получить спектрограмму , как ещё отобразить и как анализировать увиденное на ней ?

Добавлено через 3 минуты и 25 секунд:
к примеру, вот он в какой-то программе смотрел спектр. И я там вижу линии - как это читать ? Как это строить ?


* sp.jpg (96.59 Кб - загружено 150 раз.)
« Последнее редактирование: 27-01-2012 16:01 от Алексей1153 » Записан

Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 27-01-2012 17:25 » 

задача - разобрать WAV файл (это я смог, там несложно), а потом пи помощи БПФ нужно получить спектрограмму.

Слишком тернистый путь выбрали, тем более для звукового файла. Достаточно установить какой-нибудь звуковой редактор профессионального уровня (например, CoolEdit или его наследников, как там они сейчас называются). Там есть опция - можно выделить мышкой фрагмент и построить его спетрограмму.

Цель - в некоторой записи у них там появился какой-то левый сигнал, его и надо выцепить

Без проблем, при помощи CoolEdit я легко решал подобные задачи. Например, я налаживал AVR для системы IP-телефонии, и некоторые клиенты жаловались, что нажимали кнопки на аппарате, а срабатывали неправильные опции меню. Я попросил их понажимать кнопки поочередно от 0 до 9 на своем аппарате, записал сигнал в звуковой файл, проанализировал и увидел, что в спектре, помимо "правильных" частот DTMF, есть много лишней грязи, которая сбивала с толку программу распознавания тонального набора (дешевые китайские аппараты в то время часто грешили этим, в последнее время с подобной проблемой уже не сталкивался).
 
только такой момент: набор сэмплов в файле - это последовательность амплитуд, каждая за небольшой отрезочек времени, так ? То есть, если их рядом нарисовать, получится (условно) ступенчатая цифровая синусоида

Если интересует теория - то вкратце начать можно отсюда, а далее по ссылкам. Вся цифровая обработка сигналов (и звука в частноти) строится на оцифровке выборок и дальнейшей их обработке. Впрочем, если нужно лишь решить конкретную задачу, закапываться в теорию не обязательно, достаточно взять готовый инструмент (см. выше).

вопрос: как из этого получить спектрограмму ,

См. выше.

как ещё отобразить

См. выше.

и как анализировать увиденное на ней ?

А вот это уже творческий процесс, готовый рецепт заочно дать не могу.
Записан

Если вы считаете, что хорошая архитектура - это слишком дорого, попробуйте плохую.
Brian Foote, Joseph Yoder
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #4 : 27-01-2012 18:52 » 

Dale, дык, в том и дело, что я в этом не силён Улыбаюсь Может быть ты человеку поможешь, если не сложно ? Очень уж ему надоть. Не бесплатно, само собой. Если согласишься, напиши ЛС, а там разберёмся
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 27-01-2012 19:39 » 

последняя картинка эт не совсем спектр. это ... называют по разному, я привык к называнию сонограмма (еще зовут спектрограммой). (по англицки waterfalls)
по вертикали отложено время,
по горизонтали - частота.
цветовой гаммой -амплитуда. (в данном случае - в желтый большая амплитуда, в синий - меньшая)

файл разбивается на пачки длинной N.
от каждой берется БПФ длиной N
 (сигнал действительный - спектр симметричный, отображается половина полученной после БПФ пачки): каждая строка - пачка преобразования.
« Последнее редактирование: 27-01-2012 19:40 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #6 : 27-01-2012 19:43 » 

каждая строка - пачка преобразования.
то есть, вся эта сонограмма получается шириной в условные N единиц времени, а строки пикселов, растущие вверх, строятся как развёртка луча ЭЛТ ?  как бы переносятся
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 27-01-2012 19:44 » 

ну в данном случае сигнал действительный - спектр будет симметричный. поэтому ширина N/2

Добавлено через 6 минут и 24 секунды:
только ширина это уже не время а спектральные отсчеты
с шагом частоты между точками по горизонтали... dF = Fдискретизации/N [Гц]
а по вертикали шаг строчек =  N/Fдискретизации [сек]

PS частоты от 0 до  Fдискретизации/2 [Гц]

PPS полная длина по вертикали(времени) = Lотсчетов файла/N/Fдискретизации [сек]

PPPS N - степень двойки, 1024, 2048 и т.д. при использовании БПФ
« Последнее редактирование: 27-01-2012 19:51 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #8 : 27-01-2012 20:07 » 

аааа, мой моск )

а как оно так точно по вертикали синхронизируется ?
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 27-01-2012 20:07 » 

что значит точно?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #10 : 27-01-2012 20:11 » 

вертикальные линии - прямые получились на рисунке. Как этого добиваются ? Мне почему-то кажется, что всегда наклонные должны бы выходить. Но вижу, что это не так
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 27-01-2012 20:24 » 

просто исходный сигнал такой.
то что ты видишь вертикальные линии - означает что в сигнале в течении всего файла постоянно присутствуют компоненты с одной частотой и почти неизменной амплитудой(громкостью)

ну это как нажали на фортепьяно одну клавишу "Ля" средней октавы... одна нота - одна частота(грубо).
пока она громко звучит - в сигнале присутствует частотная составляющая с частотой 440Гц и некоторой амплитуды(яркости)
как только она начинает затихать - амплитуда падает(частота не меняется) - яркость пропадет)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #12 : 27-01-2012 20:31 » 

кажись , понемногу доходит )) А косая линия -это, выходит, и есть тот таинственный сигнал, причём он не постоянный, а , вроде, краткий импульс
Записан

Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 27-01-2012 20:38 » 

Алексей1153++, а чего нам по личкам прятаться, вроде ничего плохого не затеваем. Выкладывайте запись, будем смотреть. Если помеха монохромная, то можем попробовать вырезать узкополосным заградительным фильтром (например, параметрическим эквалайзером). Или, если у парней есть нормальная аппаратура, тогда подскажу им настройки, как эту помеху задавить на уровне железа.
Записан

Если вы считаете, что хорошая архитектура - это слишком дорого, попробуйте плохую.
Brian Foote, Joseph Yoder
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #14 : 27-01-2012 20:40 » 

Dale, я ему ссылку на эту тему дал. Пусть сам расскажет, что ему надо , а мне, похоже, без стакана кефира не разобраться нифига ))
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 27-01-2012 20:45 » 

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

ее надо выделить из помех?)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей1153++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Златоуст, Россия Сообщений: 13


« Ответ #16 : 28-01-2012 05:02 » 

видимо да

ждём автора всей затеи Улыбаюсь
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 28-01-2012 14:02 » new

"Галочка" - это сигнал с качающейся  частотой. Таких ровных в природе не встречается - сигнал явно искусственного происхождения. Обычно получают частотной модуляцией. Например, воздействием НЧ сигнала на запертый диод (не обязательно варикап), включенный в ВЧ колебательный контур. Подавить такой сигнал полосовым фильтром не выйдет - проще подавить модулирующий сигнал или нарушить условия модуляции.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Переводы технических терминов.
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 28-01-2012 17:08 » 

RXL, чего гадать, надо подробностей дождаться)
что за сигнал, каковы его параметры, что с ним надо сделать...
какие его параметры необходимо выделить, какие требования к обнаружению.
ну и что за среда распространения сигнала...

мне он пока напоминает ЛЧМ радиозонд в полосе пары МГц. если это так- то ничего "левого" в нем нет)))
и если это так - то файл видимо в комплексной форме записан.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
afess
Читатель

ru
Offline Offline

« Ответ #19 : 28-01-2012 19:44 » 

Всем привет! Пишет автор затеи, по которой ведется разговор. Постараюсь максимально описать свою задачу:
Есть wav файл с высокой частотой дискретизации (около 2 млн.) http://narod.ru/disk/38033302001/documents.zip.html (91 мб).
Этот файл записывался с программы "Perseus", которая работает вкупе с одноименным приемником радио эфира в диапазоне от 2 до 40 Мгц (вроде бы).
Сигнал писался на частоте 9 Мгц. На данном файле проскочил сигнал с ЛЧМ (короткая волна, она самая галочка на картинке выше), вероятно посланного из какой-то точки земного шара, отразившегося от ионосферы и попавшего в зону приема.
Нужно написать программу на С++ под QT, которая сможет прочитать этот wav файл и отобразить и отобразить его частотный спектр Быстрого Преобразования Фурье (БПФ),
подобными возможностями обладает программа Adobe Audition (картинка — это как раз wav файл открытый в этой программе в частотном спектре).
Это первый этап моей работы, а в последующие как раз и надо будет работать над определением параметров таких вот сигналов — строить ионограммы по этим сигналам, прослеживать куда этот сигнал направлялся и разработать алгоритм местоопределения передатчиков сигналов ЛЧМ.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #20 : 28-01-2012 20:34 » 

afess, Я насколько знаю, точную точку передатчика узнают по трем пеленгам вынесенным на достаточно большие растояния. А у тебя еше отраженный (считай, хорошо искаженный) сигнал. И не факт, что можно даже уловить направление даже с узконаправленной антенной.
« Последнее редактирование: 28-01-2012 20:53 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 28-01-2012 23:58 » 

Если нужна теория, рекомендую: http://www.dspguide.com/pdfbook.htm
Книга уже много лет пополняется и бесплатно доступна в виде pdf.

Дискретное преобразование Фурье берет на вход N семплов и дает на выход N/2+1 комплексных чисел, где каждое число отображает амплитуду и фазу для данной частоты (амплитуда, умноженная на cos и sin для фазы сигнала на данной частоте в начале семпла). Частота для числа - Fsample/n, где n = 1..N/2. Дополнительное число сверх N/2 дает амплитуду постоянной составляющей. Примерно так.

Для поиска Фурье может и не потребоваться. Возможно можно обойтись сверткой (convolution).
« Последнее редактирование: 29-01-2012 00:08 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Переводы технических терминов.
afess
Читатель

ru
Offline Offline

« Ответ #22 : 29-01-2012 07:24 » 

Спасибо, DSP guide — очень полезное руководство, я нашел на русском языке, может кому-нибудь понадобится DSP_Guide_Перевод М.Ф.Козлова.zip
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines