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

Фильтр гильберта и перенос частот

7 minutes ago, rloc said:

В Матлабе преобразование Гильберта делается через fft с банальным обнулением зеркальной копии спектра и обратным fft, что несколько быстрее фильтрации.

В матлабе то всё отлично, и в python тоже, а вот в реал тайме когда данные сплошным потоком идут и нужно обрабатывать их без пропусков...

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


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

2 minutes ago, C2000 said:

В матлабе то всё отлично, и в python тоже, а вот в реал тайме когда данные сплошным потоком идут и нужно обрабатывать их без пропусков...

Без пропусков - потоковый FFT.

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


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

1 minute ago, _4afc_ said:

Без пропусков - потоковый FFT.

FFT плохо работает когда нужна высокая точность, с амплитудой ещё решается а вот с фазой во всём диапазоне частот там всё сложно

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


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

Потоковый fft не нужен, но выборки нужно брать с небольшим перекрытием, чтобы отрезать переходные процессы в начале и в конце.

9 минут назад, C2000 сказал:

FFT плохо работает когда нужна высокая точность

Динамика fft полностью в Ваших руках.

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


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

C2000

В матлабе то всё отлично, и в python тоже, а вот в реал тайме когда данные сплошным потоком идут и нужно обрабатывать их без пропусков...

Так в матлабе надо моделировать всё в точности как в жизни сплошным потоком, а не что-то левое.

_

rloc

Потоковый fft не нужен, но выборки нужно брать с небольшим перекрытием, чтобы отрезать переходные процессы в начале и в конце.

Синки в голом FFT - плохие фильтры, с небольшим перекрытием будут сильные искажения от спектральных наложений.

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


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

44 минуты назад, petrov сказал:

Синки в голом FFT - плохие фильтры, с небольшим перекрытием будут сильные искажения от спектральных наложений.

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

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


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

5 минут назад, rloc сказал:

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

 А где он про это говорил? Мне было неочевидно какой у него сигнал и чего он хочет.

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


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

rloc

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

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

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


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

3 минуты назад, petrov сказал:

новые гармоники, которых не было в исходном сигнале

С каких это пор fft/ifft стало нелинейным преобразованием?

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


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

rloc

С каких это пор fft/ifft стало нелинейным преобразованием?

Это линейное преобразование, фильтрация синками, но это совершенно не мешает появлению гармоник из-за спектральных наложений из-за плохой фильтрации при децимации-интерполяции(=блочная обработка).

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


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

3 hours ago, petrov said:

Так в матлабе надо моделировать всё в точности как в жизни сплошным потоком

Проблема не в моделировании. А в том что  в риал тайме ресурсов не хватит на FFT и дальнейшую обработеу всех сигналов. И с FFT не получится хорошей точности с учетом фазы

FFT хороший инструмент для качественного анализа не для количественного. Цифровые сигналы обрабатывать это да, а аналоговые измерять с хорошей точностью не получится

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


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

On 8/28/2023 at 7:23 PM, C2000 said:

Есть задача сдвинуть частоты от 50 до 1000Гц на 90 градусов.

Вы уже два года двигаете эти сигналы на 90 градусов:

Но если вы так и не смогли сдвинуть их за два года, вам уже не сдвинуть их никогда! :biggrin:

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


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

9 minutes ago, blackfin said:

Вы уже два года двигаете эти сигналы на 90 градусов:

Но если вы так и не смогли сдвинуть их за два года, вам уже не сдвинуть их никогда! :biggrin:

Сдвинул, уже давно. Предварительно уменьшив частоту дискретизации - работает. Но мысль сделать лучше остаётся

Вместо бесполезных комментов лучше бы дельный совет дали) Флудить то все горазды

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


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

On 8/29/2023 at 5:50 PM, C2000 said:

Сдвинул, уже давно. Предварительно уменьшив частоту дискретизации - работает. Но мысль сделать лучше остаётся

Вместо бесполезных комментов лучше бы дельный совет дали) Флудить то все горазды

Вот вам дельный совет: выбирайте или глобус поменьше, или сову побольше..

А третьего не дано..

 

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


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

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

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

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

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

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

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

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

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

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