nextpow2

Экспонента следующей более высокой степени 2

Синтаксис

P = nextpow2(A)

Описание

пример

P = nextpow2(A) возвращает экспоненты для самых маленьких степеней двойки, которые удовлетворяют

2 пункта | |

для каждого элемента в A.

Можно использовать nextpow2, чтобы заполнить сигнал, который вы передаете fft. Выполнение так может ускорить вычисление БПФа, когда длина сигнала не является точной степенью 2.

Примеры

свернуть все

Задайте вектор целочисленных значений double и вычислите экспоненты для следующей степени 2 выше, чем те значения.

a = [1 -2 3 -4 5 9 519];
p = nextpow2(a)
p = 1×7

     0     1     2     2     3     4    10

Вычислите положительные следующие степени 2.

np2 = 2.^p
np2 = 1×7

           1           2           4           4           8          16        1024

Сохраните знак исходных входных значений.

np2.*sign(a)
ans = 1×7

           1          -2           4          -4           8          16        1024

Задайте вектор беззнакового целого и вычислите экспоненты для следующей степени 2 выше, чем те значения.

a = uint32([1020 4000 32700]);
p = nextpow2(a)
p = 1x3 uint32 row vector

   10   12   15

Вычислите следующие степени 2 выше, чем значения в a.

2.^p
ans = 1x3 uint32 row vector

    1024    4096   32768

Используйте функцию nextpow2, чтобы увеличить производительность fft, когда длина сигнала не будет степенью 2.

Создайте 1D вектор, содержащий 8 191 демонстрационное значение.

x = gallery('uniformdata',[1,8191],0);

Вычислите следующую степень 2 выше, чем 8 191.

p = nextpow2(8191);
n = 2^p
n = 8192

Передайте сигнал и следующую степень 2 к функции fft.

y = fft(x,n);

Входные параметры

свернуть все

Входные значения, заданные как скаляр, вектор или массив вещественных чисел любого числового типа.

Пример: 15

Пример: [-15.123 32.456 63.111]

Пример: int16 ([-15 32 63])

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

| |

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

Была ли эта тема полезной?