У меня есть сигнал, что я выполняю БПФ, выполняю свертку с самим собой, а затем выполняю IFFT обратно во временную область.Сигнал длиной 8192.Если я добавлю сигнал на 16384 (N * 2) и выполню операции, я получу правильный вывод.Однако нужно ли это?Но когда я пытаюсь придерживаться 8192, используя преобразования FFT C2C, я получаю схожие данные вплоть до IFFT.(При использовании 8192 он имеет только каждую 2-ю точку из данных 16384).
Я выполнил это через matlab и получил те же результаты, поэтому я подозреваю, что это больше связано с математикой, чем с реализацией, но какЯ делаю это в cuda, любые советы приветствуются, я не возражаю против необходимости дополнять данные в некоторой форме, если это необходимо, но данные в порядке вплоть до того момента, когда я выполняю IFFT.
NB Iзнаю, что я не делаю все вычисления на GPU, это было просто для того, чтобы убрать ошибки и позволить мне увидеть, что делал код.
Ссылка на код: http://pasted.co/e2e5e625
Эточто я должен получить
Это то, что я получу, если не набиваю.