В седьмой главе был проведен выбор конструкции устройства. Приведено обоснование применения типовой конструкции с одной МПП установленных размеров, состоящей из четырех слоев. Описаны условия стойкости, прочности и устойчивости устройства к воздействию климатических и механических факторов.
В восьмой главе был произведен расчет затрат и составлена смета затрат на выполнение проекта. Разработан бизнес-план и составлен календарный график выполнения проекта. Приведено технико-экономическое обоснование целесообразности выполнения проекта.
В девятой главе были описаны требования, предъявляемые к микроклимату производственных помещений. Выполнен расчет общей и местной вентиляции, общего освещения в цеху монтажа радиоэлектронных элементов.
Приложение А
Программный код модели погрешности расчета коэффициента передачи
function shary_Errors;
close all
% noise.txt содержит дискретные отсчеты шума в виде таблицы,
% в которой первый столбец - номер отсчета, второй - значение %шума.
IN = load('noise.txt');
NOISE = IN(:,2);
NOISE = cat(1,NOISE,NOISE,NOISE,NOISE,NOISE);
NOISE = cat(1,NOISE,NOISE);
%параметры
K = 32;
M = 0.01;
razm = 16;
CKOt = 70;
% расчет коэффициентов передачи для всех алгоритмов
g = 0;
for G = cat(2, 0.3:0.1:1, 1.3, 1.5, 1.7, 2, 2.5, 3 )
g = g+1;
Gn(g) = G;
X = NOISE.*G;
%%%%%% ско теор
[H_OUT_E1,Wgg_E1,CKO_RAS_E1] = shary_teor_do_kv(X,CKOt,0,K,M);
%%%%%% ско кв теор
[H_OUT_E2,Wgg_E2,CKO_RAS_E2] = shary_teor_posle_kv
(X,CKOt,0,K,M);
%%%%%% дисп теор
[H_OUT_ED,Wgg_ED,CKO_RAS_ED] = shary_teor_disp_do_kv_E
(X,CKOt,0,K,M);
%%%%%% ско
[H_OUT_1,Wgg_1,CKO_RAS_1] = shary_do_kv(X,CKOt,razm,K,M);
% %%%%% кв ско
[H_OUT_2,Wgg_2,CKO_RAS_2] = shary_posle_kv(X,CKOt,razm,K,M);
%%%%%% дисп
[H_OUT_D1,Wgg_D1,CKO_RAS_D1] = shary_disp_do_kv
(X,CKOt,razm,K,M);
%%%%%% кв дисп
[H_OUT_D2,Wgg_D2,CKO_RAS_D2] = shary_disp_posle_kv
(X,CKOt,razm,K,M);
%%%%% УСТОЯВШИЙСЯ КОЭФФИЦИЕНТ
WE1 = Wgg_E1;
WE1_dB(g) = 20*log10(WE1);
WE2 = Wgg_E2;
WE2_dB(g) = 20*log10(WE2);
WED = Wgg_ED;
WED_dB(g) = 20*log10(WED);
WD1 = Wgg_D1;
WD1_dB(g) = 20*log10(WD1);
WD2 = Wgg_D2;
WD2_dB(g) = 20*log10(WD2);
W1 = Wgg_1;
W1_dB(g) = 20*log10(W1);
W2 = Wgg_2;
W2_dB(g) = 20*log10(W2);
End
%%%% Вид шума на входе
NOISE=NOISE(1:8000);
figure(1)
plot(NOISE)
grid on
figure(2)
stem(NOISE(1000:1100))
grid on
%%%% изменение коэффициента передачи
figure(3)
plot(Gn,WE1_dB,Gn, WE2_dB, Gn, WED_dB,Gn, WD1_dB,Gn, WD2_dB,Gn, W1_dB,Gn, W2_dB)
legend('W ско теор', 'W ско кв теор', 'W дисп теор','W дисп', 'W кв дисп', 'W ско', 'W кв ско')
grid on
%%%% отклонение от теоретического алгоритма
figure(4)
plot(Gn,WE1_dB-WE1_dB,Gn, WE2_dB-WE1_dB, Gn, WED_dB-WE1_dB,Gn, WD1_dB-WE1_dB,Gn, WD2_dB-WE1_dB,Gn, W1_dB-WE1_dB,Gn, W2_dB-WE1_dB)
legend('W ско теор', 'W ско кв теор', 'W дисп теор','W дисп', 'W кв дисп', 'W ско', 'W кв ско')
grid on
%%%%%% Вспомогательные функции
function Y = hilb_tran(X)
N = length(X);
if mod(N,2)==1 N=N-1; end
k = 1:2:N-1;
Y(:,1) = X(k);
N = 2:2:N;
Y(:,2) = X(n);
k = 1:2:N/2-1;
n = 2:2:N/2;
Y(n,1) = Y(n,1).*-1;
Y(k,2) = Y(k,2).*-1;
function [H_OUT,W_out,CKO_OUT] = shary_teor_do_kv
(X,CKOt,razr,K,M);
N = length(X);
N_ocenok = floor(N/K);
N_razr = 2^razr;
Wg = N_razr;
for k=1:N_ocenok
Z(((k-1)*K+1):((k-1)*K+K))=
floor(X( ((k-1)*K+1):((k-1)*K+K)).*Wg./N_razr);
Zn = Z(((k-1)*K+1):((k-1)*K+K));
Xn = X(((k-1)*K+1):((k-1)*K+K));
CKOz = sqrt(sum(Zn.^2)/K);
CKOx = sqrt(sum(Xn.^2)/K);
Qm = 2*M*N_razr*(CKOt-CKOz);
Qd = Qm / CKOx;
Wg = Wg + Qd;
CKO_OUT(k) = CKOz;
end
H_OUT = hilb_tran(Z);
W_out = Wg/N_razr;
function [H_OUT,W_out, CKO_OUT] = shary_teor_posle_kv
(IN,CKOt,razr,K,M);
N = length(IN);
Kh = K*2;
Nh_ocenok =floor(N/Kh);
N_razr = 2^razr;
Wg = N_razr;
for k=1:1:Nh_ocenok
H_OUT(((k-1)*K+1):((k-1)*K+K),:) = hilb_tran
(floor(IN(((k-1)*Kh+1):(k-1)*Kh+Kh).*Wg./N_razr));
X = H_OUT(((k-1)*K+1):((k-1)*K+K),1);
Y = H_OUT(((k-1)*K+1):((k-1)*K+K),2);
CKO_out = sqrt(sum(X.^2+Y.^2)./Kh);
Xin = IN(((k-1)*Kh+1):((k-1)*Kh+Kh));
CKO_in = sqrt(sum( Xin.^2)/Kh);
Qm = 2*M*N_razr*(CKOt-CKO_out);
Qd = Qm / CKO_in;
Wg = Wg + Qd;
CKO_OUT(k) = CKO_out;
end
W_out = Wg / N_razr;
function [H_OUT,W_out,CKO_OUT] = shary_teor_disp_do_kv_E
(X,CKOt,razr,K,M);
N = length(X);
N_ocenok = floor(N/K);
N_razr = 2^razr;
Wg = N_razr;
for k=1:N_ocenok
Z(((k-1)*K+1):((k-1)*K+K)) =
floor(X( ((k-1)*K+1):((k-1)*K+K)).*Wg./N_razr);
Zn = Z(((k-1)*K+1):((k-1)*K+K));
Xn = X(((k-1)*K+1):((k-1)*K+K));
CKOz = sum(Zn.^2) / K;
CKOx = sum(Xn.^2) / K;
Qm = 2*M*N_razr*(CKOt.^2-CKOz);
Qd =Qm / CKOx;
Wg = Wg + Qd;
CKO_OUT(k) = floor(sqrt(floor(sum(Zn.^2)/K)));
end
H_OUT = hilb_tran(Z);
W_out = Wg / N_razr;
function [H_OUT,W_out,CKO_OUT]=shary_do_kv(X,CKOt,razr,K,M);
N = length(X);
N_ocenok = floor(N/K);
N_razr = 2^razr;
Wg = N_razr;
for k=1:N_ocenok
Z(((k-1)*K+1):((k-1)*K+K)) =
floor(X( ((k-1)*K+1):((k-1)*K+K)).*Wg./N_razr);
Zn = Z(((k-1)*K+1):((k-1)*K+K));
Xn = X(((k-1)*K+1):((k-1)*K+K));
CKOz = floor(sum(abs(Zn))/K);
CKOx = floor(sum(abs(Xn))/K);
Qm = floor(2*M*N_razr)*(CKOt-CKOz);
Qd = floor(Qm/CKOx);
Wg = Wg + Qd;
CKO_OUT(k) = CKOz;
end
H_OUT = hilb_tran(Z);
W_out = Wg / N_razr;
function[H_OUT,W_out,CKO_OUT]=shary_posle_kv(IN,CKOt,razr,Kh,M);
N = length(IN);
K = Kh / 2;
Nh_ocenok = floor(N/Kh);
N_razr = 2^razr;
Wg = N_razr;
for k=1:Nh_ocenok
H_OUT(((k-1)*K+1):((k-1)*K+K),:)=hilb_tran
(floor(IN(((k-1)*Kh+1):(k-1)*Kh+Kh).*Wg./N_razr));
X = abs(H_OUT(((k-1)*K+1):((k-1)*K+K),1));
Y = abs(H_OUT(((k-1)*K+1):((k-1)*K+K),2));
CKO_out=floor(sum(7/8*max(X,Y)+9/16*min(X,Y))./(K*sqrt(2)));
Xn = IN(((k-1)*Kh+1):((k-1)*Kh+Kh));
CKO_in = floor(sum( abs(Xn))./Kh) ;
Qm = floor(2*M*N_razr)*(CKOt-CKO_out);
Qd = floor(Qm/CKO_in);
Wg = Wg + Qd;
CKO_OUT(k) = CKO_out;
end
W_out=Wg / N_razr;
function[H_OUT,W_out,CKO_OUT]=shary_disp_do_kv(X,CKOt,razr,K,M);
N = length(X);
N_ocenok = floor(N/K);
N_razr = 2^razr;
Wg = N_razr;
for k=1:N_ocenok
Z(((k-1)*K+1):((k-1)*K+K)) =
floor(X( ((k-1)*K+1):((k-1)*K+K)).*Wg./N_razr);
Zn = Z(((k-1)*K+1):((k-1)*K+K));
Xn = X(((k-1)*K+1):((k-1)*K+K));
CKOz = floor(sum(Zn.^2)/K);
CKOx = floor(sum(Xn.^2)/K);
Qm = floor(2*M*N_razr)*(CKOt.^2-CKOz);
Qd = floor(Qm/CKOx);
Wg = Wg + Qd;
CKO_OUT(k) = floor(sqrt(floor(sum(Zn.^2)/K)));
end
H_OUT = hilb_tran(Z);
W_out = Wg / N_razr;