%===========每当打开matlab运行一下下面代码,运行一次即可,然后后注释掉。下次打开matlab再运行
%   path(path,'E:\MATLAB\kkk\Field_II\field_II_combined');    % 加field文件夹入搜索路径
%   run field_init            % Initialize the Field II program system
clear;pause(0.1);
%------------------------基本参数--------------------
f0=3e6;                     % 中心频率[Hz]
fs=100e6;                   % 采样率 [Hz]
c=1540;                     % 声速 [m/s]
ele_width =c/f0;            % 阵元宽度 x方向 使等于波长 0.51/1000
ele_height=5/1000;          % 阵元高度 y方向
ele_kerf  =ele_width/20;    % 阵元间隙 (当width+kerf大于波长一半时,阵元间的相互作用可忽略不计。万明习(上)P228)
ele_num=64;                 % 阵元个数
focus=[0 0 50]/1000;        % 焦点 [m]
%------------------------系统配置---------------------
set_sampling(fs);                                                       % 设置采样率
impulse_response=sin(2*pi*f0*(0:1/fs:2/f0));
impulse_response=impulse_response.*hanning(length(impulse_response))';   % 冲击响应
excitation=sin(2*pi*f0*(0:1/fs:2/f0));                                  % 激励,不是单脉冲信号
emit_aperture   = xdc_linear_array (ele_num, ele_width, ele_height, ele_kerf, 1, 5, focus);     % 发射探头
receive_aperture= xdc_linear_array (ele_num, ele_width, ele_height, ele_kerf, 1, 5, focus);     % 接收探头
xdc_impulse (emit_aperture,    impulse_response);                       % 设置发射探头冲击响应
xdc_excitation (emit_aperture, excitation);                             % 设置发射探头激励
xdc_impulse (receive_aperture, impulse_response);                       % 设置接收探头冲击响应
%[phantom_positions, phantom_amplitudes] = cyst_phantom(100000);      % 创建人工体膜,查看体膜的摆放的位置及尺寸
phantom_positions=focus;
phantom_amplitudes=1;
[RF_data, start_time]=calc_scat(emit_aperture, receive_aperture, phantom_positions, phantom_amplitudes);
plot((0:length(RF_data)-1)/fs+start_time,RF_data);

构建人工体膜,将体膜紧贴探头中心,采集RF信号

function [positions, amp] = cyst_phantom (N)        % N=100000 合适
x_size = 100/1000;       % Width of phantom [m]
y_size = 100/1000;       % Transverse width of phantom [m]
z_size = 100/1000;       % Height of phantom [m]
z_start = 0/1000;      % Start of phantom surface [m];
% Create the general scatterers
x = (rand (N,1)-0.5)*x_size;                    % N个散射点x轴坐标均匀分布在[-25,25]
y = (rand (N,1)-0.5)*y_size;                    % N个散射点y轴坐标均匀分布在[-25,25]
z = rand (N,1)*z_size + z_start;                % N个散射点z轴坐标均匀分布在[-25,25]+z_start
amp=rand(N,1);                                   % N个散射点均匀分布散射强度[0,1]之间
pht_num=2;                  % 放置2个球
pht_r  =8/1000;             % 半径
dz=z_size/(pht_num+1);      % 间隔
inside=zeros(N,1);
for i=1:pht_num
temp=(((x-0).^2+(y-0).^2+(z-z_start-i*dz).^2)<pht_r^2);
inside=inside|temp;
end
amp(find(inside==1))=10;          % 球内的散射系数设为2
% Return the variables
positions=[x y z];
% 只绘制球内的散点
figure;
for i=1:N
if inside(i)
plot3(x(i),y(i),z(i),'o');hold on;
end
end
axis([-50/1000 50/1000 -50/1000 50/1000 0 100/1000]);
grid on;xlabel('x');ylabel('y');zlabel('z');
end

体膜中,周围的组织散射系数服从(0,1)间的均匀分布。体膜大小100*100*100 mm,紧贴探头中心(0,0,0),体膜内有两个球,球内的散射系数为10,球半径为8mm。

探头焦点为(0,0,50)mm

%=============================获取组织中的RF信号==========================
[phantom_positions, phantom_amplitudes] = cyst_phantom(100000);      % 创建人工体膜,查看体膜的摆放的位置及尺寸
% calculating the received signal from a collection of scatterers
[RF_data, start_time]=calc_scat(emit_aperture, receive_aperture, phantom_positions, phantom_amplitudes);
plot((0:length(RF_data)-1)/fs+start_time,RF_data);

Field_II test 1相关推荐

  1. Field_II囊肿模型进行颈动脉血流速度剖面超声仿真--MATLAB

    实验题目 · 根据颈动脉超声仿真静态模型,建立颈动脉血流速度剖面超声仿真动态模型:  血流速度要求:中心最大速度设置为1.2 m/s. 自上管壁至下管壁,血流速度剖面为抛物线型(如图1): 图1 血流 ...

  2. 运用Field_II囊肿模型生成静态血管模型--MATLAB

    题目要求 建立人体颈总动脉超声仿真模型,并画出三维示意图: 1模型几何要求:所在深度---皮下15~24 mm: 内径---3.5 mm: 管壁厚度---1mm: 血管长度---38mm. 1. 2 ...

最新文章

  1. js常用阻止冒泡事件
  2. 采用python解决实际问题_应用 Python 解决一些实际问题
  3. Centos7 配置网络
  4. 在chrome中通过getComputedStyle()获取透明度的问题
  5. 随机样例生成器(外观优化)
  6. 好教程推荐系列:《计算机视觉--算法与应用》和《机器视觉算法与应用》等等
  7. CentOS7关闭rpcbind连带服务
  8. wpf 聊天软件 wpf 聊天
  9. 手机网页 弹窗layerUI
  10. Oracle锁表查询和解锁方法
  11. 【数字图像处理 8】形态学图像处理
  12. 母函数(指数型)(泰勒展开式)
  13. 如何解决Sketch导出文件出现色差偏暗或偏淡这个问题?
  14. source insight的查找功能
  15. 微信聊天记录如何才能永久删除?这些彻底删除的方法你知道多少
  16. java解析word批注
  17. Excel 行高列宽与图片像素的关系
  18. BUUCTF [NPUCTF2020]芜湖
  19. 怎么控制别人的电脑屏幕?
  20. 美赛18b题O奖论文学习(二)

热门文章

  1. HTTP协议与FTP协议的区别
  2. 程序设计思维 B - 东东学打牌
  3. 开发部工程师工作指导及规范
  4. model.state_dict和model.parameters和model.named_parameters区别
  5. 集合(无序,区别有序集合)
  6. 设计模式-MVC模式
  7. FFmpeg笔记(四)
  8. 为什么无名管道只能用于具有亲缘关系的进程间通信
  9. 输入一个年份,输出是否为闰年。闰年的条件,又能被4整除但不能被100整除,或者能被400整除的年份都是闰年
  10. NetNut住宅代理,超500万个IP可选!