Восстановление исходного сигнала из частот, амплитуды и фазы, полученных после выполнения БПФ - PullRequest
0 голосов
/ 02 июня 2011

Восстановление исходного сигнала из частот, амплитуды и фазы, полученных после выполнения БПФ.

Привет

Я пытаюсь восстановить сигнал по частоте, амплитуде и фазе, полученным после того, как я делаю fft сигнала, но когда я пытаюсь объединить данные fft (частоту, амплитуду и фазу), чтобы увидеть Я получаю аналогичный сигнал, картина немного не в порядке. Я думаю, что это делать с моей формулой, которая может быть немного неправильно.

Формула, которую я использую для объединения данных:

amplitude*sin(2*pi*time*frequency+phase)+amplitude*cos(2*pi*time*frequency+phase);

Обратите внимание: В настоящее время я не хочу использовать IFFT из-за того, что я буду редактировать амплитуду и частоты до того, как будут выполнены вычисления

Изображение сюжета ниже. Верхний - это исходный сигнал, а нижний - сигнал, созданный с помощью уравнения. Если вы хотите знать, я использую Matlab, но я думаю, что проблема с уравнением. enter image description here

ТИА

Ответы [ 2 ]

2 голосов
/ 02 июня 2011

IFFT - это эффективная реализация следующего преобразования:

       N-1
x[n] = SUM X[k] exp(j*2*pi*n*k/N)
       k=0

, где X[k] - ваши результаты FFT ( комплекс амплитуды), а x[n] - ваше время-образцы доменов.Для реальных входных данных это можно переписать в терминах cos и sin (или в терминах cos с термином phase), но обычно проще придерживаться сложного представления.

[Это может быть сильно векторизовано, но я оставлю это на ваше усмотрение!]

0 голосов
/ 02 июня 2011

Я не понимаю, почему вы хотите, чтобы в вашем уравнении были термины sin и cos: это должно быть сделано ...

amplitude*sin(2*pi*time*frequency+phase);

Использование терминов sin и cosine будет, если нет чего-тостранно насчет БПФ, возникают проблемы с масштабированием и фазовый сдвиг.Однако я не знаю, объяснит ли это искажение, которое вы видели.Это может быть связано с размерами блоков FFT, которые вы использовали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...