Как выполнить сдвиг дискретных сигналов влево с помощью операции свертки в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить сдвиг дискретных сигналов влево с помощью операции свертки в Python?

Сообщение Anonymous »

Сдвиг влево на t0 в сигнале можно получить путем свертки его с δ(t+t0). Я хочу получить это в Python, используя дискретные сигналы, используя только оператор np.convolve в mode='full'. Обратите внимание, что я не могу использовать np.roll или присваивание из индекса, например [shift:]. Его необходимо получить исключительно путем свертки. Вот пример:

Код: Выделить всё

signal = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
shift = 3
filter = ??
shifted_signal = np.convolve(signal, filter, mode='full')
print(shifted_signal)

[4, 5, 6, 7, 8, 9, 0, 0, 0, ...
Количество нулей в правой части или, скажем, длина смещенного_сигнала не имеет значения. Но я хочу, чтобы сигнал начинался с правильной позиции. Каким должен быть фильтр, чтобы я получил желаемый результат? Мне это нужно так, потому что я пытаюсь получить сдвиг влево в результате анализа БПФ. Сдвиг влево на t0 во временной области соответствует умножению ei2πft0 в частотной области. Я могу получить t0, сравнивая сдвинутый сигнал с оригиналом в частотной области. Но чтобы проверить, работает ли мой алгоритм, я просто не могу придумать фильтр, который выполнял бы сдвиг влево во временной области.
Я попробовал filter = [0, 0, 0, 1 ] и filter = [1, 0, 0, 0], но они добавляют нули слева и справа от сигнала. Сам сигнал не начинается с желаемого индекса. Я понятия не имею, какой еще фильтр можно использовать для получения желаемого результата.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ion-in-pyt
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»