Конференция "Media" » Фильтр высоких частот.
 
  • Jeer © (18.12.07 16:42) [20]

    > Sapersky   (18.12.07 16:18) [19]


    Полагаю, это Вы не для меня выложили.
    По большому счету нет разницы в каком базисе выполнять "фильтрацию" - частотном или временном, точно также как и выполнение фильтрации в частотном базисе может быть выполнено не только с использованием преобразования Фурье.
    Поэтому термин "фильтр, убирающий шум" не более чем словосочетание, относящееся к DSP.
    А если кто-то решил, что крапинки на изображении это и есть определение термина "шум" - в школу DSP.
  • @!!ex © (18.12.07 17:51) [21]
    > Может найдем книжки по DSP (ЦОС), почитаем вдумчиво лет
    > так 3 и все это время не будем тут гадать ?
    > Или чтиво западло ?

    Чтови не западло. Уже несколько книг распечатал и вдумчиво читаю.
    Но задачи две. на решение одной - около недели, на решение второй - два месяца...
    И уж конечно у меня нет 3 лет.
  • Jeer © (18.12.07 18:35) [22]

    > @!!ex ©   (18.12.07 17:51) [21]


    Так расскажи, может действительно эти задачи яйца выеденного не стоят, а мы тут копья ломаем:)
  • @!!ex © (18.12.07 18:59) [23]
    > [22] Jeer ©   (18.12.07 18:35)

    Первая сводится к удалению высоких частот из файла с музыкой.
    Нужна спец обработка файла для проекта.
    На это есть неделя.

    Вторая - на вэйвлеты. Это с работой. Нужно построить разложение на спектр. для начала в 1D.
  • Sapersky (18.12.07 21:02) [24]
    Jeer ©   (18.12.07 16:42) [20]

    Да, надо было уточнить, что это автору вопроса дополнительная информация. Подумал, что на примере обработки изображений будет понятнее, всё-таки он графикой занимался, и наверняка писал эти ФНЧ в виде шейдеров для блюра.

    Первая сводится к удалению высоких частот из файла с музыкой.

    В документе по ссылке рекомендуют (если без FT) Gaussian blur.
    http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm
    Пример 1D-фильтра:

    Type
     TFilterBuffer = array [-MaxFilterSize..MaxFilterSize] of Single;

    // генерация "ядра" фильтра ("на лету" считать можно, но медленно)
    // Size - половина фильтра, т.е. 2 => -2..2 => по 5 точкам
    // Sigma - Gauss koeff, controls the strength of filter
    // NB: kernel size must be proportional to Sigma to get correct approximation,
    // e.g Sigma=1.5 -> Size=2, Sigma=2 -> Size=3, etc (лень переводить :)
    procedure GenGaussKernel(Size : Integer; Sigma : Single; Var Dst : TFilterBuffer);
    Var x : Integer;
         ss, DivVal, v : Single;
    begin
    ss:=2*Sqr(Sigma);
    DivVal:=(Sqrt(Pi2) * Sigma);
    v:=0;
    For x:=-Size to Size do begin
     Dst[x]:=Exp(-Sqr(x)/ss) / DivVal; v:=v + Dst[x];
    end;
    v:=(1-v) / (Size * 2 + 1);
    For x:=-Size to Size do Dst[x]:=Dst[x] + v;
    end;

    // собственно фильтрация. Размер фильтра здесь жёстко забит
    s := Src.PStart; e := Src.PEnd;
     Dst.Data[s] := Src.Data[s]; Inc(s);
     Dst.Data[s] := Src.Data[s]; Inc(s);
     Dst.Data[e] := Src.Data[e]; Dec(e);
     Dst.Data[e] := Src.Data[e]; Dec(e); // начало и конец просто копируем
     For n:=s to e do begin
       sum:=0;
       For m:=-2 to 2 do sum:=sum + Src.Data[n+m] * lcmGaussKernel[m];
       Dst.Data[n]:=sum;
     end;

    В сущности, MBo в [7] примерно это и предлагал, только там фильтр "половинчатый" и форма аппроксимируется грубее (хотя для 3 точек может и сойдёт).
  • Jeer © (19.12.07 11:24) [25]
    @!!ex ©   (18.12.07 18:59) [23]
    > Первая сводится к удалению высоких частот из файла с музыкой.


    Это не постановка задачи, а только ее начало.
    Как бы я примерно спросил:)

    Требуется, разработать ФНЧ (LPF) для уменьшения доли верхних частот в музыкальных файлах формата wave ( к примеру ).
    Требования к фильтру:
    - регулируемая частота среза от [Fmin] до [Fmax], задаваемая по уровню 0.7 или - 3 dB;
    - частота дискретизации [исходная из файла]
    - допускаемая нелинейность фазо-частотной характеристики [5]%
    - крутизна спада АЧХ не менее [40] dB
    - неравномерность АЧХ в полосе пропускания не более [1] dB;
    - неравномерность в полосе задерживания [10] dB;
    - подавление сигнала в полосе задерживания не менее [-60] dB;
    - вносимый уровень шумов не более [-10] dB;
  • Jeer © (19.12.07 12:56) [26]

    > Вторая - на вэйвлеты. Это с работой. Нужно построить разложение
    > на спектр. для начала в 1D.


    Это тоже не постановка, а фривольное утверждение, что нужны вейвлеты для разложения чего-то на спектр. Чем FFT не угодил ?
  • @!!ex © (19.12.07 14:34) [27]
    > Это тоже не постановка, а фривольное утверждение, что нужны
    > вейвлеты для разложения чего-то на спектр. Чем FFT не угодил
    > ?

    Фича в том, что у меня такая задача стоит.
    Это вообще практически дословно то, что мне сказали сделать. :)
    Там анализ волнового пространства для Геодезии.
    FFT у них реализован, но с ним проблемы из-за того, что всплески размазываются по всему спектру. Получается белый шум. В вэйвлетах это не так заметно, потому что размазываени всплеска локально.


    > [25] Jeer ©   (19.12.07 11:24)

    Проблема в том, что я уже вчера нарвался.... Оказалось, что копоративную информацию наших партнеров опубликовал... По всей фирме шухер.
    Поэтому не рискую задачу публиковать. поскольку там неординарная идея для которой фильтр нужен, и если конкуренты сдлают это раньше нас, будет очень "обидно".

    Суть задачи в том, что нужно получить значение звуковые низкочастотыне в конкретный момент времени.
    одна из подзадач - синхронизировать колебание модели динамика с звуковой волной.
  • Jeer © (19.12.07 17:22) [28]

    > синхронизировать колебание модели динамика с звуковой волной.


    Понятно - гашение звука в локальном пространстве.
    Такие вещи есть и они работают.


    > FFT у них реализован, но с ним проблемы из-за того, что
    > всплески размазываются по всему спектру. Получается белый
    > шум. В вэйвлетах это не так заметно, потому что размазываени
    > всплеска локально.


    Честно говоря - набор звуков, не более того.
    Без обид.
    Ладно, трудись раб и мечтай о Сатрапии. :)
  • @!!ex © (19.12.07 17:36) [29]
    > Понятно - гашение звука в локальном пространстве.
    > Такие вещи есть и они работают.

    Я знаю что они работают.. :)


    > Честно говоря - набор звуков, не более того.
    > Без обид.
    > Ладно, трудись раб и мечтай о Сатрапии. :)

    Стараюсь исправится, :)
  • имя (15.09.09 14:12) [30]
    Удалено модератором
 
Конференция "Media" » Фильтр высоких частот.
Есть новые Нет новых   [134431   +9][b:0][p:0]