Так что я пытаюсь выполнить частотный сдвиг на множестве вещественных точек. Чтобы добиться сдвига частоты, нужно умножить данные на сложную экспоненту, что делает результирующий комплекс данных. Если мною умножить только на косинус, я получаю результаты как на суммарной, так и на разностной частотах. Я хочу просто сумму или разницу.В python, если я выполняю fft на сложных данных, то irfft только положительные частоты, как это влияет на данные?
То, что я сделал, это умножить данные на сложную экспоненту, использовать fft.fft() для вычисления fft, а затем использовать fft.irfft() только на положительных частотах, чтобы получить реальный ценный набор данных, который имеет только суммарное или разностное смещение по частоте. Это, кажется, отлично работает, но я хочу знать, есть ли какие-либо недостатки в этом, или, возможно, более подходящий способ достижения той же цели. Заранее благодарим за любую помощь, которую вы можете предоставить!
Не проблема. БПФ реальных данных является избыточным в спектральной области (должно быть, вы помещаете только N значений в, значения 2N не могут быть зависимыми). Оставляя отрицательные частоты не удаляет информацию, если вы не применяете другое обращение к этим негативам и хотите сохранить информацию. Я сохраняю все частоты до IFFT, но вам этого не нужно. – roadrunner66
@ reoadrunner66 Но это не БПФ реальных данных. Я умножил реальные данные на комплексное число (ы), которое делает его _complex_ данными. Затем я принимаю полный БПФ, в котором отрицательные частоты не обязательно являются избыточными. Затем я подаю только положительные частоты этого в IRFFT, в этот момент функция IRFFT предполагает, что отрицательные частоты являются конъюгатами положительных элементов, следовательно, избыточными, когда они вообще не являются. – jmurray1241
Если вы умножаете только на одно комплексное число (фиксированная фаза), вы не должны увеличивать информационный контент. Но нужно было бы рассмотреть аналитическое решение. – roadrunner66