Jump to content

    

Полосовой фильтр на микроконтроллере

Уважаемые специалисты по DSP, скажите какие ресурсы и какой лучше алгоритм использовать для полосовой фильтрации на частоте 144КГц с полосой в 10КГц 4-го и выше порядка (желательно 8-го порядка)?

Предпологается использовать один из следующих микроконтроллеров:

1) MSP430F5418 25МГЦ аппаратный умножитель 32x32, DMA(предпочтительней)

2)STM32F303 Cortex M4 72МГц

 

Желательно описать подробно алгоритм, так как я пока до сих пор не разобралась во всех азах сигнальной обработки. - Книги читала/читаю

Share this post


Link to post
Share on other sites
Уважаемые специалисты по DSP, скажите какие ресурсы и какой лучше алгоритм использовать для полосовой фильтрации на частоте 144КГц с полосой в 10КГц 4-го и выше порядка (желательно 8-го порядка)?

Предпологается использовать один из следующих микроконтроллеров:

1) MSP430F5418 25МГЦ аппаратный умножитель 32x32, DMA(предпочтительней)

2)STM32F303 Cortex M4 72МГц

 

Желательно описать подробно алгоритм, так как я пока до сих пор не разобралась во всех азах сигнальной обработки. - Книги читала/читаю

 

 

Для STM32 надо взять библиотеку CMSIS DSP и просто измерить быстродействие фильтров.

 

А у MSP430 гарантированно не хватит быстродействия на такой фильтр.

Share this post


Link to post
Share on other sites
Для STM32 надо взять библиотеку CMSIS DSP и просто измерить быстродействие фильтров.

 

А у MSP430 гарантированно не хватит быстродействия на такой фильтр.

Я предпологала не использовать готовые функции из CMSIS, а написать свой алгоритм с использованием ассемблера, причем заранее спросила про упрощенный или оптимизированный алгоритм под полосовой фильтр.

Share this post


Link to post
Share on other sites

А почему про частоту дискретизации ни слова?

Share this post


Link to post
Share on other sites
А почему про частоту дискретизации ни слова?

видимо в качестве Fs подразумевается эта частота

для полосовой фильтрации на частоте 144КГц

Share this post


Link to post
Share on other sites
А почему про частоту дискретизации ни слова?

Я же привела типы микроконтроллеров - MS430F5418 можно однобитную оцифроку использовать для упрощения или внешний ADC на 1Ms, а в STM32F303 два параллельных по 5Ms можно использовать поочередно, да и 5Ms вполне достаточно.

Для MSP430F5418 есть задумка для однобитного семплирования использовать порт SPI - в него последовательно опрашивать DI и использовать DMA канал для накопления массива двухбайтных слов.

 

Но по существу вопроса так никто и не ответил до сих пор :( Если не хватает вводных - спрашивайте.

Edited by Alla_student

Share this post


Link to post
Share on other sites
Я же привела типы микроконтроллеров - MS430F5418 можно однобитную оцифроку использовать для упрощения или внешний ADC на 1Ms, а в STM32F303 два параллельных по 5Ms можно использовать поочередно, да и 5Ms вполне достаточно.

Для MSP430F5418 есть задумка для однобитного семплирования использовать порт SPI - в него последовательно опрашивать DI и использовать DMA канал для накопления массива двухбайтных слов.

 

Но по существу вопроса так никто и не ответил до сих пор :( Если не хватает вводных - спрашивайте.

 

Как бы доказано, что для таких фильтров самое то схема Костаса на SIN/COS. Всего-то надо сгенерить синус и косинус, помножить на входной поток и дальше 2*ФНЧ над каждой компонентой отдельно. Причем ФНЧ можно сделать каскадный с понижением частоты оцифровки, вплоть до 40... 50 кГц (при полосе 10 кГц больше 40 кГц сэмплинг - излишество).

Share this post


Link to post
Share on other sites
Как бы доказано, что для таких фильтров самое то схема Костаса на SIN/COS. Всего-то надо сгенерить синус и косинус, помножить на входной поток и дальше 2*ФНЧ над каждой компонентой отдельно. Причем ФНЧ можно сделать каскадный с понижением частоты оцифровки, вплоть до 40... 50 кГц (при полосе 10 кГц больше 40 кГц сэмплинг - излишество).

Прошу прщения, болела, поэтому не отвечала. Спасибо, за комментарий, а то остальные специалисты здесь молчат то ли из за моих глупых вопросов, то ли из за того, что не знают что ответить:(. Вы бы не могли привести более подробное описание реализации фильтра Костаса и каскадного ФНЧ с понижением частоты оцифровки или хотя бы ссылки по этим темам?

Share this post


Link to post
Share on other sites
Прошу прщения, болела, поэтому не отвечала. Спасибо, за комментарий, а то остальные специалисты здесь молчат то ли из за моих глупых вопросов, то ли из за того, что не знают что ответить:(. Вы бы не могли привести более подробное описание реализации фильтра Костаса и каскадного ФНЧ с понижением частоты оцифровки или хотя бы ссылки по этим темам?

Уже много лет на МК ничего не пишу - все на ПЛИС делаю.

Share this post


Link to post
Share on other sites

Думаю, msp. У него есть встроенный 12-бит ацп. Выбираем чд исходя из условия (2*144-10)/m> чд >(2*144+10)/(m+1) m - целое. Например 45 кгц. Полосовой рекурсивный фильтр 8-го порядка с 2-ой точностью даже половины ресурса msp не съест...

Share this post


Link to post
Share on other sites
Уже много лет на МК ничего не пишу - все на ПЛИС делаю.

Без проблем, приведите пожалуйста пример на Verilog или VHDL? если вам не сложно!

 

Думаю, msp. У него есть встроенный 12-бит ацп. Выбираем чд исходя из условия (2*144-10)/m> чд >(2*144+10)/(m+1) m - целое. Например 45 кгц. Полосовой рекурсивный фильтр 8-го порядка с 2-ой точностью даже половины ресурса msp не съест...

Да, прекрасненько, спасибо - я понимаю, но можно привести практическую реализацию фильтра Костаса и каскадного ФНЧ с понижением частоты оцифровки?

Share this post


Link to post
Share on other sites
Alla_student:

Да, прекрасненько, спасибо - я понимаю, но можно привести практическую реализацию фильтра Костаса и каскадного ФНЧ с понижением частоты оцифровки?

 

 

Нельзя. Ибо тупняк. Зачем понижать частоту оцифровки если ее уже можно взять невысокой? Вам нужно преобразовывать несущую в 0?

Share this post


Link to post
Share on other sites

Так делают, чтобы облегчить аналоговый фильтр на входе АЦП.

 

Зачем понижать частоту оцифровки если ее уже можно взять невысокой?

 

А вообще девушка с колоссальным инженерным кругозором: и ЦОС, и плохое самочувствие, и проблемы индукционного нагрева, и гнутые корпуса из SolidWorks, и С#, и воспитательная работа среди посетителей форума. Для полноты картины не хватает катышков и присыпок для грудничков.

Share this post


Link to post
Share on other sites
Fat Robot:

Так делают, чтобы облегчить аналоговый фильтр на входе АЦП.

 

Когда делают, когда нет. В данном случае офигенных требований к входному фильтру похоже не предвидится.

Share this post


Link to post
Share on other sites
Так делают, чтобы облегчить аналоговый фильтр на входе АЦП.

А вообще девушка с колоссальным инженерным кругозором: и ЦОС, и плохое самочувствие, и проблемы индукционного нагрева, и гнутые корпуса из SolidWorks, и С#, и воспитательная работа среди посетителей форума. Для полноты картины не хватает катышков и присыпок для грудничков.

На большее не способны?! - По существу вопроса ответить не можите? - Тогда можете в другой теме в чужом "грязном белье" ковыряться...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this