Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

В. Стешенко, Р. Загидуллин, С. Карутин

Анализ сигналов и систем. Пакет SystemView компании Elanix. Занятие 5. Моделирование фильтров. Экспорт и импорт данных во внешние файлы

Как известно, задачей синтеза цепи является нахождение структуры цепи, реализующей заданные характеристики (частотный коэффициент передачи напряжения, входное и выходное сопротивления и так далее). Как правило, синтез цепи является неоднозначной процедурой. Поэтому обычно приходится выбирать среди нескольких структур с одинаковыми свойствами оптимальную по каким-то определённым параметрам (минимальное число элементов, малая чувствительность к выбору номиналов элементов и так далее).

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

Можно использовать наряду с переменной j комплексную частоту p и рассматривать наряду с K(j) более общую характеристику - передаточную функцию K(p). Она обладает всеми свойствами передаточных линейных стационарных систем. Линейному четырёхполюснику с постоянными параметрами соответствует функция

где K0 - постоянная величина. Если цепь устойчива, то полюсы p1, p2,..., pn должны располагаться в левой полуплоскости, образуя комплексно-сопряжённые пары.

Обычно вводят дополнительное условие - число полюсов K(p) должно превышать число нулей, то есть в бесконечной точке должен существовать не полюс, а нуль передаточной функции. В отличие от полюсов, нули могут располагаться и в правой, и в левой полуплоскостях переменной p.

Четырёхполюсники, не имеющие нулей передаточной функции в правой полуплоскости, называют минимально-фазовыми цепями. Если нули в правой полуплоскости имеются - неминимально-фазовыми цепями.

Функция K(p) минимально-фазового четырёхполюсника в правой полуплоскости переменной p является аналитической функцией и не имеет нулей. Значит, аналитической является функция

InK(p) = In |K(p)| + jargK(p).

Граничные значения вещественной и мнимой частей функции InK(p) на мнимой оси, то есть при p = jw, связаны между собой парой преобразований Гильберта.

Таким образом, реализуя заданную АЧХ минимально-фазового четырёхполюсника, невозможно получить при этом любую ФЧХ. Если АЧХ достигает при какой-то частоте максимума, то ФЧХ в окрестности этой частоты проходит через нуль.

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

Для задания исходных данных к синтезу фильтра удобно использовать коэффициент передачи мощности Kp(), а не передачи K(j), так как эта величина, в отличие от самого коэффициента передачи, вещественна.

Kp() = K(j)K*(j) = K(j)K(-j).

Коэффициент передачи мощности - чётная функция и поэтому всегда может быть представлен в виде отношения двух многочленов по степеням ².

Если подставить p вместо j, то Kp() будет аналитически продолжаться с оси j на всю плоскость комплексных частот.

Kp(p) = K(p)·K(-p).

Если a + jb - особая точка функции K(p), то Kp(p) будет иметь такую же особую точку при p = a + jb и p = – a – jb.

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

При синтезе фильтра выбирают идеализированную функцию, которая описывает частотную зависимость коэффициента передачи мощности, равную квадрату АЧХ. На ФЧХ ограничений не налагается. Для реализации заданного фильтра надо проаппроксимировать эту идеальную функцию такой функцией, которая может принадлежать физически реализуемой цепи.

Далее по аппроксимированной частотной характеристике передачи мощности находят K(p) фильтра. Зная координаты нулей и полюсов этой функции, можно провести реализацию цепи, то есть получить принципиальную схему фильтра и номиналы его элементов. Рассмотрим некоторые физически реализуемые характеристики только данного типа фильтров, так как остальные типы (полосовые, заградительные и так далее) получаются пересчётом ФНЧ. Основное назначение фильтров нижних частот - с минимальным ослаблением передавать на выход колебания, частоты которых не превосходят граничную частоту wc, называемую частотой среза. Колебания более высоких частот должны существенно ослабляться.

Идеальная частотная зависимость коэффициента передачи для ФНЧ имеет вид:

Так как такая характеристика физически нереализуема, возникает задача выбора допустимой аппроксимирующей функции.

Один из возможных способов аппроксимации идеальной ФНЧ построен на использовании коэффициента передачи мощности (рис. 1).

где H = /c - безразмерная нормированная частота.

Коэффициент передачи мощности для фильтров Баттерворта
Рисунок 1. Коэффициент передачи мощности для фильтров Баттерворта

