Студопедия — Введение. Цифровой фильтр — в электронике любой фильтр, обрабатывающий цифровой сигнал с целью выделения и/или подавления определённых частот этого сигнала
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Введение. Цифровой фильтр — в электронике любой фильтр, обрабатывающий цифровой сигнал с целью выделения и/или подавления определённых частот этого сигнала






Цифровой фильтр — в электронике любой фильтр, обрабатывающий цифровой сигнал с целью выделения и/или подавления определённых частот этого сигнала. В отличие от цифрового, аналоговый фильтр имеет дело с аналоговым сигналом, его свойства недискретны, соответственно передаточная функция зависит от внутренних свойств составляющих его элементов.

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

Программная реализация осуществляется с помощью программ, выполняемых ПЛИС, процессором или микроконтроллером. Преимуществом программных перед аппаратным является лёгкость воплощения, а также настройки и изменений, а также то, что в себестоимость такого фильтра входит только труд программиста. Недостаток — низкая скорость, зависящая от быстродействия процессора, а также трудная реализуемость цифровых фильтров высокого порядка. С развитием и расширением областей применения цифровых технологий возрастает роль систем цифровой обработки сигналов, в частности, цифровой фильтрации. Как известно, цифровые фильтры (ЦФ) могут быть трех типов: нерекурсивные ЦФ, рекурсивные ЦФ и цифровые фильтры, основанные на методе вычисления коэффициентов дискретного преобразования Фурье (ДПФ). Наиболее эффективными с точки зрения быстродействия, и поэтому наиболее широко применяемыми, являются фильтры первых двух типов. Однако они имеют одно существенное ограничение: их параметры, определяющие форму АЧХ, жестко заданы, а следовательно, также фиксирована и АЧХ фильтра (изменение АЧХ возможно только с изменением параметров фильтра, то есть по сути необходимо проектирование нового ЦФ). Кроме того, в процессе фильтрации «за кадром» остается спектр поступаемой на вход ЦФ цифровой последовательности.

 

 

Фильтры – это частотно-избирательные устройства, которые пропускают или задерживают сигналы, лежащие в определенных полосах частот. До 60-х годов для реализации фильтров применялись, в основном, пассивные элементы, т. е. индуктивности, конденсаторы и резисторы. Основной проблемой при реализации таких фильтров оказывается размер катушек индуктивности (на низких частотах они становятся слишком громоздкими). С разработкой в 60-х годах интегральных ОУ появилось новое направление проектирования активных фильтров на базе ОУ. В активных фильтрах применяются резисторы, конденсаторы и усилители (активные компоненты), но в них нет катушек индуктивности. В дальнейшем активные фильтры почти полностью заменили пассивные. Сейчас пассивные фильтры применяются только на высоких частотах (выше 1МГц), за пределами частотного диапазона большинства ОУ широкого применения.

Сейчас во многих случаях аналоговые фильтры заменяются цифровыми. Работа цифровых фильтров обеспечивается, в основном программными средствами, поэтому они оказываются значительно более гибкими в применении по сравнению с аналоговыми. С помощью цифровых фильтров можно реализовать такие передаточные функции, которые очень трудно получить обычными методами. Тем не менее, цифровые фильтры пока не могут заменить аналоговые во всех ситуациях, поэтому сохраняется потребность в наиболее популярных аналоговых фильтрах – активных RC –фильтрах.

Фильтры можно классифицировать по их частотным характеристикам. На рисунке 1.2 изображены характеристики фильтра нижних частот (а), фильтра верхних частот (б), полосового фильтра (в). Основная функция любого фильтра заключается в том, чтобы ослабить сигналы, лежащие в определенных полосах частот, внести в них различные фазовые сдвиги или ввести временную задержку между входным и выходным сигналами.

С помощью активных RC – фильтров нельзя получить идеальные формы частотных характеристик в виде прямоугольников со строго постоянным коэффициентом передачи в полосе пропускания, бесконечным ослаблением в полосе подавления и бесконечной крутизной спада при переходе от полосы пропускания к полосе подавления. Проектирование активного фильтра всегда представляет собой поиск компромисса между идеальной формой характеристики и сложностью её реализации. Это называется «проблемой аппроксимации». Во многих случаях требования к качеству фильтрации позволяют обойтись простейшими фильтрами первого или второго порядка. Набор таких схем приведен ниже. Проектирование фильтра в этом случаи сводится к выбору схемы с наиболее подходящей конфигурацией и последующему расчету значений номиналов элементов для конкретных частот.

 

Рисунок 1.2 – Типовые характеристики фильтров.

 

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

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

Классификация цифровых фильтров (ЦФ) была предложена в докладе Д.А. Губанова и В.Б. Сташенко В ее основу положен функциональный признак (т. е. используемые алгоритмы цифровой фильтрации, а не схемотехнические решения), согласно которому ЦФ подразделяются на 4 группы: фильтры частотной селекции, оптимальные (квазиоптимальные), адаптивные и эвристические.

Рисунок 1.3 – Классификация цифровых фильтров

Наиболее изученными и опробованными на практике являются ЦФ частотной селекции. Они почти всегда представляют собой реализованные на новой элементной базе традиционные аналоговые фильтры частотной селекции. Выступления участников конференции показали, что развитие цифровых средств частотной селекции происходит в следующих направлениях:

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

· совершенствование существующих методов оптимального проектирования многоступенчатых структур с целью их полной формализации и включения в состав ПО;

· разработка новых подходов к проектированию ЦФ частотной селекции с улучшенными качественными показателями.

Новейшие технические реализации как традиционных, так и нетрадиционных задач цифровой обработки сигналов чаще всего используют разные схемотехнические решения. Наибольшее внимание участников секции цифровой фильтрации привлекли алгоритмы многоскоростной обработки сложных сигналов, которые содержат как быстро, так и медленно меняющиеся составляющие. Такой алгоритм должен предусматривать предварительное разделение «быстрых» и «медленных» компонентов с понижением частоты дискретизации «медленных» составляющих и последующей их обработкой. Современные вычислительные средства позволяют решать в режиме реального времени и задачи многомерной фильтрации, существенно более сложные, чем цифровая фильтрация одномерных сигналов, выполняемая с помощью сигнальных процессоров или многопроцессорных систем.

(Калабеков Б. А. Микропроцессоры и их применение в системахпередачи и обработки сигналов: Учеб. Пособие для вузов. – М.:Радио и связь, 1988. – 368с.: ил)

 

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

Для решения этих задач существует несколько путей. Например, можно использовать операции с 16-, 32- или 64-битными числами или использовать масштабирование для получения лучшей точности. Эти и другие методы обычно требуют большей памяти и, как следствие, программу не удается загнать в маленький микроконтроллер. Анализ литературы показывает, что опубликованное аппаратное программное обеспечение для цифровых филь-тров чаще всего написано на языке “C”. Программы на “C” требуют больше памяти, чем при написании на Ассемблере. Это часто делает их непригодными для маленьких микроконтроллеров с ограниченными ресурсами памяти. Приводимый листинг иллюстрирует простой инженерный метод проектирования аппаратных цифровых фильтров нижних частот (ФНЧ) с одним полюсом для 8-разрядных микроконтроллеров. Эта программа рассчитана на самый простой микроконтроллер фирмы Freescale типа MC68HC908QT2, но ничто не мешает перенести идею этой программы на любой тип микроконтроллера, потому что программа написана на языке инструкций стандартного Ассемблера.

Применяемая в этом алгоритме идея не использует сложную математику на основе Z-преобразования, но базируется на простом рекурсивном уравнении. Вы вычисляете каждый отсчет выходного сигнала как сумму входного сигнала и предыдущего выходного отсчета с соответствующими весовыми коэффициентами. Рекурсивное уравнение, определяющее однополюсный ФНЧ, имеет вид Y[n]=X[n]xa0+Y[n-1] x b1, где X[n] и Y[n] — входная и выходная выборки, Y[n-1] — величина предыдущего выходного отсчета, a0 и b1 — весовые коэффициенты, определяющие величину затухания. Эти коэффициенты рассчитываются как a0=1-д, b1=д, где 0<д<1. Физически д определяет величину спада между смежными выходными отсчетами при поступлении на вход единичного импульса. Можно непосредственно задать величину д или вычислить ее из желаемой постоянной времени фильтра d, которая является числом выборок при возрастании уровня выходного сигнала на 63,2% в случае подачи на вход фильтра сигнала постоянного уровня. Эти два параметра связаны соотношением д=e-1/d, где e —основание натуральных логарифмов. Предыдущее уравнение можно записать в виде Y[n]=Y[n-1]+(1-д)x(X[n]-Y[n-1]).Вместо умножения на число с десятичной точкой более удобно при программировании на Ассемблере осуществлять деление на подходящее целое число F=1/(1-д): Y[n]=Y[n-1]+(X[n]-Y[n-1])/F. В результате мы можем определить параметры цифрового фильтра по следующей схеме:

1. Выбираем параметр F. В Ассемблере удобно выполнять деление путем сдвига разрядов вправо. Для правильного сдвига величина F-должна быть равна 2S, где S — число сдвигов. Пусть F равно 8, тогда для деления достаточно трех сдвигов вправо.

2. Вычисляем декремент: δ=1-1/F=1-1/8=0,875.

3. Вычисляем постоянную времени как d=-1/lnδ=-1/ln0,875 x7,49 отсчетов.

Уравнение Y[n]=Y[n-1]+(X[n]-Y[n-1])/F определяет структуру алгоритма микроконтроллера при реализации фильтра. Для алгоритма нужны три регистра: входной для X[n], выходной для Y[n] и регистр инкремента д ля хранения члена (X[n]-Y[n-1])/F. Размер этих регистров зависит от входного сигнала. В рассматриваемой реализации сигналы с выхода встроенного 8-разрядного АЦП изменяются в диапазоне от 00 до $FF и должны проходить через ФНЧ. Поэтому входной и выходной регистры должны иметь емкость в 1 байт. Для повышения точности деления разрядность надо повысить на половину для каждой компоненты, поэтому регистр инкремента должен иметь длину в 2 байта.

Осуществление фильтрации в цифровом виде дает такие преимущества, как постоянство хар а к т е р и с т и к и з - з а о т с у т с т в и я влияния допусков, температурного дрейфа и старения элементов. А реализация алгоритма на микроконтроллере дает дополнительные преимущества в виде возможности гибкой регулировки параметров фильтра, поскольк у это зависит только от программы микроконтроллера.

 

DIGITAL SINGLE POLE LOW-PASS FILTER *

****************************************************************

* Fosc=12.8MHz, Prescaler=64; ##T=50*Tms CT=50 *

* Input: AD3 (pin2) Range: $00-$FF *

* Sample rate=10ms *

* Filter parameters:b1=0.875;a0=0.125; F=1/a0=8; d=7.5 *

*****************************************************************

$nolist

$include ‘Fr908QT2.asm’

$list

PERIOD EQU $01F4;Sample rate =10ms; (50*10=500=$01f4),

S EQU 3;Number of right shifts to divide by F=8

HAlFF EQU 4;Half of devisor F=8

;(for rounding during division)

*VARIABLES

ORG RAM

INPUT RMB 1;X{n}

OUTPUT RMB 1;Y[n]

INCREMENT RMB 2;X[n] - Y[n-1]

SampleCNT RMB 1;Sample counter for testing only

*INITIALIZATION

ORG ROM

init RSP;$FF-->SP

CLRA

CLR INPUT;Clear registers

CLR OUTPUT

CLR INCREMENT

CLR INCREMENT+1

CLR SampleCNT

LDA $FFC0;adjusting frequency

STA $0038

MOV #$01,CONFIG1;cop disabled

MOV #$41,CONFIG2;RST-active in pin,IRQ-active in pin

CLRH;clear H:X

CLRX

CLR;clear prtA

MOV #pA0.,DDRA;set pA0 output,pA1-pA5 inputs

MOV #0,TSC0;clear TSC0

LDHX #PERIOD;PERIOD -->TmodH & TmodL

STHX TmodH

MOV #%00010110,TSC;clear TIMER,start TIMER,prescaler:64

*****************************************************************

MAIN BRCLR TOF,TSC,*;wait for the end of PERIOD

BCLR TOF,TSC;TOF reset

ReadADC MOV #3,ADSCR;start ADC3

BRCLR COCO,ADSCR,*;wait for ADC3 end

MOV ADR,INPUT;ADR->INPUT

INC SampleCNT

Filtering JSR Filter

BRA MAIN

****************** DIGITAL LOW _ PASS FILTER******************

Filter LDA INPUT;Calculate (X[n] - Y[n-1])

SUB OUTPUT

STA INCREMENT+1

clc

LDA INCREMENT+1;Calculate (X[n]-Y[n-1])+halfF

ADD #HALFF;(for rounding the result of division)

STA INCREMENT+1

LDA INCREMENT

ADC #0

STA INCREMENT

LDA #S;division on F=8, by S=3 right shifts,

mf1 ASR INCREMENT

ROR INCREMENT+1

DBNZA mf1

LDA OUTPUT;Calculate Y[n]=Y[n-1] + (X[n]-Y[n-1])/8

ADD INCREMENT+1

STA OUTPUT

RTS

**************************************************************

ORG $FFFE;Position to reset vector

FDB init;Set start address

$nolist

(CHIP NEWS ИНЖЕНЕРНАя ПРАктИкА http://www.chip-news.ru/)

 







Дата добавления: 2015-09-04; просмотров: 1307. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия