Все, что вам нужно сделать, это добавить ноль к количеству пикселей, которое вы хотите отобразить. Это можно сделать, просто добавив нули к входным данным, чтобы получить необходимую длину в пикселях. Когда БПФ выполнено, оно будет выполнено по длине после заполнения нулями и даст вам то же количество выходных выборок, что и у вас пикселей.
Когда вы обнуляете вход FFT, FFT по существу интерполируется в частотной области автоматически. Проверьте это . Обратите внимание, что это на самом деле не дает вам больше информации в частотной области (новый частотный контент не просто появится при использовании этого метода), даже если количество выборок частотной области увеличено. Это просто передискретизация существующих данных.
Я не уверен, что лучший способ пойти другим путем (понижающая дискретизация), но я предполагаю, что один из способов сделать это - просто преобразовать первые N выборок, которые вам нужны. Это может привести к потере данных, но это может не иметь значения в зависимости от приложения.