ФНЧ с такими частотными свойствами - фильтр Баттерворта или фильтр с максимально-плоской характеристикой. Целое число n = 1, 2,... - порядок фильтра.

На частоте среза (при H = 1), ослабление, вносимое фильтром, равно 10lg 0,5 = -3 дБ, независимо от порядка системы. Порядок фильтра подбирают, исходя из требований к ослаблению частот выше частоты среза.

Чтобы реализовать цепь, надо перейти к K(p). Для этого вводят нормированную комплексную частоту

pH = sH + jH.

Тогда коэффициент передачи мощности будет выглядеть так:

Видно, что на плоскости pH функция Kpp(pH) имеет 2n полюсов, которые являются корнями уравнения

Все корни лежат на окружности единичного радиуса с центром в начале координат (рис. 2).

Полюсы коэффициента передачи мощности при n = 1, 2 и 3
Рисунок 2. Полюсы коэффициента передачи мощности при n = 1, 2 и 3

Так как полюсы имеют квадрантную симметрию, считаем, что только полюсы из левой полуплоскости отвечают синтезируемому фильтру. Их копии из правой полуплоскости не принимаются во внимание.

Чебышевской аппроксимацией называется способ аппроксимации АЧХ идеального ФНЧ, при котором коэффициент передачи мощности ФНЧ задаётся такой формулой:

где 1 - постоянное число, называемое коэффициентом неравномерности характеристики в полосе пропускания; Tn(H) - многочлен Чебышева n-го порядка, определяемый выражением Tn(x) = cos(n·arccosx).

Функция Tn(x) при любом n может быть найдена из рекуррентного соотношения

Tn(x) = 2xTn-1(x) – Tn-2(x),

причём T0(x) = 1 и T1(x) = x.

С помощью таких функций можно удачно аппроксимировать идеальную характеристику ФНЧ. Из графиков, приведённых для разных значений порядков фильтров и коэффициентов неравномерности характеристики (рис. 3 и 4), можно видеть, что с ростом e пульсации уменьшаются, а увеличение n даёт более крутую характеристику. Таким образом, подбирая параметры n и e, можно добиться исходных условий, предъявляемых к синтезируемому фильтру.

Частотные характеристики коэффициента передачи ФНЧ чебышевского типа
Рисунок 3. Частотные характеристики коэффициента передачи ФНЧ чебышевского типа при e = 1 и 0,5 и n = 1 и 2

Частотные характеристики коэффициента передачи ФНЧ чебышевского типа
Рисунок 4. Частотные характеристики коэффициента передачи ФНЧ чебышевского типа при e = 1 и 0,5 и n = 3 и 5

Полюсы коэффициента передачи мощности чебышевского фильтра являются корнями уравнения

1 + ²Tn²(pH) = 0.

Его решение довольно сложно, поэтому практические расчёты выполняют по-другому. Сначала вычисляют параметр

Затем находят полюсы передаточной функции Баттерворта того же порядка и с той же частотой среза. Потом переходят к полюсам передаточной функции чебышевского фильтра, умножая абсциссу каждого полюса на sh(a), а ординату - на ch(a). Полюсы лежат на эллипсе, уравнение которого в плоскости pH = H + jH имеет вид

Рассмотрев основы теории (подробное изложение можно найти в соответствующей литературе), рассмотрим моделирование фильтров в пакете SystemView.

Элемент Linear Sys/Filters {1} из группы Filters/System библиотеки Operator {2} - один из наиболее многогранных в System View. Он представляет собой фильтр, параметры которого задаются разными способами. Можно задавать коэффициенты полиномов передаточной функции фильтра, также можно задавать требования к АЧХ или ФЧХ фильтра.

Параметры фильтра задаются в окне Linear System, показанном на рис. 5.

Окно Linear System
Рисунок 5. Окно Linear System

Выбор типа фильтра производится в расположенном справа поле Filters:

  • FIR - КИХ-фильтры;
  • Analog - аналоговые фильтры;
  • Comm - фильтры, применяемые в системах связи;
  • Custom - фильтры, для которых можно задать произвольные АЧХ;
  • Laplace - задание коэффициентов передаточной функции фильтра H(s);
  • Z-Domain - задание коэффициентов передаточной функции фильтра H(z).

