Мир, 1980. – 552 с.
Трахтман А.М., Трахтман В.А. Основы теории дискретных сигналов на конечных интервалах. – М.: Сов. радио, 1975. – 208 с.
Сергиенко А.Б. Цифровая обработка сигналов. – СПб.: Питер, 2003. – 604 с.
Ирберла К. Факторный анализ / Пер. с нем. – М.: Статистика, 1980. – 398 с.
Мельничук С.І., Пашкевич О.П. Перспективи реалізації методу вимірювання витрати та кількості на основі зміни спектральних характеристик шумів контрольованого середовища // Праці ІІІ науково-технічної конференції „Приладобудування: стан і перспективи”. – К.: НУТУ „КПІ”. – 2004. – С. 241.
Хинце И. Турбулентность. Пер. с англ. М.: Физматгиз, 1963. – 314 с.
Дьяконов В.П. Справочник по алгоритмам на языке бейсик для персональных ЭВМ: Справочник. – М.: Наука. Главная редакция физико-математической литературы, 1987. – 240 с.
Маркин Н.С. Основы теории обработки результатов измерений: Учебное пособие. – М.: Издательство стандартов, 1991. – 176 с.
Оптимизация систем цифровой передачи измерительных сигналов: Учебное пособие / Терентьев С.Н., Глухов А.Б., Константинова Л.В. – Харьков: НТУ “ХПИ”, 2002. – 268 с.
Степанов А.В., Матвеев С.А. Методы компьютерной обработки сигналов систем радиосвязи. – М.: Салон-Пресс, 2001. – 208 с.
Шрюфер Э. Обработка сигналов: цифровая обработка дискретизированных сигналов: Учебник / Под. Ред. В.П. Бабака – К.: Либідь, 1995. – 320 с.
Архангельский А.Я. Программирование в С++ Builder 5. – М.: ЗАО «Издательство БИНОМ», 2000. – 1152 с.
Архангельский А.Я. Библиотека С++ Builder 5: 70 компонентов ввода/ вывода информации. – М.: ЗАО «Издательство БИНОМ», 2000. – 288 с.
Страуструп Б. Язык программирования С++. Пер. с англ. – Киев: «ДиаСофт», 1993. – 560 с.
Вайнер Р., Пинсон Л. С++ изнутри. Пер. с англ. – Киев: «ДиаСофт», 1993. – 304 с.
Бочков С.О., Субботин Д.М. Язык программирования Си для персонального компьютера. – М.: Радио и связь, 1990. – 384 с.
Горнштейн М.Ю., Лытня Т.Ф. Экономическая оценка АСУ. – М.: Машиностроение, 1974. – 88 с.
Конюховский П.В., Колесова Д.Н. Экономическая информатика. – СПб.: Питер, 2000.
Цигилик І. І., Кірдякіна Н.В. Економічний аналіз господарськоїї діяльності підприємства. – Івано-Франківськ: ІМЕ, 2006.
Мочерний С.В. Методологія економічного дослідження. – Львів: Світ, 2001.
Тарасенко Н.В. Економічний аналіз діяльності промислового підприємства. К.: Алерта, 2003.
Ситник В.Ф., Країва О.С. Технологія автоматизованої обробки економічної інформації. – К.: КНЕУ, 1999.
Белов С.В. Безопасность производственных процессов. Справочник. – М.: Машиностроение, 1985.
Лапін В.М. Безпека життєдіяльності людини. – К.: Знання, 2001.
Желібо Є.П., Заверуха Н.М., Зацарний В.В. Безпека життєдіяльності. – К.: Каравелла,2001.
Чирва Ю.О., Баб’ян О.С. Безпека життєдіяльності. – К.: Атіка, 2001.
Назарук М. Безпека життєдіяльності. Навчальний посібник. – Львів: За вільну Україну, 1997.
ДОДАТОК А
Текст програми metro11_v1 для дослідження вихідного
шумового інформаційного сигналу
//--------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma hdrstop
#include "metrolog.h"
#include "fourier.h"
#include "consumption.h"
#include "consumption.cpp"
#include "FFTMISC.C"
#include "FOURIERD.C"
//--------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
short int *in_r=NULL; // указатель на исходный массив
double *covar=NULL,
*out_rel=NULL,
*out_im=NULL,
*out_mod=NULL; // вказівник на масив гармонік
unsigned long int SamplRate; // SamplingRate = сэмплов / сек
unsigned int
NSAMPLES, // довжина виборки
LSAMPLES, // кільк_сть точок для ДПФ
MSAMPLES, // довжина кореляції
HARMONI, // кількість додатніх гарм. LSAMPLES/2
f1,f2; // смуга частот для анал_зу
FILE *wavfile;
RIFFHead rh;
PCMWAVEFORMAT FMTChunk;
DATAHead dh;
unsigned long int dataskip, i, j, NRead;
double sred=0, betta;
if (OpenDialog1->Execute())
{
Label5->Caption = StrRScan(OpenDialog1->FileName.c_str(),'\\');
LSAMPLES = StrToInt(ComboBox1->Text);
HARMONI = LSAMPLES>>1;
NSAMPLES = 3*(LSAMPLES>>2);
MSAMPLES = LSAMPLES>>2;
betta = StrToFloat(Edit4->Text); // коеф_ц_єнт для ф_льтра
// выделяем память под массивы
in_r = new short int[NSAMPLES];
covar = new double[LSAMPLES];
out_rel = new double[LSAMPLES];
out_im = new double[LSAMPLES];
out_mod = new double[LSAMPLES];
// проверяем наличие выделенной памяти
CHECKPOINTER(in_r);
CHECKPOINTER(covar);
CHECKPOINTER(out_rel);
CHECKPOINTER(out_im);
CHECKPOINTER(out_mod);
f1 = StrToInt(Edit2->Text);
f2 = StrToInt(Edit3->Text);
// чтение WAV-файла
if ((wavfile = fopen(OpenDialog1->FileName.c_str(),"rb")) != NULL)
{
fread(&rh,sizeof(rh),1,wavfile);
fread(&FMTChunk,sizeof(FMTChunk),1,wavfile);
fread(&dh,sizeof(dh),1,wavfile);
SamplRate = FMTChunk.wf.nSamplesPerSec;
//Label5->Caption = "SampleRate=" + IntToStr(SamplRate);
dataskip = floor(StrToFloat(Edit1->Text)*SamplRate)*2;
dataskip = (dataskip>=dh.ChunkSize) ? (dh.ChunkSize-NSAMPLES) : dataskip;
if (dataskip) fseek(wavfile,dataskip,SEEK_CUR); // пропустить сколько надо
NRead = fread(in_r,sizeof(unsigned short int),NSAMPLES,wavfile); // считать данные
if (NRead == NSAMPLES)
{
Series1->Clear();
switch (RadioGroup1->ItemIndex) {
case 0:
for(i=0;i<NSAMPLES;i++)
sred += covar[i] = in_r[i];
break;
case 1:
for(i=0;i<NSAMPLES-1;i++)
sred += covar[i] = in_r[i+1]-betta*in_r[i];
covar[i] = 0;
break;
case 2:
for(i=0;i<NSAMPLES-1;i++)
sred += covar[i] = in_r[i+1]+betta*in_r[i];
covar[i] = 0;
break;
case 3:
for(i=0;i<NSAMPLES;i++)
if (in_r[i]>0) covar[i] = 1;
else
if (in_r[i]<0) covar[i] = -1;
else covar[i] = 0;
break;
}
sred /=(float)NSAMPLES;
Label4->Caption = "Mx = " + FloatToStrF(sred,ffGeneral,7,12);
for(i=0;i<NSAMPLES;i++)
{
covar[i] = covar[i] - sred; // центруємо
Series1->AddXY((double)i/SamplRate*1000.,covar[i],"",clRed);
}
for(i=NSAMPLES;i<LSAMPLES;i++) covar[i] = 0; // решту обнуляємо
// ---------------- кореляц_я за допомогою FFT
fft_double(LSAMPLES,0,covar,NULL,out_rel,out_im);
for(i=0;i<LSAMPLES;i++)
out_mod[i] = out_rel[i]*out_rel[i]+out_im[i]*out_im[i];
fft_double(LSAMPLES,1,out_mod,NULL,out_rel,out_im);
if (CheckBox2->State) // нормування
{
for(i=1;i<MSAMPLES;i++)
out_rel[i] = out_rel[i]/out_rel[0];
out_rel[0] = 1;
}
else
for(i=0;i<MSAMPLES;i++)
out_rel[i]/=(double)(LSAMPLES);
// ----------------- згладжувальне в_кно Бартлетта
Series9->Clear();
for(i=0;i<MSAMPLES;i++)
{
if (CheckBox1->State) // згладжування даних
covar[i]=out_rel[i]*(1.-i/(double)(MSAMPLES));
else
covar[i]=out_rel[i];
Series9->AddXY((double)i/SamplRate*1000.,covar[i],"",clRed);
}
for(i=MSAMPLES;i<LSAMPLES;i++)
covar[i] = 0;
// ----------------- отримання згладженого спектру
fft_double(LSAMPLES,0,covar,NULL,out_rel,out_im);
Series17->Clear();
for(i=1;i<HARMONI;i++)
{
out_mod[i] = sqrt(out_rel[i]*out_rel[i]+out_im[i]*out_im[i]);
Series17->AddXY((double)SamplRate*i/LSAMPLES,out_mod[i],"",clRed);
}
Label13->Caption = FloatToStrF(Energy(SamplRate,HARMONI,f1,f2,out_mod)/1000000.,ffGeneral,7,12);
} // if NRead
fclose(wavfile); // закрыть файл
} // if open file
} // if opendialog
delete out_mod;
delete out_im;
delete out_rel;
delete covar;
delete in_r;
}
//--------------------------------------------------------------
void __fastcall TForm1::ButtonClear(TObject *Sender)
{
Series1->Clear(); Series9->Clear(); Series17->Clear();
Series2->Clear(); Series10->Clear(); Series18->Clear();
Series3->Clear(); Series11->Clear(); Series19->Clear();
Series4->Clear(); Series12->Clear(); Series20->Clear();
Series5->Clear(); Series13->Clear(); Series21->Clear();
Series6->Clear(); Series14->Clear(); Series22->Clear();
Series7->Clear(); Series15->Clear(); Series23->Clear();
Series8->Clear(); Series16->Clear(); Series24->Clear();
Label5->Caption = ""; Label13->Caption = "";
Label6->Caption = ""; Label14->Caption = "";
Label7->Caption = ""; Label15->Caption = "";
Label8->Caption = ""; Label16->Caption = "";
Label9->Caption = ""; Label17->Caption = "";
Label10->Caption = ""; Label18->Caption = "";
Label11->Caption = ""; Label19->Caption = "";
Label12->Caption = ""; Label20->Caption = "";
}
//--------------------------------------------------------------
ДОДАТОК Б
Текст програми Noise Flowmeter для проведення експериментальних досліджень властивостей та характеристик потоку
//--------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma hdrstop
#include "metrolog.h"
#include "fourier.h"
#include "consumption.h"
#include "consumption.cpp"
#include "FFTMISC.C"
#include "FOURIERD.C"
//--------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
short int *in_r=NULL; // вказівник на вихідний масив
double *covar=NULL,
*out_rel=NULL,
*out_im=NULL,
*out_mod=NULL; // вказівник на масив гармонік
unsigned long int SamplRate; // SamplingRate = семплів / сек
unsigned int
NSAMPLES, // довжина виборки
LSAMPLES, // кількість точок для ДПФ
MSAMPLES, // довжина кореляц_ї
HARMONI, // кол-во положительных гармоник LSAMPLES/2
f1,f2; // смуга частот