Автор работы: Пользователь скрыл имя, 28 Мая 2013 в 17:32, курсовая работа
В данном курсовом проекте была разработана программа, которая предназначена для фильтрации входного сигнала.
Был разработан интуитивно понятный и простой пользовательский интерфейс, составлен алгоритм основной функции, который был реализован на языке программирования Delphi.
Разработанная программа актуальна, т.к. при передаче сигнала могут появляться искажения в передаваемом сигнале по разным причинам, и поскольку удалять шумы практически невозможно, то данный программный продукт позволяет легко отфильтровывать шумы и выводить сигнал чище.
Введение
В данном курсовом
проекте была разработана программа,
которая предназначена для
Был разработан интуитивно понятный и простой пользовательский интерфейс, составлен алгоритм основной функции, который был реализован на языке программирования Delphi.
Разработанная программа актуальна, т.к. при передаче сигнала могут появляться искажения в передаваемом сигнале по разным причинам, и поскольку удалять шумы практически невозможно, то данный программный продукт позволяет легко отфильтровывать шумы и выводить сигнал чище.
1. Общее описание реально существующих систем
В наши дни представлено
множество программных
Одной из них является программа «Фильтрация сигналов», которая используется для фильтрации сигналов, поступающих на входные каналы анализаторов спектра, тензометрических станций, сейсмостанций для последующей обработки программами ZETLab. Программа «Фильтрация сигналов» также может применяться для обработки виртуальных каналов, созданных такими программами, как Виброметр, Тензодатчик и др. Программа «Фильтрация сигналов» работает с сигналами как в режиме реального времени, так и при воспроизведении записанных сигналов.
При проведении различных видов испытаний, измерений, диагностики и распознавания речи в сложных условиях окружающих помех, появляется проблема достоверного оценивания какого-либо параметра сигнала, например, уровня, частоты, коэффициента корреляции с другим сигналом. Если полезный сигнал и помеха разделяются в частотной области, то самым распространенным методом является метод фильтрации сигналов.
На рисунке 1 представлено окно программы Многоканальный осциллограф, на верхней осциллограмме представлена временная реализация исходного сигнала, на нижней – результат работы функций двойного интегрирования и ФВЧ программы «Фильтрация сигналов». В рассмотренном примере обрабатывался сигнал с акселерометра, установленного на неподвижном корпусе балансируемого изделия. Двойное интегрирование применено для получения сигнала перемещения из сигнала ускорения, ФВЧ - для компенсации смещения постоянной составляющей полученного сигнала.
Рисунок 1 окно программы Многоканальный осциллограф
Еще один пример аналогичного продукта – НейроНавигатор (рисунок 2). Фильтрация сигнала традиционно используется в Электромиографических системах и является мощным средством для борьбы с шумами, наводками, артефактами. Обычно фильтрацию используют на этапе регистрации сигнала, что исключает изменение параметров фильтров на этапе анализа. Встроенная цифровая фильтрация позволяет изменять параметры фильтров на любом этапе исследования и дает возможность пользователю в случае необходимости вернуться к исходному сигналу.
Фильтрация сигнала всегда связана с поиском компромисса между степенью избирательности фильтра и минимизацией искажений в сигнале. Компромисс зависит от спектра сигнала и, следовательно, будет отличаться для разных сигналов. Благодаря широким возможностям ВЦФ и интерактивности при изменении параметров фильтров, пользователь может легко найти оптимальные параметры фильтра.
Неожиданное применение ВЦФ нашли наши медицинские консультанты. Параметры фильтрации, используемые в разных ведущих лабораториях по всему миру, слегка отличаются. Это приводит к тому, что слегка отличаются и нормальные значения анализируемых параметров. Корректное сравнение результатов анализа с нормальными значениями возможно, только в случае использования одинаковых параметров фильтрации, что накладывает ограничения на использование нормальных значений, полученных в разных лабораториях. Встроенная цифровая фильтрация полностью устраняет это ограничение.
Рисунок 2 окно программы НейроНавигатор
2. Разработка пользовательского интерфейса
При разработке пользовательского интерфейса (рисунок 3) мы выбирали наиболее интуитивную и простую раскладку кнопок, окна построения сигнала и окна усредненного сигнала.
Окна графиков расположены горизонтально друг под другом, тем самым занимая 80% площади программы, что позволяет наиболее детально сопоставить отфильтрованный сигнал исходящему.
Кнопки расположены
Рисунок 3. Окно программы
1 – кнопка «открыть файл»
2 – окно «диапазон усреднения
3 – кнопка «построить график»
4 – кнопка «фильтрация»
5 – окно построенного неотфильтрованного графика
6 – окно отфильтрованного графика
3. Алгоритм основной функции
Алгоритм основной функции представлен на рисунке 4.
Рисунок 4. Алгоритм основной функции
4. Листинг программы
procedure TForm1.BitBtn1Click(Sender: TObject);
var n,m,l,g,q,p,o,h,j:integer;
begin
Series2.Clear;
j:=0;
h:=0;
g:=4;
if k mod g =0 then
k:=k-1
else
k:=k;
n:=(k div g)+1;
SetLength(y,n);
while k-j>g do
begin
p:=0;
for o:=0 to g-1 do
begin
p:=p+x[j+o];
end;
p:=p div g;
y[h]:=p;
h:=h+1;
j:=j+g;
end; //while k-j>g do
g:=k-j;
p:=0;
if k-j=1 then
begin
y[h]:=x[j];
for m:=0 to n-1 do
begin
Series2.Add (y[m],'', clGreen);
end;
end
else //if k-j=1 then
begin
g:=k-j;
p:=0;
for l:=1 to g do
begin
p:=p+x[j+l-1];
end;
p:=p div g;
y[h]:=p;
for m:=0 to n-1 do
begin
Series2.Add (y[m],'', clGreen);
end;
end;
end.
5. Краткое руководство пользователя
- запустите программу tii.exe
- нажмите кнопку «открыть файл»
- в появившемся
окне откройте текстовый файл
со значениями, которые требуется
отфильтровать *файл должен
- введите в
поле «диапазон усреднения»
- нажмите кнопку «построить график». В верхнем поле появится построенный график.
- нажмите кнопку «фильтрация». В нижнем поле появится отфильтрованый график.
- закройте программу.
Заключение
Была разработана программа, предназначенная для фильтрации входного сигнала.
Сведены к минимуму программные сбои и ошибки.
Тем не менее, программа требует ряд доработок. Одна из которых – сохранение отфильтрованного сигнала в отдельный файл, а также – добавление функции усреднения отрицательных чисел.