Выбранный тип фильтра помечается слева от соответствующей клавиши знаком {3}. Для фильтров каждого типа указывается набор требований к его характеристикам. В этом окне также можно увидеть различные характеристики фильтра, изображаемые в графическом окне. Выбор характеристики осуществляется нажатием на следующие клавиши:

  • Time - импульсная характеристика;
  • Gain - АЧХ в дБ;
  • Phase - ФЧХ в град.;
  • Bode Plot - частотные характеристики (АЧХ и ФЧХ);
  • Group Delay - групповое время запаздывания в секундах;
  • Root Locus.

Рассмотрим более подробно создание аналоговых фильтров.

В окне Analog можно создать фильтры пяти типов:

  • Bessel - фильтр Бесселя;
  • Butterworth - фильтр Баттерворта;
  • Chebyshev - фильтр Чебышева;
  • Elliptic - эллиптические фильтры;
  • Linear Phase - фильтр с линейной фазовой характеристикой.

Окно синтеза аналоговых фильтров показано на рис. 6.

Окно синтеза аналоговых фильтров
Рисунок 6. Окно синтеза аналоговых фильтров

Каждый фильтр может быть ФНЧ (lowpass), ФВЧ (highpass), ПФ (bandpass), ЗФ (bandstop) - это выбирается в графе Filter Pass-Band. В графе Filter Type выбирается тип аппроксимирующего полинома (Бесселя, Баттерворта, Чебышева, Эллиптический, линейно-фазовый). В графе BP Filter Order указывается порядок фильтра (не более 9). Значения нижней и верхней граничных частот пропускания указывается в Low Cuttoff и Hi Cuttoff в герцах. Также можно выбрать значение неравномерности АЧХ в полосе пропускания Inband Ripple, значение затухания в полосе задерживания Rejection и отклонение фазы от линейной зависимости Phase Riple.

В результате синтеза рассчитываются коэффициенты полиномов передаточной функции H(z), используемой при моделировании фильтра. Коэффициенты полиномов передаточной функции H(s) рассчитываются после нажатия на кнопку Convert To Laplace (при этом открывается окно Laplace Design). Синтез проводится после нажатия кнопки Finish. При этом при наличии ошибок в задании на синтез выводится сообщение.

System View позволяет выполнять фильтры не только из "стандартных" фильтров, часто используемых на практике, но и позволяет создать свой, "заказной". Из всего предложенного спектра действий по созданию фильтра рассмотрим создание фильтра с помощью преобразований Лапласа или метода характеристических параметров.

Преобразование Лапласа представляет собой функцию, позволяющую моделировать фильтры вплоть до 4-го порядка.

где коэффициенты a и b подбираются исходя из теоретической части как коэффициенты a и b.

Разберём создание фильтра на примере.

Пусть рассчитаны параметры будущего фильтра. Открываем System View. Из библиотеки operator {4}, дважды щёлкнув по ней, выбираем Linear Sys Filters (рис. 7).

Закладка Filters/Systems библиотеки Operator
Рисунок 7.Закладка Filters/Systems библиотеки Operator

Затем, дважды щёлкнув уже по этой пиктограмме, вызываем диалог непосредственно выбора фильтра (рис. 8), из которого нас в данном случае интересует неприметная с первого взгляда кнопочка Define под надписью Laplace. Именно она и перенесёт нас в то окошко, куда мы сможем подставить желаемые числа и получить собственный фильтр.

Окно выбора типа фильтра и просмотра его параметров
Рисунок 8. Окно выбора типа фильтра и просмотра его параметров

Остановимся на этой части подольше, поскольку это окошко определит будущее нашего фильтра. Вверху этого окна (рис. 9) трудно не заметить саму формулу, куда нужно ввести коэффициенты an и bn (в зависимости от порядка фильтра, n может быть от 0 до 4).

Окно синтеза фильтра
Рисунок 9. Окно синтеза фильтра

После подстановки, нажав Update, можем видеть полюсы и нули системы, отображённые соответственно в областях System Poles и System Zeros. Вот и всё. Нажимаем Bode Plot и видим АЧХ и ФЧХ нашего синтезируемого фильтра.

System View позволяет экспортировать (сохранять) результаты работы системы или её отдельного звена во внешние файлы с целью их дальнейшего использования в других программных пакетах или импорта (загрузки) сохранённых данных в другую систему, созданную в System View.

Экспорт данных осуществляется двумя способами:

  • из окна анализа (Analis Window);
  • при помощи примитива Sink (закладка Export).

Импорт данных осуществляется при помощи примитива Source (закладка Import). Экспорт данных - из окна анализа (Analis Window).

