Chirp Z-преобразование
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2013 г. ) |
Чирповое Z-преобразование ( CZT ) является обобщением дискретного преобразования Фурье (ДПФ). В то время как ДПФ производит выборку плоскости Z в равномерно расположенных точках вдоль единичной окружности, Чирп-Z-преобразование преобразует выборки вдоль спиральных дуг в плоскости Z, что соответствует прямым линиям в S. плоскости [ 1 ] [ 2 ] ДПФ, реальное ДПФ и масштабируемое ДПФ можно рассчитать как частные случаи CZT.
В частности, преобразование Z с чирпом вычисляет преобразование Z в конечном числе точек z k вдоль логарифмического спирального контура, определяемого как: [ 1 ] [ 3 ]
где A — комплексная начальная точка, W — комплексное соотношение между точками, а M — количество точек для расчета.
Как и ДПФ, чирповое Z-преобразование может быть вычислено за O( n log n ), где . Алгоритм O( N log N ) для обратного чирпового Z-преобразования (ICZT) был описан в 2003 году: [ 4 ] [ 5 ] и в 2019 году. [ 6 ]
Алгоритм Блюстейна
[ редактировать ]Алгоритм Блюстейна [ 7 ] [ 8 ] выражает CZT как свертку и эффективно реализует ее с помощью БПФ /ОБПФ.
Поскольку ДПФ является частным случаем ЦЗТ, это позволяет эффективно вычислять дискретное преобразование Фурье (ДПФ) произвольных размеров, включая простые размеры. (Другой алгоритм для БПФ простых размеров, алгоритм Рейдера , также работает, переписывая ДПФ как свертку.) Он был задуман в 1968 году Лео Блюстейном . [ 7 ] Алгоритм Блюстейна можно использовать для вычисления более общих преобразований, чем ДПФ, на основе (одностороннего) z-преобразования (Rabiner et al. , 1969).
Напомним, что ДПФ определяется по формуле
Если заменить произведение nk в показателе на тождество
таким образом мы получаем:
Это суммирование представляет собой в точности свертку двух последовательностей a n и bn , определяемых формулой:
с результатом свертки, умноженным на N фазовых коэффициентов b k * . То есть:
Эта свертка, в свою очередь, может быть выполнена с помощью пары БПФ (плюс заранее вычисленного БПФ комплексного чирпа b n ) с помощью теоремы о свертке . Ключевым моментом является то, что эти БПФ не имеют одинаковой длины N : такую свертку можно точно вычислить на основе БПФ только путем дополнения ее нулями до длины, большей или равной 2 N –1. В частности, можно дополнить до степени двойки или какого-либо другого сложного размера, для которого БПФ может быть эффективно выполнено, например, с помощью алгоритма Кули-Тьюки за время O( N log N ). Таким образом, алгоритм Блюстейна обеспечивает O( N log N ) способ вычисления ДПФ простого размера, хотя и в несколько раз медленнее, чем алгоритм Кули-Тьюки для составных размеров.
Использование заполнения нулями для свертки в алгоритме Блюстейна заслуживает дополнительного комментария. Предположим, мы заполняем нулями до длины M ≥ 2 N –1. Это означает, что a n расширяется до массива An = 0 длины M , где A n = a n для 0 ≤ n < N и A n в противном случае — обычное значение «дополнения нулями». Однако из-за члена b k – n в свертке так и отрицательные значения n требуются для b n (отметим, что b – n = bn как положительные , ). Периодические границы, подразумеваемые ДПФ массива, дополненного нулями, означают, что – n эквивалентно M – n . , bn n расширяется до массива n длины M , где B 0 = b 0 , B n = BM Таким образом – n = bn B для 0 < n < N и B = 0 в противном случае. Затем A и B подвергаются БПФ, умножаются поточечно и подвергаются обратному БПФ для получения свертки a и b в соответствии с обычной теоремой о свертке.
Давайте также уточним, какой тип свертки требуется в алгоритме Блюстейна для ДПФ. Если бы последовательность bn , а была периодической по n с периодом N , то это была бы циклическая свертка длины N заполнение нулями было бы сделано только для удобства вычислений. Однако, как правило, это не так:
Следовательно, для N даже свертка является циклической, но в этом случае N является составным , и обычно можно использовать более эффективный алгоритм БПФ, такой как Кули – Тьюки. для нечетного N Однако bn , и является антипериодическим технически мы имеем негациклическую свертку длины N . нулями Однако такие различия исчезают, когда дополняют число n до длины по меньшей мере 2 N -1, как описано выше. Поэтому, возможно, проще всего думать об этом как о подмножестве результатов простой линейной свертки (т. е. без концептуальных «расширений» данных, периодических или каких-либо других).
z-преобразования
[ редактировать ]Алгоритм Блюстейна также можно использовать для вычисления более общего преобразования, основанного на (одностороннем) z-преобразовании (Rabiner et al. , 1969). В частности, он может вычислить любое преобразование вида:
для произвольного комплексного числа z и для разных чисел N и M входов и выходов. Учитывая алгоритм Блюстейна, такое преобразование можно использовать, например, для получения более точной интерполяции некоторой части спектра (хотя разрешение по частоте по-прежнему ограничено общим временем выборки, аналогично БПФ масштабирования), улучшения произвольного полюса в анализе передаточных функций и т. д.
Алгоритм был назван алгоритмом чирпового z-преобразования, потому что для случая преобразования Фурье (| z | = 1) последовательность b n сверху представляет собой комплексную синусоиду линейно возрастающей частоты, которая называется (линейным) чирпом в радиолокационные системы.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Исследование Z-преобразования Чирпа и его применения - Шиллинг, Стив Алан.
- ^ «Чирповое Z-преобразование — MATLAB czt» . www.mathworks.com . Проверено 22 сентября 2016 г.
- ^ Мартин, Грант Д. (ноябрь 2005 г.). «Оптимизация спектрального масштабирования с помощью Chirp Z-преобразования с помощью MATLAB®» (PDF) .
- ^ Бостан, Алин (2003). Эффективные алгоритмы для основных операций компьютерной алгебры (PDF) (доктор философии). Политехническая школа.
- ^ Бостан, Алин; Шост, Эрик (2005). «Полиномиальная оценка и интерполяция по специальным наборам точек». Журнал сложности . 21 (4): 420–446. дои : 10.1016/j.jco.2004.09.009 .
- ^ Инженеры решают 50-летнюю головоломку в области обработки сигналов - обратное чирповое Z-преобразование , УНИВЕРСИТЕТ ГОСУДАРСТВА АЙОВА, 10 ОКТЯБРЯ 2019 г.
- ^ Перейти обратно: а б Блюштейн, Л. (1 декабря 1970 г.). «Подход к линейной фильтрации для вычисления дискретного преобразования Фурье». Транзакции IEEE по аудио и электроакустике . 18 (4): 451–455. дои : 10.1109/ТАУ.1970.1162132 . ISSN 0018-9278 .
- ^ «Алгоритм Блюстейна БПФ» . DSPRelated.com.
Общий
[ редактировать ]- Лео И. Блюстейн, «Подход к расчету дискретного преобразования Фурье с помощью линейной фильтрации», Протокол Northeast Electronics Research and Engineering Meeting Record 10 , 218–219 (1968).
- Лоуренс Р. Рабинер, Рональд В. Шафер и Чарльз М. Рейдер, « Алгоритм чирпового z-преобразования и его применение », Bell Syst. Тех. Дж. 48 , 1249–1292 (1969). Также опубликовано в: Рабинер, Шафер и Рейдер, « Алгоритм z-преобразования с чирпом », IEEE Trans. Аудио-электроакустика 17 (2), 86–92 (1969).
- Д. Х. Бэйли и П. Н. Шварцтраубер, «Дробное преобразование Фурье и его приложения», SIAM Review 33 , 389–404 (1991). (Обратите внимание, что эта терминология для z-преобразования нестандартна: дробное преобразование Фурье обычно относится к совершенно другому, непрерывному преобразованию.)
- Лоуренс Рабинер, «Алгоритм z-преобразования с чирпом — урок счастливой случайности», IEEE Signal Processing Magazine 21 , 118–119 (март 2004 г.). (Исторический комментарий.)
- Владимир Сухой и Александр Стойчев: «Обобщение обратного БПФ от единичного круга» (октябрь 2019 г.). # Открытый доступ.
- Владимир Сухой и Александр Стойчев: «Численный анализ ошибок алгоритма ICZT для чирпирующих контуров на единичной окружности» , Sci Rep 10, 4852 (2020).
Внешние ссылки
[ редактировать ]- Алгоритм DSP для частотного анализа — преобразование Chirp-Z (CZT).
- Решение головоломки 50-летней давности в области обработки сигналов, часть вторая