въпрос за цифров филтър

Съобщение
Автор
jenko
чете и пита
чете и пита
Мнения: 93
Регистриран на: Вто Дек 26, 2006 1:00 am
Местоположение: Стара Загора
Обратна връзка:

въпрос за цифров филтър

#1 Мнение от jenko »

Здравейте!
Проектирам един цифров филтър, който прави 8X овърсемплинг на аудио сигнал. В алгоритъма не използвам традиционните методи за интерполация - филтрация на сигнала на половината от честотата на дискретизация, а метод, базиран на кубичната сплайн интерполация. Идеята беше да избегна фазовите изкривявания при филтрация. При визуализациите забелязах, че при високи честоти се получава модулация на сигнала. Визуализирал съм сигнала след интерполатора, като входната честота на дискретизация е 44.1 kHz, както и реакцията му на единичен входен импулс.
Една от визуализациите е на сигнал от насложени синосоиди с честота до 20kHz. В жълт цвят е сигналът, от който съм дискретизирал и съм го подал на входа на интерполатора, а в син цвят е представен сигнала от изхода му.

Как би се отразила на звука тази модулация при високите честоти и бихте ли коментирали получената преходна харектеристика.
Благодаря предварително!
Пламен
16kHz входен сигнал:
16kHz.jpg
18kHz:
18kHz.jpg
20kHz:
20kHz.jpg
impulse response:
impulse_response.jpg
signal.jpg

Аватар
Veselin Krachunov
BG Audio Team™
BG Audio Team™
Мнения: 361
Регистриран на: Чет Мар 15, 2007 1:00 am
Местоположение: София
Обратна връзка:

Re: въпрос за цифров филтър

#2 Мнение от Veselin Krachunov »

За жалост, такова "биене" (амплитудна модулация) ще се получава винаги, когато честотата, която се опитваш да опишеш, не се явява точен, целочислен делител на дискретизиращата честота (44 100Hz). Няма да имаш биене само при честотите 22 050, 14 700, 11 025, 8 820, 7 350 и т.н. Hz.
Също така - колкото е по-висока честотата, която се опитваш да интерполираш, толкова по-силно (с по-голяма амплитуда) ще е биенето, приближавайки се до 100% при 18-20KHz. Това е обяснимо, понеже там имаш само 2-3 семпъла за период и изобщо не може да се каже от какво са произлезли те - от синусоида ли, от триъгълник ли, или от някакво друго животно...
Още - колкото повече се отдалечаваш от честота, която е целочислен делител на дискретизиращата, толкова по-голяма ще е и честотата на биенето. Примерно - при 22 000Hz ще имаш биене с честота 100Hz, при 21 000Hz - биене 2KHz, при 20 000Hz - биене 4KHz. Т.е. = разликата м/у "твоята" честота и най-близкия целочислен делител на семплиращата, взета по абсолютна стойност и умножена по 2.

Отговор на въпроса с най-добрата интерполация на подобни сигнали дава чичко Клод Шанън, който представя непрекъсната функция s(x), която се опитваме да интерполираме като безкрайна сума от полиноми, раздалечени един от друг на 1/fs (fs е семплиращата честота).
Нещо не мога да кача картинка с формулата, но тя е:
s(x) = сума по n (което се мени от минус-безкрайност до плюс безкрайност) от {sn * sin[pi * (fs*x - n)] / [pi * (fs*x - n)] }
sn са конкретните семпли, pi = 3,14159265358...
За съжаление тази сума е безкрайна и се отнася само за стационарен сигнал (който не се променя във времето), но ти можеш да направиш презастъпващи се "прозорци" с различни профили (Hann, Hamming, косинус, Lanczos, Gaussian, etc...) с дължина 512 или 256 семпъла както е при полифазните филтри на MP3 и Dolby Digital...

