Добавил:
debilX2
t.me
Фулл всегда есть! А если нет, то Вы плохо его ищите! ИиКГ, СКДИКТ, ОКИТПЭС и тд https://t.me/whitedevil752rnТак же веду разработку КД (конструкторской документации) согласно ГОСТ. Имеется опыт работы при производстве на одном из ведущих в области радиэлектроники предприятии. Пишите)
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lr1 / lababoyko
.m close all
clear all
clc
variant = 6; % номер варианта
F_s = 8e3; % частота дискретизации
N = 1024; % количество отсчётов
T = 1/F_s;
t = 0:T:(N-1)*T;
pp1=[];
pp2=[];
pp3=[];
A2 = 0.23;
A3 = 0.17;
A1 = 1 - A2 - A3;
f1 = rem(variant,3)*27+F_s/107;%587
f2 = rem(variant,5)*57+F_s/43;
f3 = rem(variant,7)*4.3+50.3;
phi1 = (1-rem(variant,5)*0.4)*2*pi;
phi2 = (rem(variant,3)*0.2-1)*2*pi;
phi3 = (1-rem(variant,8)*0.25)*2*pi;
s1 = A1*sin(2*pi*f1*t+phi1);
s2 = A2*sin(2*pi*f2*t+phi2);
s3 = A3*sin(2*pi*f3*t+phi3);
sig(1,1:N/2) = exp(((N-1).*T-t(1,1:N/2).^2)./((N/80-1).*T)).*(s1(1,1:N/2)+s2(1,1:N/2)+s3(1,1:N/2));
sig(1,N/2+1:N) = exp(((N-1).*T+t(1,N/2+1:N).^2)./((N/72-1).*T)).*(s1(1,N/2+1:N)+s2(1,N/2+1:N)+s3(1,N/2+1:N));
sm = max(sig);
sig = sig/sm;
figure(1)
plot(t,sig)
title('Аналоговый сигнал')
xlabel('t')
ylabel('s(t)')
% Равномерное квантование
for i=2:10
m = i; % число бит квантования
d = 1/(2^(m-1));
partition = [-1:d:1-d];
codebook = [-1:d:1];
[~,q_sig,distortion] = quantiz(sig,partition,codebook);
figure(2)
plot([sig' q_sig']);
title('Равномерное квантование')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'квант-й')
% А - закон
comp_A_sig = compand(sig,87.6,max(sig),'A/compressor');
[~,A_quants] = quantiz(comp_A_sig,partition,codebook);
exp_A_sig = compand(A_quants,87.6,max(sig),'A/expander');
figure(3)
plot([sig' exp_A_sig']);
title('A-закон')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'восст-й квант.')
% мю - закон
comp_mu_sig = compand(sig,255,max(sig),'mu/compressor');
[~,mu_quants] = quantiz(comp_mu_sig,partition,codebook);
exp_mu_sig = compand(mu_quants,255,max(sig),'mu/expander');
figure(4)
plot([sig', exp_mu_sig']);
title('\mu-закон')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'восст-й квант.')
% самостоятельная часть
figure(5)
plot([sig', exp_mu_sig', exp_A_sig', q_sig']);
title('z')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'mu', 'A', 'равномерно')
% средняя мощность
pow1 = round(vpa((sum(sig.^2,'all')) / 1.024,6),4);
pow2 = round(vpa((sum(q_sig.^2,'all')) / 1.024,6),4);
pow3 = round(vpa((sum(exp_A_sig.^2,'all')) / 1.024,6),4);
pow4 = round(vpa((sum(exp_mu_sig.^2,'all')) / 1.024,6),4);
fprintf('средняя мощность сигнала %s мВт\n',pow1);
fprintf('средняя мощность при равномерном квантовании %s мВт\n',pow2);
fprintf('средняя мощность при квантовании по А-закону %s мВт\n',pow3);
fprintf('средняя мощность при квантовании по мю-закону %s мВт\n',pow4);
% средняя мощность шумов квантования
pw1 = round(vpa(((sum((q_sig-sig).^2,'all'))/0.001024), 6),4);
pw2 = round(vpa(((sum((exp_A_sig-sig).^2,'all'))/0.001024), 6),4);
pw3 = round(vpa(((sum((exp_mu_sig-sig).^2,'all'))/0.001024), 6),4);
fprintf('средняя мощность шумов квантования при равномерном квантовании %s мкВт\n',pw1);
fprintf('средняя мощность шумов квантования при квантовании по А-закону %s мкВт\n',pw2);
fprintf('средняя мощность шумов квантования при квантовании по мю-закону %s мкВт\n',pw3);
% защищенность
p1 = round(vpa(10*log10(pow2/pw1)),4);
p2 = round(vpa(10*log10(pow3/pw1)),4);
p3 = round(vpa(10*log10(pow4/pw1)),4);
fprintf('защищенность от шумов квантования при равномерном квантовании %s дБ\n',p1);
fprintf('защищенность от шумов квантования при квантовании по А-закону %s дБ\n',p2);
fprintf('защищенность от шумов квантования при квантовании по мю-закону %s дБ\n',p3);
fprintf('m = ');
disp(m)
disp('% Для продолжения гойды нажмите <ENTER>')
pp1 = [pp1 p1];
pp2 = [pp2 p2];
pp3 = [pp3 p3];
pause
end
mm = [2 3 4 5 6 7 8 9 10];
figure(6)
plot(mm,pp1)
title('1')
xlabel('m')
ylabel('a')
figure(7)
plot(mm,pp2)
title('2')
xlabel('m')
ylabel('a')
figure(8);
plot(mm,pp3)
title('3')
xlabel('m')
ylabel('a')
figure(9)
plot(mm,pp1,mm,pp2,mm,pp3)
title('Графики зависимости')
xlabel('m')
ylabel('a')
legend('=', 'a','mu')
clear all
clc
variant = 6; % номер варианта
F_s = 8e3; % частота дискретизации
N = 1024; % количество отсчётов
T = 1/F_s;
t = 0:T:(N-1)*T;
pp1=[];
pp2=[];
pp3=[];
A2 = 0.23;
A3 = 0.17;
A1 = 1 - A2 - A3;
f1 = rem(variant,3)*27+F_s/107;%587
f2 = rem(variant,5)*57+F_s/43;
f3 = rem(variant,7)*4.3+50.3;
phi1 = (1-rem(variant,5)*0.4)*2*pi;
phi2 = (rem(variant,3)*0.2-1)*2*pi;
phi3 = (1-rem(variant,8)*0.25)*2*pi;
s1 = A1*sin(2*pi*f1*t+phi1);
s2 = A2*sin(2*pi*f2*t+phi2);
s3 = A3*sin(2*pi*f3*t+phi3);
sig(1,1:N/2) = exp(((N-1).*T-t(1,1:N/2).^2)./((N/80-1).*T)).*(s1(1,1:N/2)+s2(1,1:N/2)+s3(1,1:N/2));
sig(1,N/2+1:N) = exp(((N-1).*T+t(1,N/2+1:N).^2)./((N/72-1).*T)).*(s1(1,N/2+1:N)+s2(1,N/2+1:N)+s3(1,N/2+1:N));
sm = max(sig);
sig = sig/sm;
figure(1)
plot(t,sig)
title('Аналоговый сигнал')
xlabel('t')
ylabel('s(t)')
% Равномерное квантование
for i=2:10
m = i; % число бит квантования
d = 1/(2^(m-1));
partition = [-1:d:1-d];
codebook = [-1:d:1];
[~,q_sig,distortion] = quantiz(sig,partition,codebook);
figure(2)
plot([sig' q_sig']);
title('Равномерное квантование')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'квант-й')
% А - закон
comp_A_sig = compand(sig,87.6,max(sig),'A/compressor');
[~,A_quants] = quantiz(comp_A_sig,partition,codebook);
exp_A_sig = compand(A_quants,87.6,max(sig),'A/expander');
figure(3)
plot([sig' exp_A_sig']);
title('A-закон')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'восст-й квант.')
% мю - закон
comp_mu_sig = compand(sig,255,max(sig),'mu/compressor');
[~,mu_quants] = quantiz(comp_mu_sig,partition,codebook);
exp_mu_sig = compand(mu_quants,255,max(sig),'mu/expander');
figure(4)
plot([sig', exp_mu_sig']);
title('\mu-закон')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'восст-й квант.')
% самостоятельная часть
figure(5)
plot([sig', exp_mu_sig', exp_A_sig', q_sig']);
title('z')
xlabel('t')
ylabel('s(t)')
legend('аналог-й', 'mu', 'A', 'равномерно')
% средняя мощность
pow1 = round(vpa((sum(sig.^2,'all')) / 1.024,6),4);
pow2 = round(vpa((sum(q_sig.^2,'all')) / 1.024,6),4);
pow3 = round(vpa((sum(exp_A_sig.^2,'all')) / 1.024,6),4);
pow4 = round(vpa((sum(exp_mu_sig.^2,'all')) / 1.024,6),4);
fprintf('средняя мощность сигнала %s мВт\n',pow1);
fprintf('средняя мощность при равномерном квантовании %s мВт\n',pow2);
fprintf('средняя мощность при квантовании по А-закону %s мВт\n',pow3);
fprintf('средняя мощность при квантовании по мю-закону %s мВт\n',pow4);
% средняя мощность шумов квантования
pw1 = round(vpa(((sum((q_sig-sig).^2,'all'))/0.001024), 6),4);
pw2 = round(vpa(((sum((exp_A_sig-sig).^2,'all'))/0.001024), 6),4);
pw3 = round(vpa(((sum((exp_mu_sig-sig).^2,'all'))/0.001024), 6),4);
fprintf('средняя мощность шумов квантования при равномерном квантовании %s мкВт\n',pw1);
fprintf('средняя мощность шумов квантования при квантовании по А-закону %s мкВт\n',pw2);
fprintf('средняя мощность шумов квантования при квантовании по мю-закону %s мкВт\n',pw3);
% защищенность
p1 = round(vpa(10*log10(pow2/pw1)),4);
p2 = round(vpa(10*log10(pow3/pw1)),4);
p3 = round(vpa(10*log10(pow4/pw1)),4);
fprintf('защищенность от шумов квантования при равномерном квантовании %s дБ\n',p1);
fprintf('защищенность от шумов квантования при квантовании по А-закону %s дБ\n',p2);
fprintf('защищенность от шумов квантования при квантовании по мю-закону %s дБ\n',p3);
fprintf('m = ');
disp(m)
disp('% Для продолжения гойды нажмите <ENTER>')
pp1 = [pp1 p1];
pp2 = [pp2 p2];
pp3 = [pp3 p3];
pause
end
mm = [2 3 4 5 6 7 8 9 10];
figure(6)
plot(mm,pp1)
title('1')
xlabel('m')
ylabel('a')
figure(7)
plot(mm,pp2)
title('2')
xlabel('m')
ylabel('a')
figure(8);
plot(mm,pp3)
title('3')
xlabel('m')
ylabel('a')
figure(9)
plot(mm,pp1,mm,pp2,mm,pp3)
title('Графики зависимости')
xlabel('m')
ylabel('a')
legend('=', 'a','mu')
