ПРИЛОЖЕНИЯ
Алгоритм анализа сигнала и квантования
clear
load ("real2.dat","s");s1=s;s=0;
load ("ideal2.dat","s");s2=s;s=0;
exec("fun_harakteristikki.sci",-1)
exec("fun_sortirovka.sci",-1)
exec("fun_acp.sci",-1)
Tmax=2.8//Длительность записи реального сигнал
iTmax=1.1//Длительность записи идеального сигнал
N=length(s1)//объем выборки
t=0:(Tmax/(N-1)):Tmax// Вектор времени
figure();plot(t,s1);set(gca(),"grid",[1 1]);xtitle('График реального сигнала','Длительность записи (с)','Сигнал (В)');
//2.___Построить функцию распределения. Привести гистограмму и график функции распределения.
[Sv,f]=fun_sortirovka(s1,N)
figure();plot(Sv,f);set(gca(),"grid",[1 1]);xtitle('График функции распределения', 'Вариационный ряд Sv', 'Функция распределения f')
figure(); histplot(11,s1); xtitle('Гистограмма', 'Вариационный ряд', 'Функция распределения')
//3.___Определить: минимум, максимум, среднее значение процесса и размах, медиану, верхнюю и нижнюю квантили, дисперсию и средне-квадратическое отклонение реального.
[fd,Razmax,dispers,Sstdev,Smean,Smax,Smin,Xvkv,Xmed,Xnkv,dT]=fun_harakteristikki(s1,Tmax,N,f,Sv)
//4.___Определить частоту дискретизации, длительность и объем выборки, требуемую разрядность АЦП. Оформить рассчитанные значения в виде таблицы.
[R,V0,skv]=fun_acp(s1)//R - разрядность ацп
//Для идеального сигнала
iN=length(s2)//объем выборки
iV0=9.580254
iVa=s2*iV0// Определим аналоговый эквивалент квантованного сигнала
it=0:(iTmax/(iN-1)):iTmax// Вектор времени
figure();plot(it,s2);set(gca(),"grid",[1 1]);xtitle('График идеального сигнала','Длительность записи (с)','Сигнал (В)');
figure();plot(it,iVa);set(gca(),"grid",[1 1]);xtitle('График аналогового эквивалента идеального сигнала','Длительность записи (с)','Сигнал (В)');
[Sv,f2]=fun_sortirovka(iVa,iN)
//вычисление характеристик идеального сигнала
[ifd,iRazmax,idispers,iSstdev,iSmean,iSmax,iSmin,iXverkv,iXmkv,iXnkv,idT]=fun_harakteristikki(iVa,iTmax,iN,f2,Sv)
//------вывод переменных
main=figure() //Создание графического объекта
set(main,'figure_name',' Вывод переменных')//Заголовок окна.
text1=uicontrol(main,'style','text','string','Реальный сигнал:','position',[15, 440, 150, 20]);
text01=uicontrol(main,'style','text','string','_','position',[15, 420, 150, 20]);
set(text01,'string', sprintf("Объем выборки\t = %1.0f",N));
text2=uicontrol(main,'style','text','string','_','position',[15, 400, 150, 20]);
set(text2,'string', sprintf("Минимум\t = %1.2f",Smin));
text3=uicontrol(main,'style','text','string','_','position',[15, 380, 150, 20]);
set(text3,'string', sprintf("Максимум\t = %1.2f",Smax));
text4=uicontrol(main,'style','text','string','_','position',[15, 360, 150, 20]);
set(text4,'string', sprintf("Среднее\t = %1.2f",Smean));
text5=uicontrol(main,'style','text','string','_','position',[15, 340, 150, 20]);
set(text5,'string', sprintf("Размах\t = %1.2f",Razmax));
text6=uicontrol(main,'style','text','string','_','position',[15, 340, 150, 20]);
set(text6,'string', sprintf("Медиана\t = %1.2f",Xmed));
text7=uicontrol(main,'style','text','string','_','position',[15, 320, 150, 20]);
set(text7,'string', sprintf("Нижняя квантиль\t = %1.2f",Xnkv));
text701=uicontrol(main,'style','text','string','_','position',[15, 300, 150, 20]);
set(text701,'string', sprintf("Верхняя квантиль\t = %1.2f",Xvkv));
text8=uicontrol(main,'style','text','string','_','position',[15, 280, 180, 20]);
set(text8,'string', sprintf("Частота дискретизации\t = %1.2f",fd));
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.