Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/40: Рейтинг темы: голосов - 40, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
1

Сдвиг частот для подавления акустической обратной связи

14.05.2013, 15:41. Просмотров 7540. Ответов 10
Метки нет (Все метки)

Есть звук - делаю БФП, спектр сдвигаю на несколько Герц вправо, делаю обратное БФП - получается какой-то шум резкий. Подскажите пожалуйста, как правильно сдвинуть спектр. Звук 32-битный, 44100Гц, БФП делается с помощью fftw
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2013, 15:41
Ответы с готовыми решениями:

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

Каптча для формы обратной связи
Всем доброго дня. Сделал на своем сайте http://220el.ru, форму обратной связи на каждой...

Форма обратной связи для сайта
взял шаблон для сайта с готовой обратной связью, в инструкции было написано вставлять email в...

UTF-8 для формы обратной связи
Здравствуйте! Я работаю над формой обратной связи с отправкой на электронную почту, все работает...

10
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
14.05.2013, 16:29 2
...а ежели не сдвигать, после IFFT звук оки? Вероятно где-то ошиблись, где, не видно.
0
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
15.05.2013, 10:24  [ТС] 3
Цитата Сообщение от raxp Посмотреть сообщение
...а ежели не сдвигать, после IFFT звук оки? Вероятно где-то ошиблись, где, не видно.
если не сдвигать, то нормально. Вообще, звук обрабатывается порциями по 512 семплов, это может влиять?
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
15.05.2013, 12:12 4
...вот потому и говорю, не видно как. Вы что же, FFT сразу над всеми сэмплами делаете или поочередно все-таки?

...под сэмплом я подразумеваю - выборку за один раз, набор отсчетов в заданном буфере.
0
2008 / 1280 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
15.05.2013, 13:51 5
Цитата Сообщение от 4eaeNeoStudy Посмотреть сообщение
делаю БФП, спектр сдвигаю на несколько Герц вправо, делаю обратное БФП
что это еще за колдунство? Сдвиг спектра есть модуляция, может проще умножать на опорное колебание? А вы в своем коде учитываете, что спектр зеркален относительно половины частоты дискретизации, и сдвигать надо также зеркально, то есть половину вправо, половину влево... А вообще было бы понятнее, если бы вы подробнее описали задачу и приложили код.
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
15.05.2013, 13:58 6
...могу предположить: сдвиг на пару герц используется для подавления обратной связи для акустических систем при возбуждении. Ранее на сельсинах делали.
1
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
15.05.2013, 15:13  [ТС] 7
Цитата Сообщение от raxp Посмотреть сообщение
...могу предположить: сдвиг на пару герц используется для подавления обратной связи для акустических систем при возбуждении. Ранее на сельсинах делали.
да, сдвиг для подавления обратной связи. Я под семплом имел виду, то что вы называете отсчётом. С микрофона с частотой 44100, поступает звук буфером 512 отсчётов (32 битный звук), я делаю БФП - получаю спектр на 512 частот, последняя половина нули. Расстояние между двумя соседнями частотами получается (44100/512 ~ 86 Гц) Чтобы сдвинуть на примерно 5 Гц я добавляю между соседнями частотами 15 нулей, получем спектр на 512 * 16 = 8192 частот, растояние между которыми чуть больше 5 Гц. Затем весь спектр, кроме нулевой частоты, сдвигаю на один отсчет вправо и делаю обратное БПФ, получаю 8192 отсчётов, из которых беру первые 512. Вроде правильно рассуждаю - просто, вроде бы. Получается совсем не очень)
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
15.05.2013, 16:02 8
...вот в конце ошибка: изначально в исходном сигнале 512 отсчетов взято для заданной fd, на выходе имеем буфер отсчетов того же сигнала, но нарезанного как бы чаще (но на той же длине), а вы вдруг выкидываете большую часть восстановленного сигнала. Для записи с тем же размером буфера сырых (но уже сдвинутых по частоте) отсчетов следует сделать прореживание, т.е. взять каждый 17-й из набора 8820 (у меня для нарезки по 5 герц получилось).
0
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
15.05.2013, 16:29  [ТС] 9
что-то не очень понимаю. Когда в спектр добавляю между каждыми частотами нули - это эквивалетно тому, что я взял 512 отсчётов и повторил их 15 раз, итого получил 512*16 отсчётов с той же частотой 44100. Поэтому и при обратном нужно взять 512 первых - частота-та как раз не меняется - или я что-то не понимаю? Или вообще не так делаю?
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
15.05.2013, 16:47 10
...после обратного БПФ вы работаете с огибающей сигнала, вот это то вы и забываете: когда вы добавляете виртуальные гармоники (нули) в исходный спектр - вы имитируете взятие куска огибающей с большим количеством отсчетов, но в конце это та же огибающая на том же временном участке, только нарезана чаще. Просто возьмите листочек бумаги и прорисуйте все пошагово. Ферштеен?
2
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
16.05.2013, 10:01  [ТС] 11
Начинаю понимать, спасибо большое. Буду разбираться
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2013, 10:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Собственный стиль для формы обратной связи
Уважаемые форумчане, подскажите пожалуйста как стилизовать под определенные рамки форму "Заказать...

Порекомендуйте форму обратной связи для Joomla 3
Основные требования: бесплатная (или условно бесплатная), простота настройки, возможность выбрать...

Не хватает php файла для обратной связи
Может кто помочь с написанием недостающего php-файла ну или указанием. Просто такой случай, что на...

Добавление второй формы для обратной связи
В общем такое дело. Понадобилась мне обратная связь на сайт , я верстальщик не программист поэтому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.