igorzep Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 9 minutes ago, アントン said: Проблемы вообще не в точности вычислений, а в оконном характере FFT преобразования. Еще раз - читайте оригинальную литературу, там очень доходчиво объяснено, почему там нет и не может быть (конечно, если алгоритм реализован корректно) никаких оконных артефактов, надо приложить только небольшие усилия, чтоб разобраться. Именно поэтому оно и называется линейной свёрткой в противовес циклической. 2 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 12 минут назад, igorzep сказал: Еще раз - читайте оригинальную литературу, там очень доходчиво объяснено, почему там нет и не может быть (конечно, если алгоритм реализован корректно) никаких оконных артефактов, надо приложить только небольшие усилия, чтоб разобраться. Именно поэтому оно и называется линейной свёрткой в противовес циклической. Давайте по порядку. 1. Окна есть? 2. Наложение окон есть? 3. "условно" достоверные осчёты являются абсолютно достоверными в середине блока на удалении более длины ядра FIR - данное утверждение нуждается в серьёзном доказательстве. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chebum Опубликовано: 2 июля 2018 Автор Поделиться Опубликовано: 2 июля 2018 47 минут назад, アントン сказал: Как выглядит разница? Интегральные 0.002% ни о чём не говорят. На 3 странице есть картинка как выглядит разница. И про интегральность я ничего не говорил. Я поделил максимальную амплитуду ошибки на среднюю амплитуду оригинального сигнала. 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 2 minutes ago, アントン said: 1. Окна есть? Совсем не те, о которых ведёте речь вы. 2. Наложение окон есть? В Overlap&Save - нет. В Overlap&Add есть, но со 100% точной суммой (на сколько позволяет разрядность железа). 3. "условно" достоверные осчёты являются абсолютно достоверными в середине блока на удалении более длины ядра FIR - данное утверждение нуждается в серьёзном доказательстве. FIR - по определению FINITE impulse response, соответственно его действие распространяется только на участок соответствующей ширины ПО ОПРЕДЕЛЕНИЮ. Участок в середине - для него эквивалентен непрерывному, так как там нет "разрыва" / свёртывания в цикл. Это как раз более чем ОЧЕВИДНО даже на пальцах. (посчитайте, хотя бы, для циклического STR). 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 7 минут назад, igorzep сказал: Совсем не те, о которых ведёте речь вы. Да ладно. А как вы без окон будете делать FFT? 8 минут назад, igorzep сказал: В Overlap&Add есть, но со 100% точной суммой (на сколько позволяет разрядность железа). Так это банальный алгоритм оконного перекрытия. 8 минут назад, igorzep сказал: FIR - по определению FINITE impulse response, соответственно его действие распространяется только на участок соответствующей ширины ПО ОПРЕДЕЛЕНИЮ. Участок в середине - для него эквивалентен непрерывному, так как там нет "разрыва" / свёртывания в цикл. Это как раз более чем ОЧЕВИДНО даже на пальцах. (посчитайте, хотя бы, для циклического STR). Ну, возможно, я с вами тут соглашусь. Но хотелось бы точного доказательства. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 2 minutes ago, アントン said: Ну, возможно, я с вами тут соглашусь. Но хотелось бы точного доказательства. Формальные доказательства (выведение формул) присутствует на страницах Википедии. "На пальцах" в картинках - тут https://pdfs.semanticscholar.org/presentation/6197/38ee171d1966471f4e739d166296e7080bc6.pdf 1 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 @igorzep итак про утверждение, что Участок в середине - для него эквивалентен непрерывному. Опровергается элементарно. Расчёт FFT оперирует всем окном. Для эквивалентности участка в центре, необходимо чтобы при разных значениях сигнала за пределами центра, коэффициенты FFT не менялись. А они меняются. Следовательно ни какой эквивалентности нет. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
sewerin Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 Есть ли какие то критерии выбора именно окна Кайзера? Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 2 minutes ago, アントン said: @igorzep итак про утверждение, что Участок в середине - для него эквивалентен непрерывному. Опровергается элементарно. Расчёт FFT оперирует всем окном. Для эквивалентности участка в центре, необходимо чтобы при разных значениях сигнала за пределами центра, коэффициенты FFT не менялись. А они меняются. Следовательно ни какой эквивалентности нет. Редкостный бред вида набор бессмысленных слов! О том, что цикличная FFT _свёртка_ (свёртка, не преобразование FFT в одну сторону!) эквивалентна цикличной STR свёртка мы, кажется, уже договорились. Если нет, предлагаю посетить университетские курсы матана, где вас научат это доказывать. Поэтому, вычёркиваем/забываем FFT и заменяем на STR multiply-add последовательность (определение, собственно, свёртки), и убеждаемся в бредовости разницы FFT и STR и для линейной свёртки. А то так всё можно аргументировать "потому что розовые слоны бороздят просторы большого театра". 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 8 minutes ago, sewerin said: Есть ли какие то критерии выбора именно окна Кайзера? Никакие окна Кайзера, как и никакие другие окна (кроме прямоугольного, т.е. паддинг нулями) - не используется в линеаризации свёртки. 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 14 часов назад, igorzep сказал: Редкостный бред вида набор бессмысленных слов! Ваш уровень понятен - в игнор. Учитесь общаться по-человечески. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 17 минут назад, sewerin сказал: Есть ли какие то критерии выбора именно окна Кайзера? Хэмминг применяется. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Oll740 Опубликовано: 2 июля 2018 Поделиться Опубликовано: 2 июля 2018 Файл выложить можете? www.aes.org/e-lib/browse.cfm?elib=6252 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 В общем, почитал про overlap-add и overlap-save методы, вспомнил матан. Всё достаточно корректно должно работать, но я очень сомневаюсь, что на краях расчитываемых через FFT-IFFT кусочков свёртки, хватит 32 бита fpu. Потому как 32 0.002% - это 16 бит всего. @chebum если есть возможность выложите файл разницу прямой и FFT свёртки. 2 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 1 hour ago, アントン said: Всё достаточно корректно должно работать, но я очень сомневаюсь, что на краях расчитываемых через FFT-IFFT кусочков свёртки, хватит 32 бита fpu. Потому как 0.002% - это 16 бит всего. Ну во первых - сравнивался не пиковый RMS с RMS ошибки, а RMS записи с пиком ошибки. Учитывая, что RMS записи может быть на порядок меньше, чем RMS полноамплитудного синуса, то эффективных бит там будет уже поболе. Однако, если спрашивать меня - всё равно соглашусь, что 32 бита недостаточно для "аудиофильности" процессинга. Причём независимо FFT там, или даже обычные IIR. 32 бит флоат - это лишь 25 бит реального разрешения. Плюс ошибки имеют свойство накапливаться. 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 30 минут назад, igorzep сказал: 32 бит флоат - это лишь 25 бит реального разрешения. Даже 24 - 23 мантисса + знак. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 20 minutes ago, アントン said: Даже 24 - 23 мантисса + знак. В качестве эксперимента тестировал сам: int -> normalized float -> int, сохраняется bit-perfect до 25 бит, работает как 24+знак, хотя везде задокументировано 23+знак. Почему - объяснить не могу, но факт. Тестировал c Java и C. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 36 минут назад, igorzep сказал: В качестве эксперимента тестировал сам: int -> normalized float -> int, сохраняется bit-perfect до 25 бит, работает как 24+знак, хотя везде задокументировано 23+знак. Почему - объяснить не могу, но факт. Тестировал c Java и C. https://ru.wikipedia.org/wiki/Число_одинарной_точности Видимо, из-за этого "Так как в нормализованной двоичной мантиссе целая часть всегда равна единице, то в поле мантиссы записывается только её дробная часть" 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
igorzep Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 Видимо, так и есть, откуда и появляется лишний "бесплатный" бит разрешения. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chebum Опубликовано: 3 июля 2018 Автор Поделиться Опубликовано: 3 июля 2018 4 часа назад, アントン сказал: @chebum если есть возможность выложите файл разницу прямой и FFT свёртки. Ещё раз продублирую ссылку на файл: https://drive.google.com/open?id=1q3uhPbxIIsTOGtRlGz40MAyfi9xaMwEM 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chebum Опубликовано: 3 июля 2018 Автор Поделиться Опубликовано: 3 июля 2018 2 часа назад, igorzep сказал: Однако, если спрашивать меня - всё равно соглашусь, что 32 бита недостаточно для "аудиофильности" процессинга. Можете развить мысль почему так? Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
sewerin Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 Накопление вычислительной ошибки. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Snoc Xua Trom Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 ..ну да, а то тут люди ногти грызут от стресса. Жизнь под откос идет. 1 Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Flaesh Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 1 минуту назад, MikhailM сказал: ..ну да, а то тут люди ногти грызут от стресса На ногах? И вообще свои ли ногти?.. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
アントン Опубликовано: 3 июля 2018 Поделиться Опубликовано: 3 июля 2018 7 часов назад, chebum сказал: Ещё раз продублирую ссылку на файл: https://drive.google.com/open?id=1q3uhPbxIIsTOGtRlGz40MAyfi9xaMwEM Советую его усилить на 90 дб и послушать. 32 бита FPU не хватает явно. Цитата Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.