Фильтр скользящего среднего

Работа № 6
Фильтр скользящего среднего.
Фильтры действующего и средневыпрямленного значений

Цель работы

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

Программа работы в лаборатории

  1. Решить задачи, способствующие достижению целей лабораторной работы.
  2. Написать выводы по решённым задачам.
  3. Подготовить вопросы преподавателю в контексте изучаемого материала.

Методические указания

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

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

Технологии

Окном фильтра называется время заполнения буфера. Оно соответствует времени нахождения какой-либо выборки сигнала в буфере. На рисунке 1, в абстрактном графическом представлении, показано скольжение временного окна фильтра по входному сигналу. Можно видеть, что буфер фильтра построен на восьми регистрах задержки. Для демонстрируемого случая период колебаний помехи на фоне постоянной составляющей совпадает с длиной окна фильтра. В результате, можно догадаться, что при скольжении окна среднее значение выборок в буфере фильтра меняться не будет. Т.е. влияние помехи на результат измерения постоянной составляющей будет сведено к нулю.


Рис. 1. Динамика содержимого регистров
фильтра скользящего среднего

Задача 1

Чертеж 1 представляет собой заготовку блок-схемы фильтра скользящего среднего и генератора постоянного сигнала, на который воздействуют две помехи синусоидальной формы. Соберите блок-схему. Установите для одного синусоидального генератора частоту равную №×1000 Гц. Для другого – в два раза больше (в первых экспериментах не подключайте этот генератор). Поскольку фильтр имеет 8 регистров задержки, выберите шаг симуляции так, чтобы на период помехи приходилось восемь шагов симуляции. Время симуляции нужно выбрать таким, чтобы было видно четыре периода помехи. Убедитесь, что фильтр скользящего среднего правильно выделяет постоянную составляющую и подавляет любые помехи, чей период меньше окна фильтра в целое число раз. Задумайтесь над тем, какой должна быть АЧХ фильтра скользящего среднего и как её вид связан с длинной окна фильтра. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 1

Задача 2

Действующее значение физической величины определяется в соответствии с формулой:

(1)

Чертеж 2 представляет собой заготовку блок-схемы фильтра-вычислителя действующего значения. Соберите блок-схему, руководствуясь формулой 2. Убедитесь, что выходное значение фильтра для входного сигнала синусоидальной формы равно 0.707 Im. Продемонстрируйте результат решения задачи преподавателю.

(2)

Чертёж 2

Данный вычислитель действующего значения достаточно часто используется пользователями динамических решателей (программ, подобных VisSim’у или Jigrein’у). К сожалению он обладает существенными недостатками. Во-первых, точно идентифицировать действующее значение сигнала можно лишь в моменты времени кратные его периоду. Во-вторых, в случае если идентифицируемый сигнал меняет свою амплитуду, то в вычислителе возникает длительный переходный процесс асимптотического характера. Во многих случаях обозначенные ограничения функциональности неприемлемы.

Отмеченные недостатки преодолеваются фильтром построенным в соответствии с формулой 3. Здесь вместо одного интеграла квадрата входного сигнала вычисляются два. Один из вычислителей обрабатывает сигнал задержанный на период. И в этом суть. Уточним. Разница интегральных значений равна интегралу квадрата входного сигнала за период для любого момента времени, а не только в моменты кратные периоду. Кроме того, вычитание истории из результата обработки входного сигнала лишает фильтр эффекта памяти на промежутке времени большем периода (большем окна фильтра). В результате любые переходные процессы в фильтре будут конечными, а не асимптотическими.

(3)

На чертеже 3 представлена улучшенная модель фильтра действующего значения построенная в соответствии с формулой 3. Она не оптимальна по количеству используемых блоков. Ей так же присущь ещё один наследуемый недостаток. Если фильтр будет использоваться продолжительно (например, в режиме непрерывного авторестарта математического ядра с сохранением начальных условий), то возможна перегрузка АЛУ процессора, по той причине, что выходные координаты интеграторов только увеличиваются. И этот процесс бесконечный. Он так же может стать причиной увеличения погрешности модели, так как разница двух очень больших чисел может стать сравнимой с весом дискреты мантиссы этих чисел.

Задача 3

Оптимизируйте блок-схему фильтра действующего значения представленную на чертеже 3 (примечание: возможно сократить два блока). Проконтролируйте, совпадение осциллограмм, характеризующих работу фильтра, до и после модификации. Удостоверьтесь в том, что выходная координата интегратора теперь не нарастает. Заместите оставшийся интегратор его дискретным квазианалогом построенным на: сумматоре, регистре задержки, перемножителе и порте считывания переменной timeStep, – инкапсулированными внутри составного блока Compound. Проконтролируйте работоспособность фильтра. Вновь перестройте блок-схему с целью сокращения одного из сумматоров (примечание: квазианалог интегратора придется деинкапсулировать). Если все сделано правильно вы построили лучшую модель вычислителя действующего значения. Перечертите блок-схему на бумагу. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 3

Примечание 1. Исполняемый код интеграторов в 20..30 раз превосходит исполняемый код любого другого математического блока внутри математических ядер.

Примечание 2. Математические программы имеют особый режим симуляции, который предполагает замену каждого интегратора датчиками итерационного решателя (блоками constraint и unknown) на первом шаге. В результате процесс симуляции под воздействием вынуждающих сил начинается не от нулевых начальных условий, а от установившихся значений. Этот режим накладывает ограничение на построение моделей. Недопустимо использовать неохваченные ООС интеграторы, т.к. при невозможности свести собственный входной сигнал к нулю, через прямую или косвенную зависимость, интегратор может стать причиной перегрузки АЛУ процессора.

Задача 4

Посмотрите на чертёж модели, выполненный вами на бумаге в ходе выполнения задачи 3. За исключением блоков pow и sqrt, перед вами альтернативная модель фильтра скользящего среднего. Проверьте этот факт. Вернитесь к чертежу 1. Удалите пять из восьми входов сумматора. Добавьте еще один регистр задержки для построения дискретного квазианалога интегратора и составьте модель эквивалентную вашему чертежу за исключением того, что блок чистого запаздывания 1/e будет представлен цепочкой регистров задержки 1/z. Проконтролируйте осциллограммы. Продемонстрируйте результат решения задачи преподавателю.

Задача 5

Воспользуйтесь чертежом 3 как заготовкой. Удалите лишние блоки, так чтоб остался фильтр скользящего среднего. Постройте на его основе фильтр средневыпрямленного значения (вам потребуется блок вычисления абсолютного значения). Убедитесь, что выходное значение фильтра для входного сигнала синусоидальной формы равно 0.637 Im.

Продемонстрируйте результат решения задачи преподавателю.

Задача 6

На чертеже 4 представлены две библиотечные модели фильтра скользящего среднего. Ознакомьтесь с ними. Сравните их частотные характеристики. Выявите взаимосвязь между длиной окна фильтра и первой частотой подавления в спектре. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 4

Задача 7

Частота тока промышленной сети электроснабжения в России 50 Гц. В США – 60 Гц. Хороший мультиметр, измеряющий постоянное напряжение должен подавлять помехи от любой из названных систем электроснабжения. Настройте фильтры скользящего среднего, представленные на чертеже 4, для подавления помех частотой 50 и 60 Гц. Для контроля подключите второй синусоидальный генератор к сумматору. Продемонстрируйте результат решения задачи преподавателю.

18.09.2007

ИСПОЛЬЗОВАНИЕ СКОЛЬЗЯЩЕГО ОКНА TCP

TCP использует технологию скользящего окна для указания числа сегментов, которое может принять приёмник, передающихся с номера подтверждения. В этом разделе рассматривается скользящее окно TCP.

При использовании окна фиксированного размера, величина окна определяется один раз и не меняется в дальнейшем. При использовании скользящего окна, величина окна оговаривается в начале передачи и может динамически меняться в течение всего сеанса связи по протоколу TCP. Скользящее окно помогает более эффективно использовать пропускную способность, поскольку больший размер окна позволяет передать больше данных до получения подтверждения. Также если приёмник снижает размер окна до 0, то это действие эффективно останавливает дальнейшую передачу данных, пока не будет послано значение окна, превышающее 0.

На рисунке размер окна равен 3. Отправитель может передать три сегмента на приёмник.

Фильтр скользящего среднего

С этого момента отправитель ожидает подтверждение от приёмника. Как только приёмник подтверждает получение трёх сегментов данных, отправитель может передать три следующих сегмента. Однако, при уменьшении возможности приёма сегментов, приёмник уменьшит размер окна, так, что бы принимаемые данные не вызвали переполнение буфера и не произошло отбрасывание сегментов.

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

Протокол TCP поддерживает особый параметр — размер окна перегрузки (Congestion Window Size — CWS), который обычно имеет такой же размер, как размер окна приёмника, но CWS уменьшается в 2 раза, когда начинают теряться сегменты. Потеря сегментов воспринимается как перегрузка сети. Протокол TCP активизирует сложный механизм отката и перезапускает алгоритмы, что бы далее не способствовать сетевой перегрузке.

ПРОЦЕСС ПРИМЕНЕНИЯ СКОЛЬЗЯЩЕГО ОКНА.

Шаг

Действие

Комментарий

1

Отправитель и приемник обмениваются значениями первоначального окна: в этом примере размер окна составляет 3 сегмента до момента поулчения подтверждения.

Это происходит в течение процедуры установления соединения.

2

Отправитель высылает сегменты 1, 2 и 3 приемнику

После отправки сегмента 3, отправитель будет ожидать подтверждение от приёмника.

3

Приемник получает сегмент 1 и 2, но теперь он выставляет размер окна равный 2

АСК=3 WS=2

Приемник может проводить обработку медленно по многим причинам, такими как поиск процессором значений (central processing unit — CPU) в базе данных или закачка большого файла с графикой.

4

Отправитель передает сегменты 3 и 4.

После отправки двух сегментов, отправитель ожидает прибытия подтверждения от приёмника.

5

Приемник подтверждает приём сегмента 3 и 4, но продолжает поддерживать размер окна равный 2.

АСК=5 WS=2

Приёмник подтверждает успешный приём предыдущих сегментов 3 и 4, требуя передачу сегмента 5.

МАКСИМИЗАЦИЯ ПРОПУСКНОЙ СПОСОБНОСТИ.

Алгоритм обработки окном управляет скоростью передачи данных. Тем самым удается минимизировать отбрасывание данных, поскольку на передачу потерянных данных тратите» дополнительное время, и, следовательно, удаётся увеличить эффективность.

ГЛОБАЛЬНАЯ СИНХРОНИЗАЦИЯ.

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

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

Массив — упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя. Массивы различаются по числу размерностей или измерений: одномерные, двумерные, многомерные. Доступ к элементам осуществляется при помощи индекса. В MatLab нумерация элементов массивов начинается с единицы. Это значит, что индексы должны быть больше или равны единице.

Важно понять, что вектор, вектор-строка или матрица являются математическими объектами, а одномерные, двумерные или многомерные массивы — способы хранения этих объектов в компьютере. Всюду дальше будут использоваться слова вектор и матрица, если больший интерес представляет сам объект, чем способ его хранения. Вектор может быть записан в столбик (вектор-столбец) и в строку (вектор-строка). Вектор-столбцы и вектор-строки часто будут называться просто векторами, различие будет сделано в тех случаях, если важен способ хранения вектора в MatLab. Векторы и матрицы обозначаются курсивом, а соответствующие им массивы прямым моноширинным шрифтом, например: "вектор а содержится в массиве а", "запишите матрицу R в массив r".

Ввод сложение и вычитание векторов

Работу с массивами начнем с простого примера — вычисления суммы векторов:
.

Для хранения векторов используйте массивы а и b. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой:

» a = [1.3; 5.4; 6.9]
a =
1.3000
5.4000
6.9000

Так как введенное выражение не завершено точкой с запятой, то пакет MatLab автоматически вывел значение переменной а. Введите теперь второй вектор, подавив вывод на экран

» b = [7.1; 3.5; 8.2];

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

» с = а + b
с =    
8.4000
8.9000
15.1000

Узнайте размерность и размер массива а при помощи встроенных функций ndims и size:

» ndims(a)
ans =
2
» size(a)
ans =
3    1

Итак, вектор а хранится в двумерном массиве а размерностью три на один (вектор-столбец из трех строк и одного столбца).

Скользящая средняя (фильтр)

Аналогичные операции можно проделать и для массивов b и c. Поскольку числа в пакете MatLab представляются в виде двумерного массива один на один, то при сложении векторов используется тот же знак плюс, что и для сложения чисел.

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

» s1 = [3 4 9 2]
s1 =
3  4  9  2
» s2 = [5 3 3 2]
s1 =
5  3  3  2
» s3 = s1 + s2
s3 =
8  7  12  4

Замечание 1

Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.

Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее.
Введите две вектор-строки:

» v1 = [2 -3 4 1];
» v2 = [7 5 -6 9];

Операция .* (не вставляйте пробел между точкой и звездочкой!) приводит к поэлементному умножению векторов одинаковой длины. В результате получается вектор с элементами, равными произведению соответствующих элементов исходных векторов:

» u = v1.*v2
u =
14    -15    -24     9

При помощи .^ осуществляется поэлементное возведение в степень:

» р = v1.^2
p =
4   9   16   1

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

» p = vl.^v2
Р =
128.0000 -243.0000   0.0002   1.0000

Деление соответствующих элементов векторов одинаковой длины выполняется с использованием операции ./

» d = v1./v2
d =
0.2857  -0.6000  -0.6667   0.1111

Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи операции .\

» dinv = vl.\v2
dinv =
3.5000  -1.6667  -1.5000   9.0000

Итак, точка в MatLab используется не только для ввода десятичных дробей, но и для указания того, что деление или умножение массивов одинакового размера должно быть выполнено поэлементно.
К поэлементным относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MatLab прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:

» v = [4 6 8 10];
» s = v + 1.2
s =
5.2000  6.2000  9.2000  11.2000
» r = 1.2 — v
r =
-2.8000  -4.8000  -6.8000  -8.8000
» r1 = v — 1.2
r1 = 2.8000 4.8000  6.8000  8.8000

Умножать вектор на число можно как справа, так и слева:

» v = [4 6 8 10];
» p = v*2
р =.

8   12   16   20
» pi  = 2*v
pi =
8   12   16   20

Делить при помощи знака / можно вектор на число:

» р = v/2
p =
2   3   4   5

Попытка деления числа на вектор приводит к сообщению об ошибке:

» р = 2/v
??? Error using ==> /
Matrix dimensions must agree.

Если требуется разделить число на каждый элемент вектора и записать результат в новый вектор, то следует использовать операцию ./

» w = [4 2 6];
» d = 12./w
d =
3  6  2

Все вышеописанные операции применимы как к вектор-строкам, так и к вектор-столбцам.
Особенность MatLab представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d.

Для получения вектора d достаточно использовать один оператор присваивания:

» d = sin(с)
d =
0.8546
0.5010
0.5712

Итак, встроенные в MatLab элементарные функции приспосабливаются к виду аргументов; если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива. Убедитесь в этом еще на одном примере. Если необходимо найти квадратный корень из элементов вектора dсо знаком минус, то достаточно записать:

» sqrt(-d)
ans =
0 + 0.9244i
0 + 0.7078i
0 + 0.7558i

Оператор присваивания не использовался, поэтому пакет MatLab записал ответ в стандартную переменную ans.

Для определения длины вектор-столбцов или вектор-строк служит встроенная функция length:

» length(s1)
ans =
4

Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой:

» v1 = [1; 2];
» v2 = [3; 4; 5];
» v = [v1; v2]
v =
1
2
3
4
5

Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми:

» v1 = [1 2];
» v2 = [3 4 5];
» v = [v1 v2]
v =
1 2 3 4 5

Работа с элементами векторов

Доступ к элементам вектор-столбца или вектор-строки осуществляется при помощи индекса, заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если среди переменных рабочей среды есть массив v, определенный вектор-строкой

» v = [1.3 3.6 7.4  8.2 0.9];

то для вывода, например его четвертого элемента, используется индексация:

» v(4)
ans =
8.2000

Появление элемента массива в левой части оператора присваивания приводит к изменению в массиве

» v(2) = 555
v =
1.3000 555.0000 7.4000 8.2000 0.9000

Из элементов массива можно формировать новые массивы, например

» u = [v(3); v(2);  v(1)]
u =
7.4000
555.0000
1.3000

Для помещения определенных элементов вектора в другой вектор в заданном порядке служит индексация при помощи вектора. Запись в массив w четвертого, второго и пятого элементов v производится следующим образом:

» ind = [4 2 5];
» w = v(ind)
w =
8.2000  555.0000  0.9000

MatLab предоставляет удобный способ обращения к блокам последовательно расположенных элементов вектор-столбца или вектор-строки.

Для этого служит индексация при помощи знака двоеточия. Предположим, что в массиве w, соответствующем вектор-строке из семи элементов, требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу:

» w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» w(2:6) = 0;
» w
w =
0.1000  0  0  0  0  0  9.8000

Присваивание  w(2:6) = 0  эквивалентно последовательности команд
w(2) = 0; w(3)=0; w(4)=0; w(5)=0; w(6)=0.
Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив:

» w — [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» wl = w(3:5)
wl =
3.3000   5.1000   2.6000

Составьте массив w2, содержащий элементы w кроме четвертого. В этом случае удобно использовать  двоеточие и сцепление строк:

» w2 = [w(l:3)  w(5:7)]
w2 =
0.1000  2.9000  3.3000  2.6000  7.1000  9.8000

Элементы массива могут входить в выражения. Нахождение, например среднего геометрического из элементов массива u, можно выполнить следующим образом:

» gm = (u(l)*u(2)*u(3))^(l/3)
gm =
17.4779

Конечно, этот способ не очень удобен для длинных массивов. Для того чтобы найти среднее геометрическое, необходимо набрать в формуле все элементы массива. В MatLab существует достаточно много специальных функций, облегчающих подобные вычисления.

Применение функций обработки данных к векторам

Перемножение элементов вектора-столбца или вектора-строки осуществляется при помощи функции prod:

» z = [3; 2; 1; 4; 6; 5];
» р = prod(z)
p = 720

Функция sum предназначена для суммирования элементов вектора.

С ее помощью нетрудно вычислить среднее арифметическое элементов вектора z:

» sum(z)/length(z)
ans =
3.5000

В MatLab имеется и специальная функция mean для вычисления среднего арифметического:

» mean(z)
ans =
3.5000

Для определения минимального и максимального из элементов вектора служат встроенные функции min и max:

» m1 = max(z)
m1 =
6
» m2 = min(z)
m2 =
1

Часто необходимо знать не только значение минимального или максимального элемента в массиве, но и его индекс (порядковый номер). В этом случае встроенные функции min и max необходимо использовать с двумя выходными аргументами, например

» [m, k] = min(z)
m =
1
k =
3

В результате переменной m будет присвоено значение минимального элемента массива z, а номер минимального элемента занесен в переменную k.
Для получения информации о различных способах использования функций следует набрать в командной строке help и имя функции. MatLab выведет в командное окно всевозможные способы обращения к функции с дополнительными пояснениями.
В число основных функций для работы с векторами входит функция упорядочения вектора по возрастанию его элементов sort.

» r = [9.4 -2.3 -5.2 7.1 0.8 1.3];
» R = sort(r)
R = 
-5.2000  -2.3000  0.8000  1.3000  7.1000  9.4000

Можно упорядочить вектор по убыванию, используя эту же функцию sort:

» R1 = -sort(-r)
R1 =
9.4000  7.1000  1.3000  0.8000  -2.3000  -5.2000

Упорядочение элементов в порядке возрастания их модулей производится с привлечением функции abs:

» R2 = sort(abs(r))
R2 =
0.8000  1.3000  2.3000  5.2000  7.1000  9.4000

Вызов sort с двумя выходными аргументами приводит к образованию массива индексов соответствия элементов упорядоченного и исходного массивов:

» [rs, ind] = sort(r)
rs =  
-5.2000  -2.3000  0.8000  1.3000  7.1000  9.4000
ind =
3    2    5    6    4    1

Поиск Лекций


Метод скользящего среднего

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

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

Простое скользящее среднее,определяемое как среднее арифметическое значение вычисляется по следующей формуле, при условии что т — нечетное число:

где Yi— фактическое значение i-го уровня; т — число уровней, входящих в интервал сглаживания = 2р + 1); yt, — текущий уровень ряда динамики; i — порядковый номер уровня в интервале сглаживания; р — при нечетном т имеет значение р = (т — 1)/2

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

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

Практика показывает, что метод простого скользящего среднего позволяет выработать объективную стратегию и четко определенные правила, например, в сфере торговли. Именно поэтому данный метод положен в основу многих компьютерных систем торговых организаций. Как же можно использовать метод скользящего среднего? Наиболее распространенные способы применения скользящего среднего таковы.

1. Сопоставление значения текущей цены со скользящим средним, используемым в этом случае как индикатор тенденции. Так, если цены находятся выше 65-дневного скользящего среднего, то на рынке имеется промежуточная (краткосрочная) восходящая тенденция.

2. Использование скользящего среднего как уровня поддержки или сопротивления. Закрытие цен выше данного скользящего среднего служит "бычьим" сигналом, закрытие ниже его — "медвежьим".

3. Отслеживание полосы скользящего среднего (другое часто используемое название — конверт). Эта полоса ограничивается двумя параллельными линиями, которые располагаются на определенную процентную величину выше и ниже кривой скользящего среднего.

Цифровые нерекурсивные фильтры. Часть 1.

Эти границы могут служить индикаторами уров­ня поддержки или сопротивления соответственно.

4. Наблюдение за направлением наклона кривой скользящего среднего. Так, если после длительного подъема она выравнивается или поворачивает вниз, это может быть "медвежьим" сигналом.

5. Еще один простой метод наблюдения заключается в построении линий тренда по кривой скользящего среднего. Также иногда может быть целесообразно использование комбинации из двух скользящих средних.

Microsoft Excel располагает функцией Moving Average (Скользящее среднее), которая обычно используется для сглаживания уровней эмпирического временного ряда на ос­нове метода простого скользящего среднего. Для вызова этой функции необходимо вы­брать команду меню Tools (Сервис) Þ Data Analysis (Анализ данных). На экране раскроет­ся окно Data Analysis, в котором следует выбрать значение Moving Average (Скользящее среднее). В результате на экран будет выведено диалоговое окно Moving Average.

В диалоговом окне Moving Average задаются следующие параметры.

1. Input Range (Входные данные) — в это поле вводится диапазон ячеек, содержа­щих значения исследуемого параметра.

2. Labels in First Row (Метки в первой строке) — данный флажок опции устанавливается в том случае, если первая строка/столбец входного диапазона содержит заголовок. Если заголовок отсутствует, флажок следует сбросить. В этом случае для данных выходного диапазона будут автоматически созданы стан­дартные названия.

3. Interval (Интервал) — в это поле вводится число уровней т, входящих в интер­вал сглаживания. По умолчанию т = 3.

4. Output options (Параметры вывода) — в этой группе, помимо указания диапазо­на ячеек для выходных данных в поле Output Range (Выходной диапазон), мож­но также потребовать автоматически построить график, для чего нужно устано­вить флажок опции Chart Output (Вывод графика), и рассчитать стандартные погрешности, для чего необходимо установить флажок опции Standart Errors (Стандартные погрешности).

Задание 1. С помощью программы Microsoft Excel, используя скользящее среднее, выявить основную тенденцию изменения фактического объема выпуска продукции и характер сезонных колебаний этого показателя за период (1999-2002 гг.). т = 3. Данные для примера представлены на рис. 1.

Рис. 1. Динамика выпуска готовой продукции предприятия.

Год Квартал Фактический объем выпуска продукции, т.руб.

 

Подсказка. 1. Необходимо определить сглаженные уровни, стандартные погрешности (программа считает и выводит на экран самостоятельно) и отношение Yфакт/ Yсглаженные (необходимо в третьем дополнительном столбце найти это отношение самостоятельно, используя формулу). Полученные данные представить следующей таблицей:

 

Год Квартал Факт. объем выпуска продукции, т.руб. Сглаженные уровни Стандартные погрешности Yфакт/ Yсглаж
           

 

2. Необходимо представить полученные данные графически, т.е. необходимо в Microsoft Excel построить диаграмму с двумя кривыми, характеризующими объем фактических и прогнозных значений объема выпуска. Подсказка – программа делает это автоматически, если установить опцию «Вывод графика».

 

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

, где Yt – исходные уровни ряда, — сглаженные уровни ряда, u — число одноименных периодов.

Для получения средних индексов сезонности Is выполняется усреднение вычисленных значений Yфакт/ Yсглаженные по одноименным кварталам. Должны получить 4 индекса, характеризующих сезонность в 1, 2, 3 и 4 кварталах.

 

©2015-2018 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Нарушение авторских прав и Нарушение персональных данных

Усреднение — данные

Cтраница 3

Такие же результаты могли быть получены с применением одной термопары с усилением сигнала, однако при этом не было бы усреднения данных по температуре вдоль колонки.  [31]

Приведенные в табл. 102 значения теплоемкости Ср обычного бензола в пределах 0 3 % совпадают с результатами сделанного в [643] усреднения данных нескольких работ. Поэтому, а также потому, что чистота применявшегося в [600] дейтеробензола, как и содержание дейтерия в нем, не вызывает сомнений, данные указанной таблицы для CeD6 верны, вероятно, тоже с точностью до нескольких десятых долей процента.  [32]

Такие же результаты могли быть получены с применением одной термопары с усилением сигнала, однако при этом не было бы усреднения данных по температуре вдоль колонки.  [34]

Поскольку потоки в большинстве химических процессов непрерывно изменяются под влиянием возмущений в потоке питания или изменения условий окружающей среды, полный набор данных должен быть получен либо после работы производственной установки при тщательном наблюдении и контроле в течение времени, достаточного для достижения стационарного состояния, либо путем усреднения данных, полученных за определенный период времени при нормальной работе установки. Как подсказывает опыт авторов, первый путь предпочтительнее, поскольку в процессе нормальной работы обычно нельзя получить достаточное количество данных из-за нехватки рабочей силы. Во всех случаях данные должны быть приведены в соответствие с материальным и тепловым балансами.  [35]

Термин некогерентное усреднение несколько неудачен. Усреднение данных это не более, чем усреднение — мы складываем набор значений данных и делим сумму на количество отсчетов в наборе. Некогерентное усреднение следовало бы, вероятно, назвать усреднением данных, полученных некогерентно.  [36]

Интервалы усреднения данных: 300 с и 20 мин.  [37]

При отборе сведений об упругих свойствах различных элементов, авторы руководствовались принципом взаимного их соответствия, вытекающим из возможности расчета всех упругих постоянных поликристаллов, исходя из данных об упругих модулях или упругих податливостях монокристаллов согласно схеме Фойгта — Ройса — Хилла. Эта схема представляет собой усреднение данных, рассчитанных по методам Фойгта и Ройса. Указанные классические методы основаны на том, что при вычислении упругих постоянных поликристаллов по Фойгту предполагается однородность деформации, а по Ройсу — однородность напряжения по всей структуре.  [38]

Для определения чувствительности анализа подсчитывают среднее квадратичное отклонение интенсивности линии меди, полученной при многократной съемке спектра пустого электрода. Если методикой анализа предусмотрено усреднение данных нескольких параллельных определений, среднее квадратичное отклонение также подсчитывают для усредненных результатов. Затем в соответствии с правилом Кайзера определяют чувствительность анализа. По Кайзеру чувствительностью метода называется такая концентрация элемента в пробе, при которой интенсивность линии больше, чем трехкратное среднее квадратичное отклонение фона Оф на месте линии.  [39]

Значения теплоемкости тантала получены из комплексных измерений методом переменного индукционного нагрева. Опытные точки ( результаты усреднения данных для четырех частот модуляции) хорошо группируются вокруг прямой, найденной нами ранее [1 ] в качестве наиболее вероятной при обработке данных шести авторов. Исключение составляет точка при температуре — 2300 К, где, возможно, уже начал сказываться эффект образования вакансий.  [40]

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

Далее, при выборе времени усреднения данных результирующее размытие по окружности может быть примерно равным радиальному эффекту.  [41]

S и значительно превышала номинальную погрешность методики. Из-за большой случайной ошибки был использован метод усреднения данных по нескольким циклам на каждой частоте измерения.  [43]

Последние две строки табл. 9.1 относятся к некогерентному усреднению данных, полученных многоэлементной решеткой.

В 5 — й строке характеризуется метод, который состоит в первоначальном усреднении данных в пределах времени когерентности и последующем некогерентном усреднении перед применением процедуры обобщенного поиска лепестков. Величина относительного уровня обнаружения получается как произведение этих значений из 4 — й строки для многоэлементного обобщенного поиска лепестков и из строки 2 для некогерентного усреднения с одной базой. Метод, характеризуемый 6 — й строкой, заключается в некогерентном усреднении как по временным сегментам ( с интервалом времени равным времени когерентности), так и по базам. Относительная величина уровня обнаружения получается из значения, приведенного во 2 — й строке с увеличением числа точек данных от N ( число временных сегментов для одной базы) до величины N, умноженной на число баз.  [44]

Базисные для каждой фазы BaTi03 зависимости &. Си) и а5 ( со) были получены путем усреднения данных для всех шести отобранных образцов. Все результаты для других температур были получены из кривых б Т) и to О ( Т) снимаемых при тех же частотах, что и базисные кривые, причем информационные величины определялись относительно ранее снятых базисных зависимостей, а не относительно режима короткого замыкания линии.  [45]

Страницы:      1    2    3    4    5

Добавить комментарий

Закрыть меню