📄 modelisation_recherche.asv
字号:
clc;
clear all;
close all;
disp('*****************************************');
disp('*** MATLAB - SBPA V0.2 ***');
disp('*****************************************');
%% Param鑤res
vitesse_son = 340; %340 m/s
distance_robot_balise = sqrt(3^2+2.1^2); %5 m
f_us = 32e3;
t=[1.5:0.01:10];
bar = waitbar(0,'Recherche en cours...');
for i=[1:1:length(t)]
waitbar(i/length(t));
%% Longueur et fr閝uence SBPA
t_robot_balise = round(distance_robot_balise / vitesse_son * 1000) / 1000;
t_sbpa_haut = t(i)/f_us;
%r閟olution de l'閝uation
temp='';
temp = strcat(temp,num2str(t_sbpa_haut));
temp = strcat(temp,' * 2^(nr) - ');
temp = strcat(temp,num2str(t_robot_balise));
temp = strcat(temp,' * nr = ');
temp = strcat(temp,num2str(t_sbpa_haut));
sol = solve(temp);
nr = round(double(sol(2)));
Tsbpa(i) = t_sbpa_haut / nr;
f_ech = 1/Tsbpa(i);
while f_ech < 100e3
f_ech = f_ech+1/Tsbpa(i);
end
longueur_sbpa(i) = 2^nr - 1;
nb_ech(i) = round(longueur_sbpa(i) * f_ech * Tsbpa(i));
%% Affichage R閟ultats
% disp('*****************************************');
% disp('R閟ultats :');
% s = sprintf('\t Nombre de registres : \t\t\t %d registres',nr);
% disp(s);
% s = sprintf('\t Longeur de la SBPA : \t\t\t %d 閘閙ents',longueur_sbpa(i));
% disp(s);
% s = sprintf('\t Fr閝uence de la SBPA : \t\t% d Hz',1/Tsbpa(i));
% disp(s);
% s = sprintf('\t Fr閝uence d''閏hantillonnage : \t%d Hz',f_ech);
% disp(s);
% s = sprintf('\t Nombre d''閏hantillons n閏essaire pour 1 SBPA : %g 閘閙ents',nb_ech(i));
% disp(s);
%
% disp('*****************************************');
% disp('.');
%% Calcul charge m閙oire :
mem(i) = 3 * 2 * 2 * nb_ech(i);
% s = sprintf('Charge m閙oire pour trois signaux : %g octets, soit %g ko',mem(i), mem(i)/1024);
% disp(s);
end
close(bar);
%% Affichage influence param鑤res
figure('Name', 'influence param鑤res', 'NumberTitle','off');
subplot(4,1,1);
plot(t,mem);
hold on;
plot(t,32e3*ones(length(mem)),'color',[1 0 0]);
title('Charge m閙oire', 'fontsize', 12);
subplot(4,1,2);
plot(t,nb_ech);
title('Nombre d''閏hantillons', 'fontsize', 12);
subplot(4,1,3);
plot(t,longueur_sbpa);
title('Longueur de la SBPA', 'fontsize', 12);
subplot(4,1,4);
fsbpa = 1./Tsbpa;
plot(t,fsbpa);
title('Fr閝uence de la SBPA', 'fontsize', 12);
%% Choix des param鑤res
f_select = min(fsbpa(find(longueur_sbpa(:) > 1024)));
idx = fsbpa(find(longueur_sbpa(:) == f_select));
disp('*****************************************');
disp('R閟ultats :');
s = sprintf('\t Nombre de registres : \t\t\t %d registres',nr);
disp(s);
s = sprintf('\t Longeur de la SBPA : \t\t\t %d 閘閙ents',longueur_sbpa(idx));
disp(s);
s = sprintf('\t Fr閝uence de la SBPA : \t\t% d Hz',1/Tsbpa(idx));
disp(s);
s = sprintf('\t Fr閝uence d''閏hantillonnage : \t%d Hz',f_ech);
disp(s);
s = sprintf('\t Nombre d''閏hantillons n閏essaire pour 1 SBPA : %g 閘閙ents',nb_ech(idx));
disp(s);
disp('*****************************************');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -