Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: свёртка в частотной области
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
_Anatoliy
Ув. коллеги,подскажите где туплю.
Перемножению во временной области соответствует свертка в частотной области,ставлю эксперимент в матлабе - не получается.Затея такая - для входного сигнала выполнить FFT с прямоугольным окном,результат свернуть с FFT какого нибудь окна(например Чебышева) и в итоге получить спектр аналогичный FFT с окном Чебышева.После вычисления получаю спектр с прямоугольным окном.В чём дело?Скрипт прилагается.
_Anatoliy
Цитата(_Anatoliy @ Feb 4 2010, 14:37) *
Ув. коллеги,подскажите где туплю.
Перемножению во временной области соответствует свертка в частотной области,ставлю эксперимент в матлабе - не получается.Затея такая - для входного сигнала выполнить FFT с прямоугольным окном,результат свернуть с FFT какого нибудь окна(например Чебышева) и в итоге получить спектр аналогичный FFT с окном Чебышева.После вычисления получаю спектр с прямоугольным окном.В чём дело?Скрипт прилагается.

Благодарю за внимание,всё сошлось.
DSale
Можно подробности по данной теме? Как решили проблему, какие особенности осуществления свёртки спектров сигналов в частотной области с помощью Matlab. Тут также озадачены поиском решения, но решение оставлено за форумом как выполнить свёртку в частотной области? Поделитесь пожалуйста опытом.
DSale
Цитата(thermit @ Feb 19 2017, 15:58) *


Тут реализована свертка во временной области, а интересует свертка в частотной области, что соответствует произведению функций во временной области.
Grizzzly
Цитата(DSale @ Feb 19 2017, 16:04) *
Тут реализована свертка во временной области, а интересует свертка в частотной области, что соответствует произведению функций во временной области.

Стр. 304.
Книгу скачать на просторах сети запросто. Есть пример кода в MATLAB.

Если коротко, то:
дополняете 2 последовательности нулями так, чтобы их длина стала равна сумме исходных длин за вычетом единицы;
делаете ДПФ обеих последовательностей;
перемножаете результаты;
делаете обратное ДПФ.
DSale
Цитата(Grizzzly @ Feb 19 2017, 19:39) *
Если коротко, то:
дополняете 2 последовательности нулями так, чтобы их длина стала равна сумме исходных длин за вычетом единицы;
делаете ДПФ обеих последовательностей;
перемножаете результаты;
делаете обратное ДПФ.


Для свертки в частотной области должно быть как-то так:

1. делаем ДПФ обеих последовательностей;
2. выполняем свертку спектров;
3. делаем обратное ДПФ.




Grizzzly
Невнимательно прочитал вопрос, я ответил на обратную задачу. Прошу прощения.

Как-то так:
Код
a=[1 2 3 4 5];
b=[4 5 6 7 8];

ifft(cconv(fft(a), fft(b), length(a)))/length(a)
a.*b
DSale
Спасибо, за ответ! Судя по результатам расчета выражения тождественные. Получается необходимо применять циклическую свертку. Для подобных вычислений на комплексных матрицах запись сохраняется?
Grizzzly
Цитата(DSale @ Feb 19 2017, 22:47) *
Для подобных вычислений на комплексных матрицах запись сохраняется?

Да, конечно.

Код
a=[1-5j 2-3j 3+4j 4+1j 5-7j];
b=[4-1j 5-3j 6+1j 7+4j 8-9j];

ifft(cconv(fft(a), fft(b), length(a)))/length(a)
a.*b
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.