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

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

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

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

назначение R6? и тип и глубину обратной связи на VT15?
назначение R6? и тип и глубину обратной связи на VT15?

Фильтр частот 32,4 32,9 33,4 - для чего?
Разбираю готовое устройство по винтикам, чтобы сделать нечто похожее. Это...

Подскажите микросхему с АЦП для съёма частот до 125 МГц.
Нужна микросхема с АЦП с возможностью съёма данных с частотой в 125 МГц. Также...

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

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

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

...под сэмплом я подразумеваю - выборку за один раз, набор отсчетов в заданном буфере.
0
vital792
2002 / 1274 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
15.05.2013, 13:51 5
Цитата Сообщение от 4eaeNeoStudy Посмотреть сообщение
делаю БФП, спектр сдвигаю на несколько Герц вправо, делаю обратное БФП
что это еще за колдунство? Сдвиг спектра есть модуляция, может проще умножать на опорное колебание? А вы в своем коде учитываете, что спектр зеркален относительно половины частоты дискретизации, и сдвигать надо также зеркально, то есть половину вправо, половину влево... А вообще было бы понятнее, если бы вы подробнее описали задачу и приложили код.
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
15.05.2013, 13:58 6
...могу предположить: сдвиг на пару герц используется для подавления обратной связи для акустических систем при возбуждении. Ранее на сельсинах делали.
1
4eaeNeoStudy
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
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
15.05.2013, 16:02 8
...вот в конце ошибка: изначально в исходном сигнале 512 отсчетов взято для заданной fd, на выходе имеем буфер отсчетов того же сигнала, но нарезанного как бы чаще (но на той же длине), а вы вдруг выкидываете большую часть восстановленного сигнала. Для записи с тем же размером буфера сырых (но уже сдвинутых по частоте) отсчетов следует сделать прореживание, т.е. взять каждый 17-й из набора 8820 (у меня для нарезки по 5 герц получилось).
0
4eaeNeoStudy
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
15.05.2013, 16:29  [ТС] 9
что-то не очень понимаю. Когда в спектр добавляю между каждыми частотами нули - это эквивалетно тому, что я взял 512 отсчётов и повторил их 15 раз, итого получил 512*16 отсчётов с той же частотой 44100. Поэтому и при обратном нужно взять 512 первых - частота-та как раз не меняется - или я что-то не понимаю? Или вообще не так делаю?
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
15.05.2013, 16:47 10
...после обратного БПФ вы работаете с огибающей сигнала, вот это то вы и забываете: когда вы добавляете виртуальные гармоники (нули) в исходный спектр - вы имитируете взятие куска огибающей с большим количеством отсчетов, но в конце это та же огибающая на том же временном участке, только нарезана чаще. Просто возьмите листочек бумаги и прорисуйте все пошагово. Ферштеен?
2
4eaeNeoStudy
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 5
16.05.2013, 10:01  [ТС] 11
Начинаю понимать, спасибо большое. Буду разбираться
0
16.05.2013, 10:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 10:01

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

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

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


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

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

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