Sergey Koff 0 14 февраля Опубликовано 14 февраля (изменено) · Жалоба Есть гармонический непрерывный сигнал + шум. Буферизуется, скажем в 1024 комплексных дискрета. И для первых 256 делается БПФ, определяется частота сигнала и обнуляется спектр (кроме максимального бинома). Делается ОБПФ, затем для след 256 тоже самое и тд. Я точно знаю, что сигнал в 1024 непрерывный, но между блоками по 256 четко вижу несоответствие фазы на стыках. Как победить сей недуг? Цифры условные. Фото: граф время и квадратура, 2 блока по 16384. Изменено 14 февраля пользователем Sergey Koff дополнил Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 15 февраля Опубликовано 15 февраля · Жалоба Надо понимать, что это просто группа фильтров и корректно делать децимацию-интерполяцию, точно так же как вы это делаете для одного полосового фильтра, от быстрого алгоритма вычисления ДПФ можно абстрагироваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 15 февраля Опубликовано 15 февраля · Жалоба 18 часов назад, Sergey Koff сказал: сть гармонический непрерывный сигнал + шум. Буферизуется, скажем в 1024 комплексных дискрета. И для первых 256 делается БПФ, определяется частота сигнала и обнуляется спектр (кроме максимального бинома). Делается ОБПФ, затем для след 256 тоже самое и тд. Я точно знаю, что сигнал в 1024 непрерывный, но между блоками по 25 Частота сигнала? Частота дискретизации? То, что я увидел - это просто какая-то хрень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergey Koff 0 15 февраля Опубликовано 15 февраля · Жалоба Только что, petrov сказал: Надо понимать, что это просто группа фильтров и корректно делать децимацию-интерполяцию, точно так же как вы это делаете для одного полосового фильтра, от быстрого алгоритма вычисления ДПФ можно абстрагироваться. Вы имеете в виду, нефиг БПФ гонять, а прогнать через какой-нибудь КИХ фильтр узкополосный и радоваться фазе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 15 февраля Опубликовано 15 февраля · Жалоба 3 минуты назад, Sergey Koff сказал: Вы имеете в виду, нефиг БПФ гонять, а прогнать через какой-нибудь КИХ фильтр узкополосный и радоваться фазе? Вы на вопрос ответьте. ДПФ не такая простая штука. И пользоваться этой штукой нужно уметь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergey Koff 0 15 февраля Опубликовано 15 февраля · Жалоба Только что, thermit сказал: Частота сигнала? Частота дискретизации? На той картинке уже не помню, вот тут сигнал - 1.1 ГГц, дискр 5 MSPS, полоса 5 Мгц. А к чему это, в чем опасение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 15 февраля Опубликовано 15 февраля · Жалоба Sergey Koff Вы имеете в виду, нефиг БПФ гонять, а прогнать через какой-нибудь КИХ фильтр узкополосный и радоваться фазе? Нет, БПФ не волшебная штука, которая сама всё сделает. ДПФ и есть полосовые КИХ фильтры, только у них прямоугольная огибающая и синк АЧХ с большими боковиками, из-за чего при децимации-интерполяции(=блочная обработка) получаете алиасинг. Нужно в явном виде рассчитать фильтры соответствующие децимации-интерполяции, а потом уже думать про быстрый алгоритм, который сводится к блочным полифазной фильтрации и БПФ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 15 февраля Опубликовано 15 февраля · Жалоба 10 минут назад, Sergey Koff сказал: На той картинке уже не помню, вот тут сигнал - 1.1 ГГц, дискр 5 MSPS, полоса 5 Мгц. А к чему это, в чем опасение? Да никакого опасения. Т е у вас должна быть константа, а гармоника из-за ошибки по частоте? В чем смысл этой деятельности? Чего из вас все клещами-то тянуть надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stealthisname 7 15 февраля Опубликовано 15 февраля · Жалоба В 14.02.2024 в 18:25, Sergey Koff сказал: И для первых 256 делается БПФ, определяется частота сигнала и обнуляется спектр (кроме максимального бинома). Делается ОБПФ, затем для след 256 тоже самое и тд. я попробовал обработать сигнал по вашему описанию, и появились вопросики вот сигнал на 256 отсчётов n = 256; f0 = 13.47/n; t = 0:n-1; s = exp(1i*2*pi*f0*t)+0.1*randn(1,n); plot(t,real(s),t,imag(s)); grid on; title('signal'); xlabel('time'); вот его БПФ f = t/n; stem(f,abs(fft(s))); grid on; title('fft'); xlabel('freq'); Какой бин в этом БПФ считать максимальным? что и как тут обнулять? что именно должно показывать ОБПФ в таком случае? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
komah 4 7 марта Опубликовано 7 марта · Жалоба Я так понял, речь идет о фильтрации с помощью FFT - IFFT? Блоки нужно брать с перекрытием. Первый блок 256 отсчетов, сместились на 200 и взяли еще 256. И так далее. Результат FFT умножаем на оконную функцию, соответствующую АЧХ фильтра. Делаем IFFT. Хвосты, соответствующие перекрытым областям суммируем или отбрасываем. Длина перекрытия связана с порядком эквивалентного фильтра - чем больше перекрытие, тем выше порядок. Вообще штука очень мощная - можно сразу выполнять фильтрацию, перенос спектра (с точностью, определяемой размером FFT) и децимацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться