Чим відрізняється перетворення Фур'є від косинусного перетворення?


75

При розпізнаванні мови передній кінець, як правило, обробляє сигнал, щоб дозволити вилучення функції з аудіо потоку. У цьому процесі двічі застосовується дискретна перетворення Фур'є (DFT). Перший раз після вікон; після цього застосовується Мел бінінг, а потім ще одна трансформація Фур'є.

Однак я помітив, що в розпізнавачах мовлення (наприклад, передній кінець за замовчуванням у CMU Sphinx , наприклад) зазвичай використовується дискретна косинусна трансформація (DCT) замість DFT для другої операції. Яка різниця між цими двома операціями? Чому б ти робив DFT перший раз, а потім DCT вдруге?


Тому декілька пояснили різницю між цими двома процесами. Хтось знає, чому dft і dct використовуються в різний час для розпізнавання мовлення? Чи вважається вихід першого dft симетричним? Або стиснення dct підходить для пакування більшої кількості інформації в перші 13 пунктів (обробка мови, як правило, використовує лише ті)?
Нейт Гленн

Чи пов’язане ваше запитання з частотою мел-частоти , яку задали в іншому запитанні ?
rwong

Моє запитання було 2 частини: різниця між DCT і DFT, і чому DCT часто використовується для обробки сигналів після застосування DFT та Mel Binning, замість іншої DFT.
Нейт Гленн

чому в обробці зображень ми не використовуємо дискретні синусоїдальні перетворення замість дискретного косинусного перетворення?

Привіт римондо, це хороше запитання, але ви поставили це як відповідь. Слід створити нове запитання, щоб його задати.
Нейт Гленн

Відповіді:


48

Дискретна трансформація Фур'є (DFT) і дискретна косинусна трансформація (DCT) виконують подібні функції: вони обидва розкладають дискретний вектор кінцевої довжини на суму масштабованих і зміщених базових функцій. Різниця між ними - тип базисної функції, що використовується кожним перетворенням; DFT використовує набір гармонійно пов'язаних складних експоненціальних функцій, тоді як DCT використовує лише (реальні значення) косинусні функції.

DFT широко використовується для загальних програм спектрального аналізу, які знаходять свій шлях у ряді полів. Він також використовується як будівельний блок для методів, які використовують переваги властивостей подання частоти в області сигналів, таких як алгоритми швидкого згортання та перекриття-додавання.

DCT часто використовується в програмах стиснення даних, що втрачають втрати, такі як формат зображення JPEG. Властивістю DCT, що робить його цілком придатним для стиснення, є його високий ступінь "спектрального ущільнення;" на якісному рівні представлення DCT сигналу, як правило, має більше енергії, сконцентрованої в невеликій кількості коефіцієнтів, порівняно з іншими перетвореннями, такими як DFT. Це бажано для алгоритму стиснення; якщо ви можете приблизно представити вихідний сигнал (часовий або просторовий домен), використовуючи відносно невеликий набір коефіцієнтів DCT, ви можете зменшити потребу в зберіганні даних, зберігаючи лише виходи DCT, що містять значну кількість енергії.


4
@JasonR "на якісному рівні представлення DCT сигналу, як правило, має більше його енергії, сконцентрованої в невеликій кількості коефіцієнтів, порівняно з іншими перетвореннями, такими як DFT." Хмммм ... Я не впевнений, що я повністю з вами згідний з цим питанням - хоча б тому, що DFT вже включає косинус, на який збирається проектувати сигнал, - як тоді DFT може не показувати стільки сили цієї проекції і може бути DCT? Дякую.
Спейсі

3
Це дуже відома особливість DCT, яка пояснює його використання в такій кількості алгоритмів стиснення. Я вважаю, що це стосується граничних умов, прийнятих DCT в краях сигналу, які відрізняються від DFT.
Jason R

23

Я виявив, що деякі деталі у вікі DCT (також поділяється Pearsonartphoto) вказують на те, що DCT добре підходить для програм стиснення. Кінець розділу " Неформальний огляд" є корисним (напівжирне підкреслення - моє).

Зокрема, добре відомо, що будь-які розриви у функції знижують швидкість конвергенції ряду Фур'є ... чим плавніша функція, тим менше термінів у її DFT або DCT потрібно, щоб її точно представити, і тим більше вона можна стиснути ... Однак неявна періодичність DFT означає, що розриви зазвичай виникають на межах ... На відміну від DCT, де обидва межі навіть завжди дають безперервне розширення на межах. Ось чому DCT ... як правило, ефективніше стискають сигнал, ніж DFT та DST. На практиці для таких застосувань зазвичай переважний DCT типу II, частково з міркувань зручності в обчисленні.

Крім того, ви можете виявити, що ця відповідь також є корисною (від math.stackexchange.com). У ньому зазначено:

