(Чтобы быть удаленным) Дискретное косинусное преобразование (DCT)
dsp.DCT
Система object™ будет удалена в будущем релизе. Используйте dct
вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
DCT
объект вычисляет дискретное косинусное преобразование (DCT) входа.
Вычислить DCT входа:
Задайте и настройте свой объект DCT. Смотрите Конструкцию.
Вызовите step
вычислить DCT согласно свойствам dsp.DCT
. Поведение step
характерно для каждого объекта в тулбоксе.
Запуск в R2016b, вместо того, чтобы использовать step
метод, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x)
и y = obj(x)
выполните эквивалентные операции.
dct = dsp.DCT
возвращает объект дискретного косинусного преобразования (DCT), dct
, использованный для расчета DCT действительного или комплексного входного сигнала.
dct = dsp.DCT('
возвращает объект DCT, PropertyName
',PropertyValue
,
...)dct
, с каждым набором свойств к заданному значению.
|
Метод, чтобы вычислить синусы и косинусы Задайте, как объект DCT вычисляет тригонометрические значения как |
шаг | Дискретное косинусное преобразование (DCT) входа |
Характерный для всех системных объектов | |
---|---|
release | Позвольте изменения значения свойства Системного объекта |
Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step
синтаксис. Например, myObject (x) становится шагом (myObject, x).
Используйте DCT, чтобы анализировать энергетическое содержимое в последовательности:
x = (1:128).' + 50*cos((1:128).'*2*pi/40); dct = dsp.DCT; X = dct(x);
Установите коэффициенты DCT, которые представляют меньше чем 0,1% полной энергии к 0 и восстанавливают последовательность с помощью IDCT.
[XX, ind] = sort(abs(X),1,'descend'); ii = 1; while (norm([XX(1:ii);zeros(128-ii,1)]) <= 0.999*norm(XX)) ii = ii+1; end disp(['Number of DCT coefficients that represent 99.9%',... 'of the total energy in the sequence: ',num2str(ii)]);
Number of DCT coefficients that represent 99.9%of the total energy in the sequence: 10
XXt = zeros(128,1); XXt(ind(1:ii)) = X(ind(1:ii)); idct = dsp.IDCT; xt = idct(XXt); plot(1:128,[x xt]); legend('Original signal','Reconstructed signal',... 'location','best');
Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока DCT. Свойства объектов соответствуют параметрам блоков.