(Чтобы быть удаленным) Обратное дискретное косинусное преобразование (IDCT)
dsp.IDCT
Система object™ будет удалена в будущем релизе. Используйте idct
вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
IDCT
объект вычисляет обратное дискретное косинусное преобразование (IDCT) входа.
Вычислить IDCT входа:
Задайте и настройте свой объект IDCT. Смотрите Конструкцию.
Вызовите step
вычислить IDCT входа согласно свойствам dsp.IDCT
. Поведение step
характерно для каждого объекта в тулбоксе.
Запуск в R2016b, вместо того, чтобы использовать step
метод, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x)
и y = obj(x)
выполните эквивалентные операции.
idct = dsp.IDCT
возвращает объект обратного дискретного косинусного преобразования (IDCT), idct
. Этот объект вычисляет IDCT действительного или комплексного входного сигнала с помощью Table lookup
метод.
idct = dsp.IDCT('
возвращает объект обратного дискретного косинусного преобразования (IDCT), PropertyName
',PropertyValue
,...)idct
, с каждым набором свойств к заданному значению.
|
Метод, чтобы вычислить синусы и косинусы Задайте, как объект IDCT вычисляет значения тригонометрической функции как |
шаг | Обратное дискретное косинусное преобразование (IDCT) входа |
Характерный для всех системных объектов | |
---|---|
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');
Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока IDCT. Свойства объектов соответствуют параметрам блоков.