Как спектры грамотно сравнивать?
- From
- Evgenij Masherov (2:5020/175.2)
- To
- Stas Polozov
- Date
- 2002-08-11T21:42:17Z
- Area
- RU.ALGORITHMS
From: "Evgenij Masherov" <EMasherow@nsi.ru>
Wed Aug 07 2002 22:00, Stas Polozov wrote to All:
SP> У меня есть кодирование с потерями. Мне нужно установить степень
SP> сходства эталонного сигнала (1) и этого же сигнала после
SP> кодирования/декодирования (2).
SP> (1) и (2) могут быть немного разной длинны, поэтому есть мысль, что
SP> сравнивать надо интегральные характеристики, например частотные спектры.
SP> Так вот вопрос, как это самым путевым образом сделать? Формулку напишите,
SP> плиз.
SP> Вроде примитив, а допереть не могу. По той формулке, до котрой я
SP> додумался
SP> Difference=[спектр(1)-спектр(2)]/спектр(2)
SP> получается, что кодирование присходит одинаково плохо на всех частотах, а
SP> это неправда :) Кстати, пара кодер/декодер может вносить свое постоянное
SP> усиление, как бы мне и этот момент учесть (только лишь
SP> промасштабированные сигналы считаются одинаковыми)?
Разница логарифмов не поможет? Кстати, масштаб сигнала в этом случае будет
сдвигом на постоянную...
SP> PS: я вобще-то пытаюсь решить, что лучше: ogg или mp3 :)
Вообще-то такие вещи решаются прослушиванием. Спектры для сжатия музыки
инструмент грубоватый...
SP> PPS: разница между спектрами, т.е.
SP> спектр(1)-спектр(2)
SP> получается сильно осцилирующей, прямо, блин, rnd какое-то :) так может не
SP> спектры надо сравнивать?
1. Дисперсия спектральной оценки имеет порядок значения этой оценки. С этим
борются либо усредняя по соседним отрезкам, либо по соседним частотам. ИМХО
оба эти способа здесь неадекватны...
Должно оно осциллировать...
2. Один из главных инструментов сжатия в МР3 - использование эффекта
маскирования частот ухом, т.е. сильный сигнал на некоторой частоте позволяет
не учитывать слабые на соседних частотах. Спектр этого не учитывает.
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)