Если в системе, созданной в главном окне System View, присутствует хотя бы один примитив Sink, соединённый с некоторым звеном системы, то в окне анализа (Analis Window) присутствует хотя бы одно окно с графическим представлением сигнала, являющегося результатом работы этого звена. Количество окон в окне анализа совпадает с количеством примитивов Sink в системе.

Для экспорта нужного сигнала необходимо активировать окно с ним, затем в ниспадающем меню File выбрать пункт Export Window as Data или Export Window as Metafile. Цифра после слова Window в каждом из пунктов означает номер экспортируемого окна в окне анализа (рис. 10).

Меню File в окне Analis Window
Рисунок 10. Меню File в окне Analis Window

Пункт Export Window as Data позволяет сохранить графическое изображение сигнала в виде численных данных разного формата и точности с целью их дальнейшей обработки в математических пакетах или импорта в другую систему System View. Пункт Export Window as Metafile позволяет сохранить сигнал в графическом формате системы Windows с расширением *.wmf для его дальнейшего использования в отчётах или презентациях в качестве иллюстрации.

При выборе пункта Export Window as Data необходимо задать имя файла, куда будут сохранены данные и формат, в котором они будут сохранены: текст ASCII (text), 16-бит целые числа со знаком (16 bit Signed Int), 8-бит целые числа без знака (8 bit Unsigned Int), двоичный файл с одинарной точностью (Float Single), двоичный файл с двойной точностью (Float Double), однобитные целые числа (1 bit Int). В зависимости от выбранного формата, сигнал будет записан и в дальнейшем воспроизведён с разной точностью.

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

Диалоговое окно экспорта данных
Рисунок 11. Диалоговое окно экспорта данных

Закладка Export примитива Sink отвечает за экспорт данных непосредственно из главного окна System View. Результат работы звена, соединённого с этим элементом, будет сразу же записан во внешний файл. Кнопка Ext 1ch сохраняет одноканальный (моно) сигнал, Ext 2ch - двухканальный. WAV 1ch и WAV 2ch экспортируют, соответственно, моно- и стереосигналы в звуковой файл с расширением *.wav (рис. 12).

Диалоговое окно экспорта данных
Рисунок 12. Диалоговое окно экспорта данных

Для первых двух кнопок задаваемые параметры аналогичны экспорту из окна анализа (см. выше), разница лишь в том, что отметив опцию Включая время (Include Time Data), можно осуществить временную привязку данных. Для последних двух кнопок закладки Export необходимо выбрать файл, куда производится сохранение и формат: 8 или 16 бит - то есть с какой точностью будет записана каждая точка сигнала. Частота дискретизации для звукового файла совпадает с установками системного времени.

Закладка Import примитива Source (рис. 13) отвечает за импорт данных из внешнего файла и их использование в главном окне System View в качестве источника сигнала. Кнопки этой закладки аналогичны кнопкам закладки Export примитива Sink: импорт моно или стереосигнала в виде численных данных или из звуковых WAV-файлов.

Диалоговое окно экспорта данных
Рисунок 13. Диалоговое окно экспорта данных

Параметры любого режима аналогичны режиму экспорта: выбор формата данных и пути к файлу. Также, если производится импорт численных данных, то необходимо выбрать, с какой по счёту точки производить считывание (Start output with sample number). По умолчанию этот параметр равен 1.

Если сигнал необходимо растянуть по оси абсцисс, то можно ввести, сколько точек использовать при выводе вместо каждой точки сохранённого сигнала (Pad output using n samples per input sample). То есть при вводе, например, числа 2, сигнал будет растянут по оси абсцисс в 2 раза.

Также есть возможность выбрать, растягивать ли сигнал, используя вместо несуществующих точек нули (Pad output using zeros), то есть, фактически получая сигнал с неким заполнением, или использовать значение предыдущей точки (Pad output using previous value) для генерации следующей. В таком случае сигнал просто визуально растягивается.

При импорте из WAV-файла параметры те же, плюс ещё есть возможность включить/выключить проигрывание файла медиасредствами Windows.

Авторы будут признательны за любые замечания и пожелания, которые следует направлять по адресу: 107005, Москва, 2-я Бауманская ул., д. 5, МГТУ им. Баумана, кафедра СМ5 "Автономные информационные и управляющие системы", Стешенко В.Б. E-mail: steshenk@sm.bmstu.ru; www.sm.bmstu.ru/sm5.







Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники