⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelisation_recherche.asv

📁 Ultrasonor captor with Microchip dsPIC33F
💻 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 + -