亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? doapeak.m

?? 陣列信號(hào)處理的工具箱
?? M
字號(hào):
function [edoa, noPeaksFound] = doapeak(doaSpec, method, in1, in2)%DOAPEAK Finds the peaks of a DOA spectrum and the number of peaks.%%--------%Synopsis:%  [edoa, noPeaksFound] = doapeak(doaSpec, method, ...)%%Description:%  Estimates doas and number of doas from any DOA spectrum. All methods%  searches for peaks in the DOA spectrum.%%Output:%  edoa  (Vector of DoaT): Estimated directions [radians]. The number of%    DOA:s in this vector is equal to the value of the input parameter%    noSrc unless no spectrum peaks were found, in which case the length%    of this vector is 1.%  noPeaksFound (IntScalarT): Number of peaks found. This number is always%    less than or equal to the value of the input parameter "noSrc" for%    the methods 'amir' and 'amirbin' (see below).%%Input:%  doaSpec (DoaSpecT): Input DOA-spectrum. It is a quadratic measure of the%    presence of sources in different directions. It can be either a power%    spectrum (e.g. cbf) or a pseudo spectrum (e.g. music).%  method (StringT): See below.%    = 'amir': Amir Heydarkhan's method.%    = 'amirbin': Modified Amir Heydarkhan's method (Binary Search).%    = 'MA1': Moving average filtered search.%    = 'fam': Fredrik Athely's method.%%--------%Modified Amir Heydarkhan's method (Binary Search) ('amirbin')%Synopsis%  [edoa, noPeaksFound] = doapeak(doaSpec, 'amirbin', noSrc, startTreshold)%%Description:%  Same as the method 'amir' but with improved search scheme (binary).%  This may leed to different result then with the method 'amir'. This is due%  to that the methods have different convergence speed but with the same%  number of iterations. Compared to 'amir' there are for 'amirbin' some%  extra input parameters.%%Input:%  noSrc [D](IntScalarT): Number of sources or peaks we want to find.%  startTreshold [D](RealScalarT): Normalized start threshold. A number%    between 0 and 1.0 specifying the start threshold. This is then made%    higher and lower by the method. If the threshold falls below %    "startTreshold", the method is terminated.%%Algoritm:%  The algoritm only looks at those parts of the input DOA-spectrum%  that have values larger than a threshold.  Peaks in those parts%  are detected as having a derivative (from the Matlab function "diff")%  with a sign change + to -. If too few peaks are found, the threshold%  is lowered. If too many peaks are found, the threshold is increased.%  The threshold is changed a maximum of 100 times.%%--------%Amir Heydarkhan's method  ('amir')%Synopsis%  [edoa, noPeaksFound] = doapeak(doaSpec, 'amir', noSrc)%%Description:%  Finds the peaks of a DOA spectrum and the number of peaks (if less or%  equal to the value of the input parameter noSrc).%%  Iterates 100 times with a search algoritm that uses steps of%  size 1.2 when decreasing the search value and 1.1 when increasing the value%  i.e. value/1.2 respectively value*1.1.%%  A tip is to take the logaritm of the DOA spectrum when using Capon's %  beamformer before calling "doapeak".%%  It is suggested to use the method 'amirbin' instead of 'amir', since%  the former executes faster and safer and any improvement is done on this %  (former) method.%%Input:%  noSrc (IntScalarT): Number of sources or peaks we want to find.%%Algoritm:%  The algoritm only looks at those parts of the input DOA-spectrum%  that have values larger than a threshold.  Peaks in those parts%  are detected as having a derivative (from the Matlab function "diff")%  with a sign change + to -. If too few peaks are found, the threshold%  is lowered to 83 percent of the previous value of the threshold and%  a new search for peaks is performed. If too many peaks are found, the%  threshold is increased to 110 percent of the previous value  and a%  new search is performed. The threshold is changed a maximum of 100 times.%  If there are still too many peaks, a warning message is issued. If%  there are still too few peaks, the DOA of the last found peak is copied%  to the places of the not found peaks in the output parameter "edoa".%  In this way the size of "edoa" is the expected (given by "noSrc").%  In this case of to few found DOA:s, the number of found DOA: is given%  by the output parameter "noPeaksFound". The start value of the threshold%  is 1 percent of the maximum value of the DOA-spectrum.%%Known Bugs:%  The following execution error occured once in the methods 'amir':%    ???  Index exceeds matrix dimensions.%    Error in ==> /home/magic/svabj/lob/dbt2/dbt/doapeak.m%    On line 246  ==>           while (sdQ(k)==0)%    ...%    Error in ==> /home/magic/svabj/lob/dgaantal/run46.m%    On line 23  ==> run8cpi('run46',0,2,noTrial,snr,41)%%--------%Moving average filtered search ('MA1')%Synopsis%  [edoa, noPeaksFound] = doapeak(doaSpec, 'MA1', sampleT)%%Description:%  Searches for peaks in the DOA spectrum. (filtered)%%Input:%  sampleT (IntScalarT): Sample period in radians. i.e. angle between samples.%%Algoritm:%  The spectrum is first filtered with the requested filter then a search%  is performed to find the peaks of the curve by loooking at sign change%  of the derivative of the DOA spectrum. The filtering is used to reduce%  peaks that due to noise and likewise.%%--------%Fredrik Athley's Method ('fam').%Synopsis:%  [edoa, noPeaksFound] = doapeak(doaSpec, 'fam')%  [edoa, noPeaksFound] = doapeak(doaSpec, 'fam', thFix, thAdapt)%%Description:%  Estimates directions from a directional spectrum.%%Input:%  thFix [D](RealScalarT): The fixed threshold [dB].%  thAdapt  [D](RealScalarT): The relative adaptive threshold [dB].%%Algoritm:%  Only the values of the logaritmic DOA spectra above a theshold are%  considered. The theshold is determined as the largest of a fixed%  level and an adaptive level. The latter is set to be "thAdapt" (default=20)%  dB below the highest peak of the spectrum. The default value for the fixed %  level is 2 dB but can be changed by the input parameter "thFix".%  The estimated directions are given by the local maxima above the theshold. %  The code in this method is copied from the function "bearingextractor"%  with minor modifications.%%--------%Notations:%  Data type names are shown in parentheses and they start with a capital%  letter and end with a capital T. Data type definitions can be found in [1]%  or by "help dbtdata".%  [D] = This parameter can be omitted and then a default value is used.%  When the [D]-input parameter is not the last used in the call, it must be%  given the value [], i.e. an empty matrix.%  ... = There can be more parameters. They are explained under respective%  metod or choice.%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.)%  This function was used in the work done by A. Heydarkhan [4].%%Known Bugs:%%References:%  [1]: Bj鰎klund S.: "DBT, A MATLAB Toolbox for Radar Signal Processing.%    Reference Guide", FOA-D--9x-00xxx-408--SE, To be published.%  [4]: Heydarkhan A.: "Model Based Direction of Arrival Estimation Methods%    Applied to Experimental Antenna Data", Master's Thesis, Chalmers%    University of Technology 1997.%  [5]: Athley F.:"Integration av modellbaserade metoder i radar, ett%    till鋗pningsexempel", Rapport FY/P-98:015, Ericsson Microwave Systems 1998.%%See Also:%  spanosrc, sdoaspc, doaspc1%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  Start        : 970613 Amir Heydarkhan (amihey).%  Latest change: $Date: 2000/10/16 15:20:42 $ $Author: svabj $.%  $Revision: 1.27 $% *****************************************************************************% ----------------------------------------------------------------------- %% Handle input parameters% ----------------------------------------------------------------------- %arginNo=2;if (nargin < arginNo)  dbterror('To few input parameters.')endarginNo = arginNo +1;% ****************** Add missing input parameters ******************% ****************** Default values ******************% ****************** Error check input parameters ******************chkdtype(doaSpec, 'DoaSpecT')chkdtype(method, 'StringT')% ----------------------------------------------------------------------- %% Method: amir% ----------------------------------------------------------------------- %if strcmp(method,'amir')  noSrc = in1;  % ****************** Pick out fields from input parameters. ******************  Q = doaSpec.specSmpl;  if noSrc == 1,    [Y, edoaIx] = max(Q);  else    edoaIx = 0;    l=0;    jumplimit = 100;    jump = 0;    startTreshold = .5;    treshold = startTreshold;    Qmax = max(Q);    %interval = 2    %Q(1:interval) = diag(zeros(interval));     %smooth the ends    %Q(size(Q,1)-interval+1:size(Q,1)) %= diag(zeros(interval));    while ((size(edoaIx,1) ~= noSrc) & (jump < jumplimit))      edoaIx = 0;      l=0;      for k = 1 : size(Q,1),        %Smoothing        if Q(k) < Qmax*treshold,          Q2(k)=0;        else          Q2(k)=Q(k);        end      end      dQ = diff(Q2);      dQ(size(dQ,1)+1) = 0;      sdQ = sign(dQ);                  %Searching      for k = 2:length(sdQ)-1,        if sdQ(k-1) == 1,          while (sdQ(k)==0)            k=k+1;          end % while.          if sdQ(k) == -1,            l=l+1;            edoaIx(l) = k;          end        end      end      %fprintf('%d st har hittat\n',size(edoaIx,1));      if length(edoaIx) > noSrc,        %disp('謐ar treshold')        treshold = treshold*1.1;        if treshold > 1,          jump = jumplimit;        end      elseif length(edoaIx) < noSrc,        %disp('Minskar treshold')          if treshold < startTreshold,            jump = jumplimit;          else,            treshold = treshold/1.2;          end      end      jump = jump + 1;    end%while  end%ifif (length(edoaIx)>noSrc)  %error('DBT-Error: More peaks found than desired.'); dbtwarning('More peaks found than desired.');end%if% ----------------------------------------------------------------------- %% Method: amirbin. Same as amir but with binary search scheme.% ----------------------------------------------------------------------- %elseif strcmp(method,'amirbin') % ****************** Add missing input parameters ******************  if (nargin < arginNo)    in1 = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    in2 = [];  end  arginNo = arginNo +1;   % ****************** Default values ******************  noSrc = in1;  startTreshold = in2;  if isempty(noSrc)    noSrc = 4;  end%if  if isempty(startTreshold)    startTreshold = 0.5;  end%if  % ****************** Error check input parameters ******************  chkdtype(noSrc, 'IntScalarT')    % ****************** Do the work ******************  Q = doaSpec.specSmpl;  if noSrc == 1,    [Y, edoaIx] = max(Q);  else    edoaIx = 0;    l=0;    jumplimit = 100;    jump = 0;    %startTreshold = .5;    treshold = startTreshold;    Qmax = max(Q);    while ((length(edoaIx) ~= noSrc) & (jump < jumplimit))      edoaIx = 0;      l=0;      for k = 1 : size(Q,1),        %Smoothing        % the parts of the spectrum that are below the current theshold        % are set to zero.        if Q(k) < Qmax*treshold,          Q2(k)=0;        else          Q2(k)=Q(k);        end      end      % Derivative.      dQ = diff(Q2);      dQ(size(dQ,1)+1) = 0;      sdQ = sign(dQ);      %Searching      for k = 2:length(sdQ)-1,        if sdQ(k-1) == 1,          while ((sdQ(k)==0) & (k < length(sdQ)))            k=k+1;          end % while.          if sdQ(k) == -1,            l=l+1;            edoaIx(l) = k;          end        end      end      if length(edoaIx) > noSrc,        %disp('Increase treshold')        treshold = treshold/2 + 0.5;        if treshold > 1,          jump = jumplimit;        end%if      elseif length(edoaIx) < noSrc,        %disp('Decrease treshold')          if treshold < startTreshold,            jump = jumplimit;          else,            treshold = 1.5*treshold-0.5;          end%if      end%if      jump = jump + 1;    end %while  end %if% ----------------------------------------------------------------------- %% Method: Moving Average Filter 1.% ----------------------------------------------------------------------- %elseif strcmp(method,'MA1')  Q = doaSpec.specSmpl;    % The sampled DOA Spectrum.  sampleT = in1;  % Sample period time in degrees.  MALen = 0.5;    % Moving Average filter length in degrees.  MACoeff = ones(1,MALen/sampleT)*(sampleT/MALen);  Qmax=max(Q);  for k = 1 : length(Q),    if Q(k) < Qmax*0.01,      Q(k)=0;    end  end  Qf = filter(MACoeff,1,Q);  dQf = diff(Qf);  dQf(length(dQf)+1) = 0;  sdQf = sign(dQf);  l=0;  for k = 2:length(sdQf)-1,    if sdQf(k-1) == 1,      while (sdQf(k)==0)        k=k+1;      end % while.      if sdQf(k) == -1,        l=l+1;        edoaIx(l) = k;      end    end  end% ----------------------------------------------------------------------- %% Method: fam, Fredrik Athley's Method%% Start: 9xxxxx Fredrik Athley (freath).% ----------------------------------------------------------------------- %elseif strcmp(method,'fam')  %function [azest,notgt] = bearingextractor(P,theta,thFix)  % ****************** Add missing input parameters ******************  if (nargin < arginNo)    in1 = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    in2 = [];  end  arginNo = arginNo +1;  % ****************** Default values ******************  thFix = in1;  thAdapt = in2;  if isempty(thFix)   thFix = 2;		% Fixed threshold [dB].  end%if  if isempty(thAdapt)   thAdapt = 20;	% The adaptive threshold is "thAdapt" dB below the                        % highest peak in the spectrum.  end%if  % ****************** Error check input parameters ******************  chkdtype(thFix, 'RealScalarT')  chkdtype(thAdapt, 'RealScalarT')  % ****************** Do the work ******************  edoaIx = 0;  P = 10*log10(doaSpec.specSmpl);    % The sampled DOA spectrum in dB.  theta = doaSpec.doaPos;  specLen = length(P);		% Length of DOA spectrum.	  notgt = 0;  pmax = max(P);  th = max(thFix,pmax-thAdapt);	% Applied threshold in dB.  for n = 2:specLen-1    exwin =[P(n-1);P(n+1)];    if (P(n)>max(exwin)) & (P(n)>th)      notgt = notgt + 1;      edoaIx(notgt) = n;    end%if  end%for n% ----------------------------------------------------------------------- %% Method:% ----------------------------------------------------------------------- %end % if method.% ----------------------------------------------------------------------- %% Deliverance of calculated values.% ----------------------------------------------------------------------- %% edoaIx (IndexT): Index for the found peaks in the spectrum.% If no peaks are found edoaIx == 0 here.if (edoaIx ~= 0)  ang = doaSpec.doaPos;  etheta = ang(edoaIx);  edoa=[etheta; zeros(1,length(etheta))];  noPeaksFound = length(edoaIx);else  edoa=0;  noPeaksFound = 0;%  plot(Q);end%if%End Of File

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人高清av在线| 欧美va在线播放| 91捆绑美女网站| 成人深夜视频在线观看| 国产成人精品一区二区三区四区 | 老司机精品视频在线| 一区二区三区电影在线播| 亚洲欧美自拍偷拍色图| 国产精品美女久久久久久久久久久 | 国产自产2019最新不卡| 日韩**一区毛片| 强制捆绑调教一区二区| 久久精品99国产精品| 久久丁香综合五月国产三级网站| 秋霞国产午夜精品免费视频| 美女一区二区久久| 精品伊人久久久久7777人| 久久99国产精品久久| 国产麻豆视频一区二区| 国产成人精品免费视频网站| 成人性生交大片免费| 99久久国产综合精品色伊| 色狠狠桃花综合| 欧美日韩免费一区二区三区视频| 欧美电影一区二区| 精品国产亚洲在线| 亚洲国产高清不卡| 最新欧美精品一区二区三区| 樱花草国产18久久久久| 亚洲电影一级片| 久久av资源站| 成人精品高清在线| 一本久久综合亚洲鲁鲁五月天| 精品视频在线看| 精品国产精品网麻豆系列| 中文字幕二三区不卡| 亚洲在线免费播放| 久久99热99| 99久久99久久精品免费看蜜桃| 欧美制服丝袜第一页| 日韩精品一区二区三区在线观看| 国产日韩欧美精品在线| 亚洲一区日韩精品中文字幕| 久久成人久久爱| 99re这里只有精品首页| 欧美精品自拍偷拍动漫精品| 久久久久国产一区二区三区四区| 亚洲视频你懂的| 青椒成人免费视频| 99久久er热在这里只有精品15 | 亚洲国产人成综合网站| 蜜臀91精品一区二区三区| 国产 日韩 欧美大片| 欧美日韩视频在线第一区 | 中文字幕亚洲欧美在线不卡| 亚洲最大的成人av| 国产一区二区在线看| 色偷偷一区二区三区| 久久美女高清视频| 亚洲国产色一区| 成人综合婷婷国产精品久久免费| 欧美日韩中文字幕一区二区| 精品剧情v国产在线观看在线| 中文欧美字幕免费| 日本 国产 欧美色综合| 色av成人天堂桃色av| 久久先锋影音av鲁色资源| 亚洲国产欧美在线人成| 国产91露脸合集magnet| 91精品国产综合久久福利| 中文字幕在线不卡视频| 精品一区二区在线看| 欧美日韩国产在线播放网站| 中文字幕不卡的av| 久久er99精品| 5566中文字幕一区二区电影| 亚洲视频一区在线| 成人中文字幕合集| 精品久久久久久久人人人人传媒| 亚洲一区视频在线| 色综合天天综合| 中文一区二区完整视频在线观看| 久久成人免费日本黄色| 91麻豆精品久久久久蜜臀| 亚洲精品欧美激情| 99天天综合性| 国产偷国产偷亚洲高清人白洁| 日日夜夜精品视频天天综合网| 色偷偷88欧美精品久久久| 欧美激情一区在线| 精品亚洲国产成人av制服丝袜 | 国产精品国产精品国产专区不片| 久久成人久久鬼色| 日韩欧美一区二区免费| 亚洲午夜久久久| 色乱码一区二区三区88| 国产精品久久久久久久久动漫 | 91免费看`日韩一区二区| 久久精品人人做人人爽人人| 久久精品国产77777蜜臀| 在线播放/欧美激情| 亚洲v精品v日韩v欧美v专区| 欧美午夜精品一区二区蜜桃 | 91麻豆免费看| 国产精品国产自产拍高清av| 国产成人在线观看| 久久免费看少妇高潮| 狠狠色丁香九九婷婷综合五月| 欧美一区中文字幕| 美腿丝袜亚洲色图| 欧美成人三级在线| 黄色资源网久久资源365| 精品日韩在线观看| 国产一区二区精品久久91| 久久看人人爽人人| 国产91丝袜在线18| 亚洲视频中文字幕| 欧美亚洲高清一区二区三区不卡| 亚洲一区中文日韩| 欧美群妇大交群中文字幕| 日韩精品亚洲一区| 精品国产人成亚洲区| 国产美女在线精品| 中文子幕无线码一区tr| 色综合久久久久网| 亚洲一区二区中文在线| 91麻豆精品久久久久蜜臀| 国产尤物一区二区| 亚洲一区二区三区四区的| 7777精品伊人久久久大香线蕉| 蜜臀av亚洲一区中文字幕| 久久婷婷成人综合色| 99久久精品免费观看| 亚洲国产精品视频| 日韩欧美一区二区三区在线| 国产精品91xxx| 又紧又大又爽精品一区二区| 3751色影院一区二区三区| 激情综合色播五月| 国产精品麻豆网站| 欧美美女网站色| 国内成人自拍视频| 亚洲少妇中出一区| 91精品婷婷国产综合久久| 国产一区二区三区不卡在线观看 | 久久久久久久免费视频了| 成人一级视频在线观看| 亚洲精品视频在线| 日韩欧美一级精品久久| 成人精品电影在线观看| 亚洲bt欧美bt精品| 久久久久99精品一区| 在线欧美小视频| 久久电影网电视剧免费观看| 亚洲天堂精品在线观看| 日韩精品一区二区三区四区视频 | 日韩免费电影网站| 99久久精品免费观看| 秋霞成人午夜伦在线观看| 欧美激情一区二区| 欧美精品丝袜中出| 成人福利视频在线| 麻豆精品一区二区| 亚洲精品一卡二卡| 国产三级一区二区| 欧美日韩国产首页在线观看| 成人av免费在线播放| 日本不卡一二三区黄网| 亚洲欧美中日韩| 26uuu亚洲| 欧美日韩中文字幕一区| www.成人在线| 国产最新精品精品你懂的| 一区二区三区成人| 久久久久国产精品麻豆ai换脸| 在线播放视频一区| 成人av电影在线| 国产一区在线不卡| 日韩av电影免费观看高清完整版在线观看| 国产精品人人做人人爽人人添| 欧美一级专区免费大片| 欧洲人成人精品| 不卡视频一二三四| 国产精品一区2区| 精品在线观看视频| 日韩av电影天堂| 亚洲h在线观看| 亚洲裸体xxx| 国产精品青草综合久久久久99| 精品久久五月天| 欧美疯狂做受xxxx富婆| 欧美综合亚洲图片综合区| 99re视频精品| 成人福利视频网站| 韩国女主播成人在线| 日韩国产欧美三级| 性做久久久久久久久| 亚洲一区二区三区在线看| 国产精品福利影院| 国产日韩欧美在线一区|