Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Evgenij Masherov                     2:5020/175.2   05 Jun 2001  13:09:19
 To : Sergey Kabikov
 Subject : ?? Сложение 2-х сигналов ...
 -------------------------------------------------------------------------------- 
 
 Tue Jun 05 2001 11:19, Sergey Kabikov wrote to Evgenij Masherov:
 
  
  SN>>>  Возник вопросец. Каким образом сложить два оцифрованных сигнала
 
  SK> [skip]
 
  EM>> просуммировать (с насыщением, т.е. если сумма больше масимального целого
  EM>> - заменить максимальным целым, а то, если 16384+16384=-32768 -
  EM>> интересные  звуковые эффекты:)
  EM>> и записать на место.
 
  SK> Hесколько спорное утверждение (насчет насыщения). Я предложил бы
  SK> использовать взвешенное суммирование с коэффициентами, в сумме равными
  SK> единице :
  SK>   Результат = К*Сигнал1 + (1 - К)*Сигнал2
  SK> А если нужно _предельное_ качество, то суммировать в 32-битной сетке (или
  SK> даже с плавающей запятой двойной точности ;-) в промежуточный файл, а
  SK> затем нормализовать.
 
  SK> 2SN: Hормализация - это умножение всех входящих в сигнал значений на один
  SK> и тот же коэффициент, выбранный так, чтобы самое бОльшее из них не вышло
  SK> за разрядную сетку. Алгоритм :
  SK> - находим максимальное (естественно, по модулю) из всех мгновенных
  SK> значений нормализуемого сигнала :
  SK>    Maxx := 0;
  SK>    for i:=0 to SignalCount-1 do
  SK>     if ABS(Signal[i]) > Maxx then Maxx := ABS(Signal[i]);
  SK> - вычисляем коэффициент нормализации (32766 - для 16-битной сетки) :
  SK>    Coeff := 32766.0 / Maxx;
  SK> - нормализуем :
  SK>    for i:=0 to SignalCount-1 do
  SK>     Result[i] := ROUND(Coeff * Signal[i]);
  SK> Для простоты изложения все величины (кроме результата) представлены с
  SK> плавающей запятой. Целочисленный случай аналогичен, но требует более
  SK> аккуратного обращения с промежуточными результатами (опасность
  SK> переполнения/потери точности из-за округления).
 
  Это действительно даст лучшее качество, однако апиори коэффициент неизвестен,
 так что онлайн-обработка затруднена. Решение с насыщением - скорее для
 суммирования "на лету", а при обработке доступных на всем протяжении записей
 вычисление нормирующего коэффициента действительно даст лучшее качество
 (насыщение приводит к появлению высших гармоник, для речи это малозначимо, а
 вот музыку изуродовать можно капитально:)
 
 С уважением
 
 Евгений Машеров АКА СанитарЖеня
 
 --- ifmail v.2.15
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ?? Сложение 2-х сигналов ...   Sergey Nikireev   26 May 2001 22:46:58 
 ?? Сложение 2-х сигналов ...   Evgenij Masherov   04 Jun 2001 20:31:46 
 ?? Сложение 2-х сигналов ...   Sergey Kabikov   05 Jun 2001 11:19:38 
 ?? Сложение 2-х сигналов ...   Evgenij Masherov   05 Jun 2001 13:09:19 
 ?? Сложение 2-х сигналов ...   Sergey Kabikov   05 Jun 2001 13:57:20 
 ?? Сложение 2-х сигналов ...   Evgenij Masherov   05 Jun 2001 15:13:45 
 Re: ?? Сложение 2-х сигналов ...   Comoderator Of Ru Algorithms   07 Jun 2001 17:32:15 
 ?? Сложение 2-х сигналов ...   George Shepelev   06 Jun 2001 14:52:54 
 ?? Сложение 2-х сигналов ...   Sergey Andrianov   06 Jun 2001 23:23:20 
 ?? Сложение 2-х сигналов ...   George Shepelev   05 Jun 2001 21:16:01 
 ?? Сложение 2-х сигналов ...   Evgenij Masherov   06 Jun 2001 10:37:22 
 ?? Сложение 2-х сигналов ...   George Shepelev   07 Jun 2001 12:22:26 
 ?? Сложение 2-х сигналов ...   Evgenij Masherov   08 Jun 2001 10:00:20 
 ?? Сложение 2-х сигналов ...   Sergey Nikireev   09 Jun 2001 11:44:01 
 ?? Сложение 2-х сигналов ...   George Shepelev   14 Jun 2001 19:39:23 
 ?? Сложение 2-х сигналов ...   Sergey Andrianov   07 Jun 2001 14:47:50 
 ?? Сложение 2-х сигналов ...   Sergey Andrianov   06 Jun 2001 17:01:33 
Архивное /ru.algorithms/3300c7286fc6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional