Главная » Архив материалов
При получении алгоритмов рекурсивных цифровых фильтров, ЭВМ вычисляет частотные характеристики и коэффициенты импульсных передаточных функций для различных, прямой, параллельной, последовательной, схем реализации цифровых фильтров. Характеристики и коэффициенты вместе с соответствующими исходными данными табулируются. На этом процесс синтеза алгоритма цифрового фильтра можно считать завершенным. В блоке исходных данных задается основные параметры аналоговых прототипов фильтров. При помощи соответствующих процедур в ЭВМ осуществляется дискретная аппроксимация алгоритмов исходных аналоговых фильтров в цифровые. Так же, как и в первом случае, осуществляются необходимые частотные преобразования, переход от алгоритмов фильтров к алгоритмам полосовых и высокочастотных фильтров, и формирование импульсных передаточных функций требуемых цифровых фильтров. Завершающим этапом является вычисление частотных характеристик полученных фильтров и коэффициентов импульсных передаточных функций для различ ... Читать дальше »
Просмотров: 356 | Добавил: admin | Дата: 14.08.2016 | Комментарии (0)

Структурная схема, иллюстрирующая основные этапы машинного синтеза рекурсивных цифровых фильтров на основе реализации этих двух направлений. В верхней части схемы показаны основные этапы синтеза, реализующие первое направление. Исходные данные должны быть заданы как для синтеза аналогового, так и цифрового фильтров. На основании этих исходных данных ЭВМ при помощи соответствующих процедур осуществляет синтез аналогового НЧ фильтра требуемого типа. Затем производятся необходимые преобразования от алгоритма низкочастотного фильтра к алгоритмам других аналоговых фильтров этого же типа. Затем производится вычисление передаточных функций и частотных характеристик синтезированных аналоговых фильтров того или иного типа. В результате выполнения этих этапов синтеза получаем алгоритм аналогового фильтра с требуемыми динамическими свойствами.
Просмотров: 401 | Добавил: admin | Дата: 03.07.2016 | Комментарии (0)

Прежде чем приступить к подробному анализу основных этапов синтеза алгоритмов цифровых фильтров на ЭВМ, целесообразно дать общую картину алгоритмических процедур синтеза цифровых фильтров различных типов: рекурсивных, полурекурсивных, нерекурсивных. Особенности алгоритмов цифровых фильтров этих типов в свою очередь потребуют соответствующих машинных процедур. Рассмотрим кратко особенности машинного синтеза цифровых фильтров основных типов. Синтез цифровых фильтров различного типа. Разработка методики синтеза рекурсивных цифровых фильтров на ЭВМ может быть осуществлена по двум направлениям: синтез аналогового фильтра с требуемыми динамическими характеристиками и последующий переход от аналогового фильтра к цифровому с оценкой его характеристик; дискретная аппроксимация характеристик имеющегося аналогового фильтра, вычисление основных параметров соответствующего цифрового фильтра и оценка его динамических характеристик.
Просмотров: 365 | Добавил: admin | Дата: 14.06.2016 | Комментарии (0)

Если обобщенные статистические свойства обрабатываемых процессов не заданы в виде аналитических соотношений, то необходимые этапы машинного синтеза нерекурсивных цифровых фильтров расширяются за счет включения процедур оценки обобщенных статистических характеристик путем обработки реализаций поступающего процесса с последующей их аппроксимацией аналитическими функциями. По полученным аппроксимациям обобщенных статистических характеристик процессов вычисляются координаты обобщенной весовой функции, которые используются в дальнейшем при определении коэффициентов нерекурсивных цифровых фильтров. Составление спецификаций вышеуказанных параметров для синтезируемого фильтра. При этом одна часть параметров вводится в виде исходных данных, а другая может быть вычислена с использованием соответствующих подпрограмм. Например, показатель задержки в полосе пропускания фильтра не включается в номенклатуру исходных данных для синтеза, а вычисляется в процессе машинного синтеза.
Просмотров: 369 | Добавил: admin | Дата: 02.06.2016 | Комментарии (0)

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

Некоторые ошибки легко устраняются. Например, если вызов readO прерываетсясигналом до того, как он успевает считать байты, то возвращается значение-1 (значение 0 можно перепутать с ситуацией EOF) и переменной errnoприсваивается значение EINTR. В таком случае можно просто повторить считывание.Действительно, существует много возможных завершений вызова readO:О вызов возвращает значение, равное len. Все len считанных байтов записаныв буфер buf. Результат допустим и ожидаем;О вызов возвращает значение, меньшее 1 еп, но большее нуля. Считанные байтызаписаны в buf. Это может происходить, когда сигнал прерывает незавершеннуюоперацию считывания, когда в середине считывания происходитошибка, когда доступно больше нуля, но меньше len байтов, когда конецфайла достигается раньше, чем удается считать 1 еп байтов. Повторение вызова(с соответствующим образом обновленными значениями buf и len) по-зволиг считать оставшиеся байты в оставшееся свободное пространство буфераили узнать нричину ошибки;О вызо ... Читать дальше »
Просмотров: 642 | Добавил: admin | Дата: 28.03.2016 | Комментарии (0)

