2017-02-08 13 views
0

Возможно ли использовать вектор int вместо использования double векторов для расчета fft?Передача int вместо double to planner

+2

Нет, но вы можете использовать версию библиотеки FFTW ('float') (' float') ('libfftw3f.lib'), если вас беспокоит размер или скорость данных. –

ответ

5

Нет, не используя FFTW (который вы отметили в вопросе). Существуют и другие библиотеки, но чтобы быть полезными на практике, вам нужно подумать о представлении фиксированной точки по вашему выбору.

Обратите внимание, что добавления и умножения с плавающей запятой, используемые в FFT, так же быстро работают на современных чипах x64, что и целочисленные операции с соответствующим размером слова. Дополнительная осторожность, необходимая для создания целочисленного результата FFT с разумной точностью, может даже вызвать замедление на практике. История очень отличается от фишек с более медленным (или нет) оборудованием с плавающей запятой.

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

+0

Мои данные берутся в формате 'int'. У меня есть штраф за конверсию «int-> double», но я в порядке. Благодарю. – xmas79