Занимавал съм се много с тези неща, ако питаш мен - загубена кауза/време... така или иначе не можеш да възстановиш информацията от там, където вече е орязана. Можеш да направиш други неща, но доколко те ще са успешни зависи от страшно много фактори и най-вече от слуха ти. Не случайно хората слушат NOS (Non-OverSampling, да не се бърка с New-Old Stock).
Има и ултимативни разработки в областта, разбира се, като например един от OS-чип филтрите на Sony (не мога да се сетя маркировката му в момента), който свири превъзходно! Добре би било да му направиш ривърс-енджиниъринг на него (ако имаш с какво да запишеш и анализираш изходящите данни) или направо да го използваш като чип.

Друго, което искам да ти споделя е, че при дигиталното аудио - справянето с проблема за намаляването на джитъра в максимална степен ще ти донесе много повече и по-осезаеми ползи, отколкото заигравката с OS и интерполации. Имай предвид, че дори 16-bit и 44,1KHz са много трудно реализируеми физически (в смисъл - необходими са клокове с точност до пико-секунди и източници на ток със стабилност/безшумност до нано-волти/ампери за да не се "изцапат" дори тези 16-бита и да станат ефективно 15,5 , 15, 14 или по-малко). При честоти от порядъка на 96KHz направо ми се струва невъзможно джитърът да бъде сведен до стойности под времето на един семпъл, което ги прави практически безсмислени. Истинските предимства на тези формати е, че носят нативно в себе си информацията, която горе се опитваш да интерполираш (т.е. "отгатнеш"), а не в това че са физически постижими с що-годе достъпни средства.
Единственият път към Истинското познание е личния опит.
Най-ценното нещо, което можеш да направиш за някого, е да му подариш преживяване.

Мечтай, все едно ще живееш вечно.
Живей, все едно ще умреш днес...

jenko
чете и пита
чете и пита
Мнения: 93
Регистриран на: Вто Дек 26, 2006 1:00 am
Местоположение: Стара Загора
Обратна връзка:

Re: въпрос за цифров филтър

#3 Мнение от jenko »

В някои модели плеъри, примерно Marantz SA-11S1, е предвидена възможността потребителя да избира вида (характеристиката) на цифровия филтър. http://www.shine7.com/audio/Marantz_SA11S1.htm В случая Marantz са използвали три типа филтри. Единия има стръмна АЧХ, но за сметка на това преходната му характеристика затихва бавно във времето. В резултат на това се вижда, че филтърът успешно възстановява синусоидата от 20kHz, без да се забелязва модулация. Другият филтър е с доста полегата хатактеристика, неговата предавателна характеристика затихва много по бързо, но модулацията на сигнала е очевидна(предполагам заради малкия наклон на АЧХ). Този тип филтър малко прилича на моя. Третият филтър е нещо средно между двата.
Та въпроса ми е как преходната характеристика оказва влияние върху звука? Нали все пак сигнала, постъпващ в цифровия филтър е ограничен до честотата на Найкуист, тогава защо се предпочита преходна характеристика, която затихва бързо?

Аватар
velinski
BG Audio Team™
BG Audio Team™
Мнения: 2684
Регистриран на: Пон Яну 24, 2005 1:00 am
Местоположение: Sofia
Обратна връзка:

Re: въпрос за цифров филтър

#4 Мнение от velinski »

Последните плейъри на Sony са с VC24 24-битов variable filter с 5 позиции
Общо взето само стандартният плосък филтър със стръмен срез на 20kHz става за слушане, останалите 4 са пълна мазня в целия диапазон (загуба на резолюция), а би трябвало да е обратното... Ф#2 "Clear" би трябвало да симулира non-oversampling, ама на практика е далече. Добра идея на Sony с лоша реализация.

Изображение

Щом ти се занимава да проектираш ЦФ, пробвай се с 2х и 4х OS, там е по-интересният звук :wink:
STAX SR-007 Mk2 Omega 2 + KGSSHV Carbon
Grado PS-500e + TAG Mclaren 60i
Reference 3A Studio Master + Audiotour Moonphase SE + Audiotour Propaganda DAC + Sony CDP-X3000ES

Аватар
Veselin Krachunov
BG Audio Team™
BG Audio Team™
Мнения: 361
Регистриран на: Чет Мар 15, 2007 1:00 am
Местоположение: София
Обратна връзка:

Re: въпрос за цифров филтър

#5 Мнение от Veselin Krachunov »

Всички тези филтри са бастун с две макари отдолу... Всеки филтър действа върху поредица от семпли, като допуска, че за времето на тази поредица аудио-сигналът ще остане неизменен в честотен смисъл. Което няма как да стане... И колкото по-точно се опитваме да възстановим синусоидите, толкова по-дълъг е интервалът от време, в който допускаме това грубо приближение. За много дълги интервали от време, това се чува като пре-/пост-ехо, а за по-късите - като мазня.

И тук опираме до философския въпрос - ние в крайна сметка синусоиди ли слушаме? Неизменни във времето синусоиди? Ами ако някой горящ клон от огнището изтрещи пръскайки се, за да освободи вътрешните си напрежения, това може ли да се опише със синусоиди? Или по-скоро с някаква делта-функция (off-on-off), която ние се опитваме по един неестествен начин да оприличим на синусоиди, прекарвайки я през мазните си филтри?

Залагайте на NOS, господа - единствено там ситуацията с гореописания клон може да се възпроизведе що-годе адекватно. Истинският, максимално близък до идеален DF трябва да е твърде интелигентен - едва ли не да разпознава всеки звук и инструмент, да го сравнява с някой подобен от огромна база данни, да вижда какво не му е наред, да го подобрява по подходящ начин, след което да го миксира в цялостната звукова картина. Това е задача от калибъра на изкуствения интелект. И пак няма да има гаранция, че не е объркал нещо в разпознаването и не го е интерпретирал по нямащ нищо общо с реалността начин. С прости универсални формулки от по няколко параметъра/коефициента няма как да стане.
Единственият път към Истинското познание е личния опит.
Най-ценното нещо, което можеш да направиш за някого, е да му подариш преживяване.

Мечтай, все едно ще живееш вечно.
Живей, все едно ще умреш днес...

Аватар
velinski
BG Audio Team™
BG Audio Team™
Мнения: 2684
Регистриран на: Пон Яну 24, 2005 1:00 am
Местоположение: Sofia
Обратна връзка:

Re: въпрос за цифров филтър

#6 Мнение от velinski »

Много дълго (~2 години) и обстойно си играх да слушам NOS <> 8xOS с моя Propaganda DAC и стигнах до някои изводи лично за мен като меломан. Поне докато съм във възраст, в която чувам безпроблемно честоти до 20-22kHz (със съответното чуваемо ниво, разбира се), NOS-ът ми яде ценна чуваема ВЧ информация. Изчезват ми обемите на залите, въздухът, фините реверберации, триизмерността на записите. NOS режимът звучи естествено, свежо (за глас), НО плоско, двуизмерно и "тежко" (с изместен баланс към ниската среда) - и от там изморяващо в дългосрочен слушателски аспект. А аз слушам много... някои път по 5-6-7 диска един след друг. Като NOS не мога да слушам повече от 2, изморявам се, изнервям се. Трудно преживявам липсата на обем и триизмерност - това всъщност е най-готината тръпка при слушането на слушалки. Някой ден като оглушея и престана да регистрирам над 12kHz, ще мина на NOS :D

До тогава ще си слушам добрия стар SM5813, който ми дава най-аналогов характер от всички популярни ЦФ наоколо. Само SM5804 е по-добър ПМСМ, ама е pain in the ass да го подкара човек (като начало да го разпои от платка, че нови нЕма, дето вика г-н Сакс-Кобург-Готски) :D

Last but not least - NOS не мога да ползвам 18 и 20-битови ЦАП-ове пълноценно. А 18 бита дават почти пълни 16 монотонност, 16 бита - със зор 14. Та като NOS слушате 14 битови сигнали на практика с орязани високи... Мммммерси :)
STAX SR-007 Mk2 Omega 2 + KGSSHV Carbon
Grado PS-500e + TAG Mclaren 60i
Reference 3A Studio Master + Audiotour Moonphase SE + Audiotour Propaganda DAC + Sony CDP-X3000ES

Публикувай отговор

Обратно към “Цифрово аудио”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 17 госта