Перечисленные возможные ситуации демонстрируют, что предыдущее тривиальноеи упрощенное использование системного вызова readO не подходит,если вы хотите обрабатывать все ошибки и действительно считывать все len необходимыхбайтов (по крайней мере, до достижения EOF). Для реализацииправильного вызова вам необходим цикл и несколько условных операторов:ssize_t ret.while (len 0 && (ret = read (fd. buf len)) 0) {if (rot — 1) {if (errno
Просмотров: 630 | Добавил: admin | Дата: 28.03.2016 | Комментарии (0)

Иногда программистам нужно, чтобы вызов readO в случае, когда данныенедоступны, не блокировался. Они предпочитают, чтобы вызов сразу же возвращалкакое-то значение, указывая, что данных для считывания нет. Это называетсявводом-выводом без блокировки (nonblocking I/O ) и позволяет приложениямвыполнять ввод-вывод, возможно, даже на нескольких файлах, вообщене блокируясь и, следовательно, не упуская доступные данные в другихфайлах.Следовательно, стоит проверять еще одно значение переменной error: EAGAIN.Как говорилось ранее, если определенный дескриптор файла открывается в режимебез блокирования (вызову openО передан флаг 0_N0NBL0CK; см. раздел«Флаги для системного вызова ореп()»), но данных для считывания нет, то вызовread() возвращает значение -1 и устанавливает для переменной error значениеEAGAIN, а не блокируется. При выполнении считывания без блокировки необходимовсегда проверять error на значение EAGAIN, чтобы не спутатьсерьезную ошибку с простым отсутствием данных. Напри ... Читать дальше »
Просмотров: 587 | Добавил: admin | Дата: 28.03.2016 | Комментарии (0)

Прочие коды ошибки относятся к программным ошибкам или (как ЕЮ) к проблемамна низком уровне. Возможные значения еггпо после сбоя вызова readOвключают в себя:EBADFДанный файловый дескриптор недопустим или не открыт для чтения.EFAULTУказатель, предоставленный вызову при помощи buf, находится за пределамиадресного пространства вызывающего процесса.EINVALФайловый дескриптор соответствует объекту, пс допускающему чтение.ЕЮПроизошла низкоуровневая ошибка ввода-вывода.Лимиты размера для вызова read()Типы size_t и ss ize t определены в POSIX. Тип s ize t используется для хранениязначений, обозначающих размеры, в байтах. Тип ss ize t — это версияsize t со знаком (отрицательные значения обозначают ошибки). В 32-разряд-ных системах дополнительные типы С — это обычно unsigned in t и in t соответственно.Так как эти два типа часто используются вместе, потенциально меньшийдиапазон s s ize t ограничивает диапазон s ize t.Максимальное значение типа s ize t — это SIZE MAX; максимальное ... Читать дальше »
Просмотров: 596 | Добавил: admin | Дата: 28.03.2016 | Комментарии (0)

Самый простой и распространенный системный вызов, используемый для записи,— это w riteO . Вызов w r iteO представляет собой эквивалент readO и такжеопределен в POSIX.1:finclude <unistd.h>ssize t write (int fd, const void *buf, size t count);Когда вы делаете вызов w n te ( ), начиная с текущей позиции в файле, указанномпри помощи файлового дескриптора fd, в него записывается до count байтовиз буфера buf. Файлы, представляющие объекты, которые не поддерживаютпоиск (например, устройства посимвольного ввода-вывода), всегда записываютсяначиная с «головы».В случае успеха возвращается количество записанных байтов, а позицияв файле соответствующим образом обновляется. В случае ошибки возвращаетсязначение -1 и соответствующим образом устанавливается переменная еггпо.Вызов w r iteO может вернуть значение 0, но оно всего лишь указывает, чтобыло записано ноль байт.Как и для вызова readO, самый простой вариант использования write О выглядиттак:const char *buf = "My ship ... Читать дальше »
Просмотров: 562 | Добавил: admin | Дата: 28.03.2016 | Комментарии (0)

« 1 2 ... 4 5 6 7 8 ... 17 18 »