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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Kabikov                       2:5020/175.2   05 Jun 2001  11:19:38
 To : Evgenij Masherov
 Subject : ?? Сложение 2-х сигналов ...
 -------------------------------------------------------------------------------- 
 
 Mon Jun 04 2001 20:31, Evgenij Masherov wrote to Sergey Nikireev:
 
  SN>>  Возник вопросец. Каким образом сложить два оцифрованных сигнала
 
 [skip]
 
  EM> просуммировать (с насыщением, т.е. если сумма больше масимального целого
  EM> - заменить максимальным целым, а то, если 16384+16384=-32768 - интересные
  EM> звуковые эффекты:)
  EM> и записать на место.
 
 Hесколько спорное утверждение (насчет насыщения). Я предложил бы использовать
 взвешенное суммирование с коэффициентами, в сумме равными единице :
   Результат = К*Сигнал1 + (1 - К)*Сигнал2
 А если нужно _предельное_ качество, то суммировать в 32-битной сетке (или даже
 с плавающей запятой двойной точности ;-) в промежуточный файл, а затем
 нормализовать.
 
 2SN: Hормализация - это умножение всех входящих в сигнал значений на один и
 тот же коэффициент, выбранный так, чтобы самое бОльшее из них не вышло за
 разрядную сетку. Алгоритм :
 - находим максимальное (естественно, по модулю) из всех мгновенных значений
 нормализуемого сигнала :
    Maxx := 0;
    for i:=0 to SignalCount-1 do
     if ABS(Signal[i]) > Maxx then Maxx := ABS(Signal[i]);
 - вычисляем коэффициент нормализации (32766 - для 16-битной сетки) :
    Coeff := 32766.0 / Maxx;
 - нормализуем :
    for i:=0 to SignalCount-1 do
     Result[i] := ROUND(Coeff * Signal[i]);
 Для простоты изложения все величины (кроме результата) представлены с
 плавающей запятой. Целочисленный случай аналогичен, но требует более
 аккуратного обращения с промежуточными результатами (опасность
 переполнения/потери точности из-за округления).
 
 С уважением
 Сергей
 
 Ум есть - силы не надо. Опыт есть - ума не надо. (с) любой старик
 
 --- 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/3300c7220281.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional