Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

Окончание документа, представленное на рис. 11.29, демонстрирует расчет на основе интеграла Дюамеля реакции дифференцирующей RC-цепи на экспоненциально затухающий синусоидальный сигнал u1(t).

Рис. 11.29. Расчет реакции дифференцирующей цепи на синусоидальный сигнал с экспоненциально уменьшающейся амплитудой

Обратите внимание на то, что выражение для u2(t), получаемое с помощью интеграла Дюамеля, стало намного сложнее. Тем не менее, получено как аналитическое выражения для реакции

цепи u2(t), так и графики u1(t), a(t) и u2(t). Они показаны внизу графика.

11.3.3. Малосигнальный анализ фильтра-усилителя на операционном усилителе

Теперь рассмотрим проектирование аналогового полосового фильтра-усилителя на операционном усилителе (файл af), схема которого приведена на рис. 11.30. Сам операционный усилитель будем считать идеальным.

Рис. 11.30. Схема полосового фильтра на интегральном операционном усилителе

Подготовимся к расчету фильтра:

> restart:

Зададим основные уравнения, описывающие работу усилителя на малом сигнале:

> Vo := (-Z2/Z1)* Vi;

> Z1 := R3 + 1/(I*omega*C3);

> Z2 := R4*1/(I*omega*C4) / (R4 + 1/(I*omega*C4));

Введем круговую частоту

> omega := 2*Pi*f;

ω := 2 π f

Найдем в аналитическом виде коэффициент передачи фильтра и его фазочастотную характеристику как функции от частоты:

> gain := abs(evalc(Vo/Vi));

> phase := evalc(op(2,convert(Vo/Vi,polar)));

Эти выражения, несмотря на простоту схемы усилителя, выглядят довольно сложно, что, однако, ничуть не мешает использовать их для выполнения расчетов. Зададим конкретные значения параметров:

> R3 := 1000:

> R4 := 3000:

> C3 := 0.08*10^(-6):

> С4 := 0.01*10^(-6):

Построим АЧХ фильтра как зависимость коэффициента передачи в децибелах (dB) от частоты f в Гц:

> plot([log10(f), 20*logl0(gain), f=10..50000],

color=black, title=`Коэффициент передачи dB как функция от логарифма частоты f в Гц`);

Эта характеристика представлена на рис. 11.31. Здесь полезно обратить внимание на то, что спад усиления на низких и высоких частотах происходит довольно медленно из-за малого порядка фильтра.

Рис. 11.31. АЧХ фильтра на операционном усилителе

Далее построим фазочастотную характеристику фильтра как зависимость фазы в радианах от частоты f в

Гц:

> plot([log10(f), phase, f=10..50000], color=black, title= `Фаза в радианах как функция логарифма частоты`);

Фазочастотная характеристика (ФЧХ) фильтра показана на рис. 11.32.

Рис. 11.32. ФЧХ фильтра на операционном усилителе

На ФЧХ фильтра можно заметить характерный разрыв, связанный с превышением фазовым углом граничного значения π. Такой способ представления фазового сдвига общепринят, поскольку его изменения стремятся вписать в диапазон от -π до π.

11.3.4. Проектирование цифрового фильтра

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

Спроектируем фильтр N+1-го порядка класса FIR (Finite Impulse Response или с конечной импульсной характеристикой). Документ, решающий эту задачу, представлен в файле fir.

Каждая из N ячеек временной задержки фильтра удовлетворяет следующей зависимости выходного сигнала у от входного х вида:

Подключим пакет расширения plots, нужный для графической визуализации проектирования:

> restart:with(plots):

Warning, the name changecoords has been redefined

Зададим исходные данные для проектирования полосового цифрового фильтра, выделяющего пятую гармонику из входного сигнала в виде зашумленного меандра с частотой 500 Гц:

> N := 64: # Число секций фильтра (на 1 меньше порядка фильтра)

> fs := 10000: # Частота квантования

> fl := 2300: # Нижняя граничная частота

> fh := 2700: # Верхняя граничная частота

> m := 10: # 2^m > N - число точек для анализа

Вычислим:

> Т := 2^m-1;

T := 1023

> F1 : = evalf(fl/fs);

F1 := .2300000000

> F2 := evalf(fh/fs);

F2 = .2700000000

> Dirac(0) := 1: # Функция Дирака

> fp1:=2*Pi*F1: fp2:=2*Pi*F2:

Зададим характеристику полосового фильтра:

> g : = (sin(t*fp2)-sin(t*fp1))/(t*Pi);

Вычислим FIR коэффициенты для прямоугольного окна фильтра

> С := (n) -> limit(g,t=n): h := aray(0..N): N2:=N/2:

> for n from 0 to N2 do h[N2-n]:= evalf(C(n)); n[N2+n] :=

h[M2-n]; od:

Определим массивы входного x(n) и выходного y(n) сигналов:

> х := array(-N..Т): y:= array(0..T):

Поделиться с друзьями: