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

Только децимацию нужно делать по-человечески, с предварительной фильтрацией (как и указывалось ранее).

Можно использовать дельта-сигма АЦП и не иметь проблем с децимацией. Там все необходимые фильтры уже встроенные. И частоту задирать не нужно.

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


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

Всем привет! Чтобы не плодить новую тему спрошу помощи в этой.

У меня сейчас задача расшифровывать из аналогового сигнала последовательность частот, 16 различных частот. Первая частота 500 Гц , последующие друг от друга с шагом 50 Гц. То есть шестнадцатая частота 1250 Гц. 

Длительность частоты около 40мс.


Я правильно понимаю, что здесь нужно применять FFT ? Или 16 полосовых фильтров городить ?
Если применять FFT , то какую реализацию использовать из библиотеки CMSIS . До этого дело только с цифровыми фильтрами имел. А FFT никогда не занимался

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


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

2 минуты назад, Mysteo сказал:

Всем привет!

Если спектр комплексный то:

ваша полоса 1250-500 =750 Гц

шаг 750/50 = 15 частот . 

БПФ при таком маленьком шаге выигрыша не даст , потому можете фильтрами выделять, а можете и БПФ попробовать.

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


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

А я правильно понимаю, что можно использовать частоту дискретизации 2500 Гц, т.к максимальная частота имеет период 1250 Гц, или 2500 Гц маловато будет?

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


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

19 minutes ago, Mysteo said:

Я правильно понимаю, что здесь нужно применять FFT ? Или 16 полосовых фильтров городить ?

У меня всё никак не дойдут руки сделать что-нибудь полезное в плане ЦОС (на работе не нужно, а дома других забот хватает), но для этой задачи я бы смотрел в сторону работ дядьки Гёрцеля.

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


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

15 minutes ago, Mysteo said:

А я правильно понимаю, что можно использовать частоту дискретизации 2500 Гц, т.к максимальная частота имеет период 1250 Гц, или 2500 Гц маловато будет?

использовать можно, правда при этом перед АЦП понадобится фильтр, который 1250Гц пропустит, а вот уже 1300Гц ему надо будет подавить до уровня требуемой погрешности ваших измерений, иначе они отразятся в 1200Гц и вы их никак не отличите.

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


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

 

11 minutes ago, esaulenka said:

но для этой задачи я бы смотрел в сторону работ дядьки Гёрцеля.

Буду изучать, тяжело мне DSP дается, мало знаний. До этого самостоятельно удалось реализовать вот такой кодер / декодер https://youtu.be/IrZgZ6v8QrQ . Кодировалось все одной частотой 11кГц, 0 - одна длительность, 1 - другая длительность. Буду изучать , пробовать. 

Пока по первым приближениями вчислительной мощи Cortex M3 при 32 МГц работы маловато чтобы 16 различных частот в реальном времени распазновать... а может я заблуждаюсь

5 minutes ago, _pv said:

использовать можно, правда при этом перед АЦП понадобится фильтр, который 1250Гц пропустит, а вот уже 1300Гц ему надо будет подавить

Это какого же порядка придется аппаратный фильтр использовать.....

 
Изменено пользователем Mysteo

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


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

7 minutes ago, Mysteo said:

Это какого же порядка придется аппаратный фильтр использовать.....

ну так может частоту дискретизации приподнять?

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


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

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

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


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

17 минут назад, Behram сказал:

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

На ARM-ах свет клином не сошёлся. Есть настоящие DSP.  :wink:

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


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

12 минут назад, Mysteo сказал:

Да в девайсе Cortex M3 STM32L100, можно переехать на F4 или G4

Лучше на что-нить из TMS320C55xx. И можно будет задрать частоту дискретизации хоть до нескольких десятков кГц. А если делать на КИХ-фильтрах - то и сотню кГц думаю может потянуть. :wink:

Хотя при таких больших порядках будут сложности с крутизной среза АЧХ фильтра. Вроде как....

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


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

Думаю, применяя F4 или G4, можно будет обойтись даже без перерисовки платы, если найти pin2pin compatible корпус.

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


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

Что-то не пойму почему функция  arm_rfft_fast_f32 из библиотеки CMSIS DSP меняет входной буфер

image.png.15ca71fd849508bbf7f8002471c531cf.png

Изменено пользователем Mysteo

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


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

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

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

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

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

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

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

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

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

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