Перейти к содержанию
    

свёртка в частотной области

Ув. коллеги,подскажите где туплю.

Перемножению во временной области соответствует свертка в частотной области,ставлю эксперимент в матлабе - не получается.Затея такая - для входного сигнала выполнить FFT с прямоугольным окном,результат свернуть с FFT какого нибудь окна(например Чебышева) и в итоге получить спектр аналогичный FFT с окном Чебышева.После вычисления получаю спектр с прямоугольным окном.В чём дело?Скрипт прилагается.

convfft.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ув. коллеги,подскажите где туплю.

Перемножению во временной области соответствует свертка в частотной области,ставлю эксперимент в матлабе - не получается.Затея такая - для входного сигнала выполнить FFT с прямоугольным окном,результат свернуть с FFT какого нибудь окна(например Чебышева) и в итоге получить спектр аналогичный FFT с окном Чебышева.После вычисления получаю спектр с прямоугольным окном.В чём дело?Скрипт прилагается.

Благодарю за внимание,всё сошлось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно подробности по данной теме? Как решили проблему, какие особенности осуществления свёртки спектров сигналов в частотной области с помощью Matlab. Тут также озадачены поиском решения, но решение оставлено за форумом как выполнить свёртку в частотной области? Поделитесь пожалуйста опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Тут реализована свертка во временной области, а интересует свертка в частотной области, что соответствует произведению функций во временной области.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут реализована свертка во временной области, а интересует свертка в частотной области, что соответствует произведению функций во временной области.

Стр. 304.

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

 

Если коротко, то:

дополняете 2 последовательности нулями так, чтобы их длина стала равна сумме исходных длин за вычетом единицы;

делаете ДПФ обеих последовательностей;

перемножаете результаты;

делаете обратное ДПФ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если коротко, то:

дополняете 2 последовательности нулями так, чтобы их длина стала равна сумме исходных длин за вычетом единицы;

делаете ДПФ обеих последовательностей;

перемножаете результаты;

делаете обратное ДПФ.

 

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

 

1. делаем ДПФ обеих последовательностей;

2. выполняем свертку спектров;

3. делаем обратное ДПФ.

 

 

 

image.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Как-то так:

a=[1 2 3 4 5];
b=[4 5 6 7 8];

ifft(cconv(fft(a), fft(b), length(a)))/length(a)
a.*b

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, за ответ! Судя по результатам расчета выражения тождественные. Получается необходимо применять циклическую свертку. Для подобных вычислений на комплексных матрицах запись сохраняется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для подобных вычислений на комплексных матрицах запись сохраняется?

Да, конечно.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...