czt

Z-преобразование щебета

Синтаксис

y = czt(x,m,w,a)
y = czt(x)

Описание

y = czt(x,m,w,a) возвращает Z-преобразование щебета x сигнала. Z-преобразованием щебета является Z-преобразование x вдоль спирального контура, заданного w и a. m является скаляром, который задает длину преобразования, w является отношением между точками вдоль z - плоский спиральный контур интереса, и скалярный a является комплексной отправной точкой на том контуре. Контуром, спиралью или “щебетом” в z - плоскость, дают

z = a*(w.^-(0:m-1))

y = czt(x) использование следующие значения по умолчанию:

  • m = length(x)

  • w = exp(-j*2*pi/m)

  • a = 1

С этими значениями по умолчанию czt возвращает Z-преобразование x в m равномерно распределенные точки вокруг модульного круга. Это эквивалентно дискретному преобразованию Фурье x или fft(x). Пустой матричный [] задает значение по умолчанию для параметра.

Если x является матрицей, czt(x,m,w,a) преобразовывает столбцы x.

Примеры

свернуть все

Создайте случайный вектор, x, длины 1013. Вычислите его ДПФ, использующего czt.

rng default
x = randn(1013,1);
y = czt(x);

Используйте czt, чтобы увеличить масштаб узкополосного раздела частотной характеристики фильтра.

Разработайте 30-й порядок lowpass КИХ-фильтр с помощью метода окна. Задайте частоту дискретизации 1 кГц и частоту среза 125 Гц. Используйте прямоугольное окно. Найдите передаточную функцию фильтра.

fs = 1000;
d = designfilt('lowpassfir','FilterOrder',30,'CutoffFrequency',125, ...
    'DesignMethod','window','Window',@rectwin,'SampleRate',fs);
h = tf(d);

Вычислите ДПФ и CZT фильтра. Ограничьте частотный диапазон CZT полосе между 100 и 150 Гц. Сгенерируйте 1 024 выборки в каждом случае.

m = 1024;
y = fft(h,m);

f1 = 100;
f2 = 150;
w = exp(-j*2*pi*(f2-f1)/(m*fs));
a = exp(j*2*pi*f1/fs);
z = czt(h,m,w,a);

Постройте преобразования. Увеличьте масштаб сферы интересов.

fn = (0:m-1)'/m;
fy = fs*fn;
fz = (f2-f1)*fn + f1;

subplot(2,1,1)
plot(fy,abs(y))
axis([f1 f2 0 1.2])
title('FFT')

subplot(2,1,2)
plot(fz,abs(z))
axis([f1 f2 0 1.2])
title('CZT')
xlabel('Frequency (Hz)')

Диагностика

Если m, w или a не являются скаляром, czt дает следующее сообщение об ошибке:

Inputs M, W, and A must be scalars.

Алгоритмы

czt использует следующий power-2 БПФ длины, чтобы выполнить быструю свертку, когда вычисление z - преобразовывает на заданном контуре щебета [1].

Ссылки

[1] Rabiner, Лоуренс Р. и Бернард Голд. Теория и Приложение Цифровой обработки сигналов. Englewood Cliffs, NJ: Prentice Hall, 1975, стр 393–399.

Расширенные возможности

Смотрите также

|

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте