Фильтр. Горный институт Уро ран
Скачать 0.93 Mb.
|
4.1.5. Строка статуса Строка статуса отображает дополнительную информацию об элементах управления, расположенных в главном окне. Контекстная информация отображается в левой половине строки статуса и появляется при наведении курсора мыши на интересующий элемент управ- ления (меню, кнопка, поле вода, список, выключатель и др.). При выполнении аппроксима- ции информационные сообщения о погрешности аппроксимации будут высвечиваться в пра- вой части строки статуса. 4.2. Расчет элементарных фильтров Элементарные фильтры Под элементарными фильтрами подразумеваются фильтры, для которых известны все теоретические представления, такие как передаточная функция (полюсы и нули на Z- или S- плоскости или вещественные коэффициенты полиномов 2-го порядка) и функция, опреде- ляющая форму ЧХ. Коэффициенты всех этих функций можно получить из параметров фильтра, которые более удобны для нашего восприятия. Это частота среза (Fc), порядок фильтра (N), коэффициенты неравномерности в полосе пропускания (Ap) и полосе подавле- ния (As), граничные частоты этих полос. Такие теоретические представления имеются для различных типов фильтров, разрабо- танных разными авторами (Баттерворт, Чебышев и др.), однако в данной системе реализован расчет только фильтра нижних частот Баттерворта, который и считается элементарным. На его основе в результате замены переменной частоты можно получить функции фильтров верхних частот , а также полосового и заградительного фильтра с одинаковой крутизной спа- да ЧХ слева и справа. Эти фильтры также будем считать элементарными. Список элементар- ных фильтров завершают режекторный и селекторный фильтры, выражения для которых по- лучаются непосредственно из корней, зависящих от их центральных частот. Более подроб- ные сведения о передаточных функциях этих элементарных фильтров приведены в главе Рекурсивные фильтры Баттерворта . Расчет Для расчета элементарных фильтров необходимо перейти в панели параметров на вкладку Расчет фильтров. На вкладке выбрать Тип фильтра, Параметры фильтра, за- дать Частоту дискретизации и нажать кнопку Рассчитать. После расчета на Диаграмме графиков появятся графики АЧХ, ФЧХ и ГВЗ, а на Комплексной плоскости появятся корни передаточной функции – полюсы и нули. Числовые значения корней будут помещены в со- ответствующие таблицы на вкладке Передаточная функция. В группе Параметры фильт- ра каждый расчет будет сопровождаться выдачей дополнительной информации о граничных частотах полосы подавления (Fp) и граничных частотах полосы пропускания (Fs), зависящих от установленных коэффициентов неравномерности (As и Ap). Нормировка При расчете можно использовать три способа нормировки, соответствующих вариантам переключателя в группе параметров Нормировка Вариант Значение АЧХ позволяет получить нужный уровень АЧХ, опираясь на одно известное ее значение, заданное на некоторой Частоте нормировки, Гц. Нормировочный коэффициент будет рассчитан из отношения желаемой и действительной амплитуд на часто- те нормировки. Вариант Множитель ЧХ позволяет задать коэффициенты передаточной функции не- посредственно. Если нормировка Отсутствует, выполняется первый способ нормировки, но при этом значение АЧХ будет установлено равным 1, а частота нормировки будет выбрана автомати- чески в зависимости от типа фильтра. См. также описание группы параметров Нормировка Особым образом осуществляется нормировка фильтра, представленного в виде коэф- фициентов. Множитель такого фильтра (G) всегда делается равным 1, так как переносится в коэффициенты b числителя. Если фильтр представлен каскадом из N секций, то коэффициен- ты b каждой секции больше своих первоначальных значений в N G раз. Сохранение Передаточные функции фильтров можно сохранить в отдельный файл для дальнейшего использования (меню Сохранить) во всех трех способах представления. При сохранении используется формат RSP, который устанавливается по умолчанию, но может выбираться в диалоговом окне сохранения из списка под именем файла. Формат предусматривает хране- ние всех трех разновидностей представления. Если сохранение происходит в существующий файл, то имеющиеся в нем данные НЕ СТИРАЮТСЯ а обновляются или дополняются. Если сохраняемая информация в файле отсутствует, в нем создается нужная секция (как в INI- файле), если аналогичная информация уже имеется, то соответствующая секция обновляется. Сохранение фильтра в виде FAP (частота, амплитуда, фаза) происходит в виде ряда значений с равномерным шагом по частоте, зависящем от частоты дискретизации. Если созданные фильтры несут информацию о передаточной функции некоторой сис- темы (например, датчика или канала сейсмической станции), то следует использовать ко- манду меню Сохранить \ Полюсы и нули. Если сохраняемые данные предстоит использо- вать в WSG, то выберите формат сохранения SAC. При сохранении полюсов и нулей в любом формате в файл записываются только их представление в S-плоскости, которое не зависит от частоты дискретизации и наиболее широко используется в сейсмологии. Сохранение коэффициентов фильтра имеет смысл, если они будут использованы для данных, оцифрованных с той же частотой дискретизации, для которой данный фильтр был рассчитан. 4.3. Аппроксимация Аппроксимация является одним из способов создания цифрового фильтра, если изна- чально известна лишь его частотная характеристика (обычно только АЧХ). В данном прило- жении реализована аппроксимация ЧХ любым из элементарных фильтров или каскадом эле- ментарных фильтров. 4.3.1. Аппроксимация элементарными фильтрами Если форма имеющейся дискретной ЧХ, представленной в виде FAP, достаточно про- ста, ее можно попытаться аппроксимировать передаточной функцией элементарного фильт- ра. Какой именно тип фильтра выбрать, зависит от формы АЧХ. Для того, чтобы приступить к аппроксимации, сначала нужно загрузить аппроксими- руемый фильтр с помощью команды ЧХ (частота, амплитуда, фаза) из меню Загрузить. Отметьте флагом выключатель АЧХ в строке Загруженные на вкладке Настройки на Панели параметров , чтобы график с АЧХ из файла был виден на диаграмме графиков. Если необходима визуализация ФЧХ и ГВЗ, отметьте соответствующие выключатели тоже. Там же отметьте выключатель АЧХ (ФЧХ, ГВЗ) в строке Рассчитанные, чтобы показать анало- гичные аппроксимирующие рассчитанные графики. Выберите тот тип фильтра, который наиболее соответствует форме загруженной АЧХ. Меняя параметры фильтра, добейтесь наилучшего совпадения двух графиков АЧХ. Количе- ственной мерой совпадения значений АЧХ является погрешность аппроксимации, выражен- ная в абсолютных единицах и в процентах. Чем меньше погрешность, тем лучше аппрокси- мация. Величина погрешности рассчитывается каждый раз при нажатии кнопки Рассчитать и отображается в правой части строки статуса. Данный способ аппроксимации является итеративным и может занять много времени для того, чтобы добиться наилучшего совпадения АЧХ, однако он достаточно хорошо фор- мализуется, если известен тип фильтра. быстрый подбор параметров фильтра и корней его передаточной функции реализован в автоматической процедуре аппроксимации, которая за- пускается при вызове одной из команд в меню Аппроксимация. Выбор команды зависит от типа фильтра. При автоматической аппроксимации принимаются во внимание следующие параметры: частотный диапазон аппроксимации и погрешность аппроксимации. Аппроксимация будет выполняться только в частотном диапазоне, заданном с помощью полей Fmin и Fmax. Вели- чина погрешности аппроксимации, используется как критерий, по достижению которого итеративная процедура аппроксимации прекращается. Если не удается достичь заданной по- грешности (принципиально невозможно при текущем наборе полюсов и нулей), использует- ся дополнительный критерий – изменение погрешности аппроксимации в двух последова- тельных итерациях на величину не меньше тысячной доли текущего значения погрешности. Алгоритм аппроксимации включает следующие шаги, каждый из которых также может быть реализован отдельно. 1. Поиск частоты среза. Для ФНЧ, ФВЧ, полосового и заградительного фильтров по- иск выполняется от максимального значения АЧХ в сторону убывания амплитуд до значе- ния, равного 0.707 от максимального. Если этот уровень попадает на интервал между дис- кретными значениями АЧХ, то частота среза интерполируется. Для режекторного и селек- торного фильтров находится минимальное (максимальное) значение АЧХ, частота которого принимается за центральную. От центральной частоты по уровню 707 0 5 0 ≈ от макси- мального значения находятся частоты среза. Отдельно этап реализуется только вручную. 2. Оценка порядка фильтра. Для ФНЧ, ФВЧ, полосового и заградительного фильтров порядок фильтра есть не что иное, как величина наклона асимптоты, к которой стремится линейная часть спада АЧХ, которая должна быть представлена в билогарифмическом мас- штабе. Порядок оценивается по крайним точкам АЧХ на ее спаде, начиная с частоты среза до граничной частоты диапазона аппроксимации (минимальное количество точек – две). Для режекторного и селекторного фильтров порядок фильтров не оценивается, так как крутизна спада определяется расстоянием между частотами среза. Отдельно этап реализуется только вручную. 3. Нормировка. Подбирается нормировочный коэффициент так, чтобы амплитудный уровень загруженного фильтра (берется максимальное значение) совпадал с уровнем аппрок- симирующего. Отдельно этап реализуется только вручную. 4. Уточнение частоты среза и амплитуды. Используется поиск локального минимума относительно решения, найденного на предыдущих этапах, методом возможных направле- ний сначала по переменной частоты среза, затем по амплитуде. Отдельно этап реализуется командами Амплитуда, Частота среза слева и Частота среза справа в меню Уточнение. 5. Уточнение полюсов и нулей. Используется поиск локального минимума относи- тельно решения, найденного на предыдущих этапах, методом возможных направлений по двум переменным (вещественная часть и мнимая часть) для каждого из корней передаточной функции. Отдельно этап реализуется для всех типов фильтров командами Уточнение \ По- люсы и Уточнение \ Нули. Последний этап достаточно эффективен для всех типов фильтров и, как правило, после него улучшить аппроксимацию весьма затруднительно. Тем не менее, у пользователя всегда есть возможность изменить местоположение полюсов и нулей вручную (см. Ручная аппрок- симация ). Для этого необходимо включить режим Двигать нули или Двигать полюсы на вкладке Аппроксимация и приступить к ручному перемещению корней. Перемещение вы- полняется с помощью мыши при нажатой средней кнопке. Для, того чтобы фильтры получа- лись физически реализуемыми, корни двигаются парами совместно с комплексно- сопряженными полюсами (нулями). 4.3.2. Аппроксимация каскадом фильтров Передаточную функцию со сложной частотной характеристикой, которую невозможно получить, используя какой-либо один простой фильтр, можно аппроксимировать каскадом простых фильтров. 4.3.2.1. Формирование каскада Для того, чтобы аппроксимировать сложную ЧХ каскадом, сначала нужно определить- ся, набором каких простых фильтров можно этот каскад сформировать. Так, например, поло- совой фильтр с различными спадами АЧХ на краях можно составить из двух простых: ФНЧ и ФВЧ. Другим примером каскада может послужить фильтр, устраняющий целый ряд элек- трических помех, таких как 25, 50, 100 Гц. Такой каскад будет состоять из трех режекторных фильтров с соответствующими частотами подавления. Таким образом, аппроксимация сводится к формированию каскада, каждая секция ко- торого отвечает только за некоторый интервал АЧХ. Аппроксимация участка АЧХ элемен- тарным фильтром описана в главе Аппроксимация элементарными фильтрами . После то- го, как подбор параметров простых фильтров для каждого такого интервала завершен, ЧХ всего каскада получается в результате произведения передаточных функций каждой состав- ляющей его секции. При аппроксимации каскада активно используется так называемый те- кущий фильтр, являющийся временным звеном почти на каждом этапе аппроксимации. Если каскад создается впервые, то последовательность действий при его формировании следующая: 1) Задайте частотный диапазон, где АЧХ можно аппроксимировать элементарным фильтром. Диапазон аппроксимации задается с помощью полей Fmin и Fmax. 2) В меню Аппроксимация выбрать команду, соответствующую типу простого фильтра, которым будет аппроксимироваться АЧХ на выбранном интервале частот. 3) Уточните параметры фильтра вручную, если это необходимо. Используйте па- раметры фильтра, такие как Частота среза, Порядок фильтра, Коэффициен- ты неравномерности . Возможно использовать ручное смещение полюсов и нулей на комплексной плоскости. 4) В меню Каскад выберите команду Добавить секцию, что приведет к созданию новой секции каскада и копированию в нее всех параметров созданного текуще- го фильтра. 5) Если каскад уже имеет секции и необходимо заменить параметры одной из них на другие, то необходимо в списке секций выделить нужную и в меню Каскад выбрать команду Обновить секцию. 6) Если каскад имеет секции и необходимо удалить одну из них, то в списке сек- ций выделите нужную и в меню Каскад выберите команду Удалить секцию. 7) Если каскад имеет секции и необходимо сформировать новый каскад, то в меню Каскад выберите команду Очистить каскад. 8) Действия 1-4 выполняются для каждого интервала АЧХ, который можно ап- проксимировать элементарным фильтром. Действия 5-6 опциональны и при правильном подборе АЧХ на этапах 1-4 в них необходимости не возникнет. Действие 7 необходимо в случае формирования нескольких каскадов. 9) Если для всех интервалов аппроксимация завершена, каскад можно считать сформированным и его можно сделать текущим, вызвав команду Каскад \ По- казать. Это команда выполняет умножение секций с сокращением одинаковых корней в числителе и знаменателе, после чего отображает передаточную функ- цию фильтра в текстовом и графическом виде. Корни передаточной функции будут помещены в таблицы на вкладке Передаточная функция и на комплекс- ную плоскость. ЧХ фильтра будет показана на диаграмме графиков. 10) Убедитесь, что полученная АЧХ соответствует загруженной и при удовлетвори- тельном результате воспользуйтесь командой сохранения передаточной функ- ции в файл с помощью любой из команд в меню Сохранить. Не рекомендуется менять способ и коэффициенты нормировки, поскольку готовый кас- кад опирается на единые параметры, используемые в каждой секции. Для того, чтобы не воз- никло проблем с объединением секций, выберите частоту нормировки до того как приступи- те к аппроксимации. 4.3.2.2. Использование готового каскада Если каскад сформирован, то его можно использовать для аппроксимации множества однотипных ЧХ, имеющих аналогичную структуру. Для этого необходимо просто загрузить новую ЧХ командой Загрузить \ ЧХ (частота амплитуда, фаза), после чего воспользо- ваться вариантом аппроксимации всего каскада целиком с помощью команды Каскад \ Ап- проксимировать каскад . Данная команда вызывает процедуру, которая последовательно для каждой секции выполняет автоматическую аппроксимацию согласно алгоритму, описанному в главе Аппроксимация элементарными фильтрами . При удовлетворительном результате аппроксимации результаты можно сохранить в файл. Если одна аппроксимация одной из секций оказалась не очень удачной, возможно про- должить итеративный процесс подбора передаточной функции только для этой секции. Для этого необходимо выделить нужную секцию в списке и применить команду Каскад \ Ап- проксимировать секцию. 4.4. Фильтрация Передаточную функцию рассчитанного фильтра, представленную в виде коэффициен- тов, согласно теоретическим представлениям, изложенным в главе Способы задания цифро- вых фильтров , можно использовать для фильтрации временного ряда. Временной ряд мож- но загрузить из файла командой Загрузить \ Сигнал из файла. Загружается только первая колонка данных. Необходимо указать частоту оцифровки сигнала в поле Частота оциф- ровки . Важно, чтобы нужная частота оцифровки была задана до расчета фильтра, если фильтр – сложный каскад. Если фильтр простой – очередность установки частоты не важна. Фильтрацию можно проводить двумя способами, что определяется Направлением фильтрации , выбираемым в меню Фильтрация. Фильтрация В одну сторону применяет фильтр один раз, в результате чего вносятся желаемые амплитудные изменения и накладываются соответствующие фазовые искажения. Если необходимо избежать фазовых искажений, следует использовать фильтрацию Туда и обратно , но при этом амплитудные изменения будут внесены дважды. При необходимости этот факт нужно учитывать при подборе порядка фильтра, уменьшая его порядок вдвое. Как работает фильтрация, можно наблюдать на тестовом сигнале, который загружается командой |