Косинусні перетворення - це не що інше, як ярлики для обчислення перетворення Фур'є послідовності з особливою симетрією (наприклад, якщо послідовність являє собою зразки з парної функції).


19

Причина, чому ви бачите перетворення Фур'є, що застосовується два рази в процесі вилучення ознак, полягає в тому, що функції базуються на концепції, званій cepstrum. Cepstrum - це гра на спектрі слів - по суті, ідея полягає в перетворенні сигналу в частотну область шляхом перетворення Фур'є, а потім виконувати інше перетворення так, як ніби спектр частоти був сигналом.

Хоча частотний спектр описує амплітуду та фазу кожного діапазону частот, cepstrum характеризує зміни між частотними діапазонами. Особливості, отримані від cepstrum, краще описують мовлення, ніж функції, взяті безпосередньо з частотного спектру.

Є кілька дещо різних визначень. Спочатку перетворення цепструма визначали як перетворення Фур'є -> складний логарифм -> перетворення Фур'є [1]. Інше визначення - перетворення Фур'є -> складний логарифм -> зворотне перетворення Фур'є [2]. Мотивація останнього визначення полягає в його здатності розділяти згорнуті сигнали (людська мова часто моделюється як згортання збудження та голосового тракту).

Популярним вибором, який, як було виявлено, добре працює в системах розпізнавання мовлення, є застосування нелінійного банку фільтрів у частотній області (розмовляння, яке ви згадуєте) [3]. Конкретний алгоритм визначається як перетворення Фур'є -> квадрат величини -> банк фільтруючих розчинів -> реальний логарифм -> дискретний косинусний перетворення.

Тут DCT може бути обраний як друге перетворення, тому що для введення з реальною вартістю реальна частина DFT є різновидом DCT. Причиною, чому DCT є кращим, є те, що вихідний сигнал приблизно декоррельований. Декоррельовані функції можна ефективно моделювати як розподіл Гаусса з діагональною матрицею коваріації.

[1] Bogert, B., Healy, M., and Tukey, J. (1963). Кваліфікаційний аланіз часових рядів для відлуння: штамб, псевдоавтоковаріація, крос-штамб і сафе-крекінг. У працях симпозіуму з аналізу часових рядів, с. 209-243.

[2] Оппенгейм, А. та Шафер, Р. (1968). Гомоморфний аналіз мови. У операціях IEEE з аудіо- та електроакустики 16, стор. 221-226.

[3] Девіс, С. та Мермельштайн, П. (1980). Порівняння параметричних уявлень для розпізнавання односкладових слів у безперервно розмовних реченнях. У операціях IEEE з питань акустики, мови та обробки сигналів 28, стор. 357-366.


Re. PCA у вилученні особливостей: справжній PCA був би безглуздим, оскільки це залежало б від даних! Якщо ви обчислите PCA коефіцієнтів журналу мель-частоти з одного набору даних, а потім з іншого, ви знайдете іншу основу - це означало б, що якщо PCA використовувався в процесі вилучення функцій, функції, витягнуті за одним сигналом, не будуть "t" означають те саме ", що і функції, отримані в іншому сигналі. Тепер зробіть цей експеримент: обчисліть PCA на наборі журналу Mel coef. витягнуто з 10 годин найрізноманітнішого звуку. База, яку ви знайдете, нечутно схожа на базу DCT.
пікенети

3
Іншими словами: щоб бути корисним у застосуванні для розпізнавання, перетворення декорреляції наприкінці процесу вилучення функції має бути своєрідним компромісом, придатним для "аудіо" загалом, а не конкретним даним. Виявляється, база DCT дуже близька до того, що ви отримуєте при запуску PCA на великому наборі аудіо!
пікенети

Нещодавно я побачив, як PCA використовується в кінці процесу вилучення функцій в експериментальній мовленнєвій системі. Ця система обчислила проекцію PCA з навчальних даних і потім використала ту саму основу.
Seppo Enarvi

8

Відмінність дискретної трансформації Фур'є від дискретного перетворення косину полягає в тому, що DCT використовує лише реальні числа, тоді як для перетворення Фур'є можна використовувати складні числа. Найбільш поширене використання DCT - стиснення. Він еквівалентний FFT вдвічі більше довжини.


1
Однак можливо уявити DCT / DST складної послідовності, де окремо приймаються DCT / DST реальної та уявної частин.

тому можна сказати, що якщо я обчислюю DFT, я отримую DCT безкоштовно, все, що мені потрібно зробити, - це видалити уявні частини вектора. Будь ласка, виправте мене, якщо я помиляюся.
Марек

1
Це трохи складніше, ніж це, але конвертувати між FFT і DCT можна досить легко.
PearsonArtPhoto
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.