Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

интерполация с кубичен сплайн
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11019
Страница 1 от 1

Автор:  ku4ansito [ Сря Яну 23, 2013 7:47 pm ]
Заглавие:  интерполация с кубичен сплайн

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

Направи ми впечаление, че при конструирането на цифрови филтри за интерполация някои залагат на по-ефективно филтриране на огледалния спектър над честотата на Найкуист, за да не се получи модулация на сигнала. За сметка на това преходната характеристика на тези филтри затихва бавно и фазовите изкривявания са по- големи. Други залагат на по-полегата АЧХ за сметка на по-бързо затихващи преходни процеси (реакция при единичен входен импулс), в резултат на което се получава тази характерна модулация при високи честоти, но фазовите изкривявания са по- малки.

Как би се отразила на звука според вас тази модулация при високите честоти и бихте ли коментирали получената преходна харектеристика.
Благодаря предварително!
Пламен
16kHz входен сигнал:
Прикачени файлове:
16kHz.jpg
16kHz.jpg [ 278.06 KiB | Прегледано 1358 пъти ]

18kHz:
Прикачени файлове:
18kHz.jpg
18kHz.jpg [ 280.3 KiB | Прегледано 1358 пъти ]

20kHz:
Прикачени файлове:
20kHz.jpg
20kHz.jpg [ 271.63 KiB | Прегледано 1358 пъти ]

impulse response:
Прикачени файлове:
impulse_response.jpg
impulse_response.jpg [ 146.72 KiB | Прегледано 1358 пъти ]

signal:
Прикачени файлове:
signal.jpg
signal.jpg [ 334.73 KiB | Прегледано 1358 пъти ]

Автор:  zaphod [ Чет Яну 24, 2013 11:13 am ]
Заглавие:  Re: интерполация с кубичен сплайн

тая модулация ти е комбинационна между сигнала и семплиращата, предполагам че кубичната интерполация може да я "материализира", понеже е нелинейна. казвам материализира, щото тая комбинационна реално не присъства в сигнала, докато не и вдъхнеш живот с някоя магария. защо не ползваш sin(x)/x, това е функцията която ти гарантира че възстановения сигнал е идинтичен със тая част на сигнала която влиза в обхвата засемплиране. тоест, ако сигнала ти е 20 килохерца, и семплираш с 44, възстановеното ще е точно синусоида 20 килохерца, а не модулирани с 4 килохерца (44-2*20), както е при тебе.

Автор:  ku4ansito [ Чет Яну 24, 2013 5:18 pm ]
Заглавие:  Re: интерполация с кубичен сплайн

zaphod написа:
защо не ползваш sin(x)/x, това е функцията която ти гарантира че възстановения сигнал е идинтичен със тая част на сигнала която влиза в обхвата засемплиране.

Кубичният сплайн беше просто една моя идея. Предполагах, че ще се справи по- добре с възстановяването на сигнала. Може би ако беше от по- висок ред нещата щяха да изглеждат по-добре. Все пак ми е интересно как би се отразила на звука такава една интерполация, сравнена с другите методи. Исках да видя и вашите мнения. Замислил съм да реализирам идеята на ADSP-21369. Входният сигнал ще идва от S/PDIF приемника, ще се обработва, и ще излиза на някой DAC. DSP-то има и вграден ASRC, тъкмо ще мога да сравня получените резултати с тези на вградения ASRC.

Между другото Wadia имат подобна разработка за интерполация, но те твърдят, че използват сплайн от 12 ред:
http://www.wadia.com/technology/digimaster/

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/