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

📄 bft_delay.m

📁 matlab波束形成工具箱
💻 M
字号:
%BFT_DELAY Apply a delay on one line.%   This function is not particularly useful, unless someones wants%   to make phase-aberration or motion compensation. Even in those %   cases, this is not a "good" function to use, since the changes%   are not applied during a beamformation procedure. %   The function however is capable of applying different delays%   in the different image zones, and therefore is more powerful and%   faster than a simple shift of an array in Matlab.%%USAGE : [out_line] = bft_delay(in_line, delays, times, input_start_time...%                          output_start_time, no_output_samples, use_filter)%%INPUTS: in_line - A vector with the samples%        delays  - A vector with the delays to be applied. %        times   - A vector saying when the next delay is valid. The first%                  delay is applied until times(2). delays(2) is applied %                  after times(2), etc.%        input_start_time - The starting time of the first sample in the %                  input signal.%        output_start_time - When is the first output sample to start.%        no_output_samples - Number of samples in "out_line". %        use_filter - Whether to use a linear phase filter or not.%                  This one is optional. If skipped%                    %%OUTPUT: out_line - The delayed line%%CREATED: 07 Sep 2000, Svetoslav Nikolov%function out_line = bft_delay(in_line, delays, times, input_start_time, ...                              output_start_time, no_output_samples, ...                              use_filter)if (isempty(use_filter)) use_filter = 0; end;[m n] = size(in_line);if (m == 1 | n ==1)   if (use_filter == 0)       out_line = bft(19, in_line, delays, times, input_start_time, ...                                  output_start_time, no_output_samples);   else       out_line = bft(20, in_line, delays, times, input_start_time, ...                                  output_start_time, no_output_samples);   end                              else   [k l] = size(delays);   if (k == 1 | l ==1)      if (use_filter == 0)         for ii = 1:n            out_line(1:no_output_samples,ii) =  bft(19, in_line(:,ii), delays, times, input_start_time, ...                               output_start_time, no_output_samples);         end      else         for ii = 1:n             out_line(1:no_output_samples,ii) = bft(20, in_line(:,ii), delays, times, input_start_time, ...                                  output_start_time, no_output_samples);         end      end   else      [g h] = size(times);      if (g ~= k | h~=l)         error('The size of times and delays must be the same');      end      if (l~=n)         error('You need one column if delays per one column of data ');      end      if (use_filter == 0)         for ii = 1:n            out_line(1:no_output_samples,ii) =  bft(19, in_line, delays(:,ii), times(:,ii), input_start_time, ...                               output_start_time, no_output_samples);         end      else         for ii = 1:n             out_line(1:no_output_samples,ii) = bft(20, in_line, delays(:,ii), times(:,ii), input_start_time, ...                                  output_start_time, no_output_samples);         end      end   endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -