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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? runradarsim_v2.m

?? this code invert number of a vector
?? M
?? 第 1 頁 / 共 2 頁
字號:
                processedRecivedSignal = recievedSignal;
            end

            % ------------------------------- Was there a target ---------------------------------------------------
            signalInRangeCells = processedRecivedSignal(rangeCellInd);

            isMTIused = get(handles.useMTI,'value');
            if isMTIused
                freqInRangeCells = fft( signalInRangeCells,freqRes,2 );
                energyInFreqRangeCells = abs( freqInRangeCells(:,freqInd) ).^2;
                if useCFAR
                    noiseLevel = median( energyInFreqRangeCells(:) );    % Th is per frequency
                    freqTh = noiseLevel * CFAR * nPRI; 
                else
                    freqTh = Th * nPRI;
                end

                % Find in each range cell the maximum frequency (I only
                % allow one target per range cell)
                [maxFreq maxFreqInd] = max( energyInFreqRangeCells,[],2);
                localMaxEnergy = imdilate( maxFreq , dilateKer );
                rangeCell = find( localMaxEnergy == maxFreq & maxFreq > freqTh );
                targetInd = sub2ind( [numSamplesInPRI freqRes], rangeCell, maxFreqInd( rangeCell ) );
            else 
                % no MTI             
                energyInRangeCells = sum( abs(signalInRangeCells).^2,2 );
                if useCFAR
                    noiseLevel = median( energyInRangeCells );
                    Th = noiseLevel * CFAR;
                end
                % Thresholding to find targets
                localMaxEnergy = imdilate(energyInRangeCells,dilateKer);
                targetInd = find ( energyInRangeCells == localMaxEnergy & energyInRangeCells > Th);
            end % if isMTIused

        if ~isempty(targetInd)
            foundTargetInBuffer = 1;
            if isMTIused
                [rangeCell ans] = ind2sub(size(energyInFreqRangeCells),targetInd(:));
                RCS = energyInFreqRangeCells(targetInd(:));
            else
                rangeCell = targetInd;
                RCS = energyInRangeCells(targetInd);
            end
            targetRange = ( rangeCell -PWn/2) / Fs / 2 * 3e8;   %target ranges
            targetV = ones(length(targetInd),1)*12345;

            for Rind = 1:length(targetInd)     
                %Processing each Target
                pos = targetRange(Rind)*[cos(radarAngle) sin(radarAngle)];

                if isMTIused
                    % Calculating the targets velocity acording to its dopler frequency
                    targetV(Rind) = MTIcalcVelocityFromFourier(energyInFreqRangeCells,targetInd(Rind),freqRes,handles.IF_Freq,PRI);
                end

                if isempty(handles.foundTargets)
                    % adding the new target to the foundTargets structure
                    handles.foundTargets(end+1) = ...
                            createTargetObj( pos, RCS(Rind), targetRange(Rind), targetV(Rind), radarAngle,0, radarAngle,radarAngle,[],numRadarTurn );
                    h = plotTarget( handles.foundTargets(end), handles );
                    handles.foundTargets(end).hPlot = h;
                else

                    % ---------------- Checking if this target was already detected ------------------------------
                    M = length(handles.foundTargets);

%                     angleToOldTargets = zeros(M,1);
                    dAngle = zeros(M,1);
                    dRange = zeros(M,1);
                    dV = zeros(M,1);
                    for mm=1:M
                        d1 = calcDiffAngle( handles.foundTargets(mm).counterClockWise, radarAngle );
%                         d2 = -calcDiffAngle( handles.foundTargets(mm).clockWise, radarAngle );
                        d2 = pi;
                        dAngle(mm) = min ( d1, d2)/angleRes;
                        dRange(mm) = abs( handles.foundTargets(mm).R - targetRange(Rind) )/rangeRes;
                        dV(mm) = abs( handles.foundTargets(mm).v - targetV(Rind) )/velocityRes ;
                    end
                    
                    [sameTargetScore sameTargetInd] = min( dAngle.^2 + dRange.^2 + dV.^2 );

                    % Was this target already detected
                    if  sameTargetScore < 1
                        % This target was already detected !
                        if handles.foundTargets(sameTargetInd).RCS < RCS(Rind)
                            % Keeping the parameters of the better recived target;
                            handles.foundTargets(sameTargetInd).pos = pos;
                            handles.foundTargets(sameTargetInd).RCS = RCS(Rind);
                            handles.foundTargets(sameTargetInd).R = targetRange(Rind);
                            handles.foundTargets(sameTargetInd).v = targetV(Rind);
                            handles.foundTargets(sameTargetInd).angle = radarAngle;
                            delete( handles.foundTargets(sameTargetInd).hPlot );
                            h = plotTarget( handles.foundTargets(sameTargetInd), handles );
                            handles.foundTargets(sameTargetInd).hPlot = h;
%                             handles.foundTargets(sameTargetInd).foundInTurn = numRadarTurn;
                        end 
                        
                        if d1 < d2 % new target is before old target
                            handles.foundTargets(sameTargetInd).counterClockWise = radarAngle;
                        else
                            handles.foundTargets(sameTargetInd).clockWise = radarAngle;
                        end                         
                    else  
                        % This is a new target (wasn't detected yet)
                        handles.foundTargets(end+1) = ...
                            createTargetObj( pos, RCS(Rind), targetRange(Rind), targetV(Rind), radarAngle,0, radarAngle,radarAngle,[],numRadarTurn );
                        h = plotTarget( handles.foundTargets(end), handles );
                        handles.foundTargets(end).hPlot = h;
                    end % m <  angleRes & distFromOldTarget < rangeRes % Was this target already detected
                end % if isempty(handles.foundTargets)
                
            end % for n = 1:length(R)
        end %if ~isempty(f)            

        %---------------------------------------------------------------------------------------------------------------------
        dt = currentTime-lastUpdate ;
        if dt > updateRate  %Is it time to update the display
            lastUpdate = currentTime;
            currentRealTime = toc;
            delay = dt - (currentRealTime - lastUpdateRealTime); % syncronizing to real time
            lastUpdateRealTime = currentRealTime;
%             delay = max(delay,1e-5);  %to allowupdate of the display and
%             GUI response
            if delay > 0
                pause(delay);
            end
            % -------------------------------------------------------------------------
            isPersistentDisplay = get(handles.persistentDisplay,'value');
            handles = plotFOV(handles,currentTime,antenaTurnVelocity,radarSector,maxDist,isPersistentDisplay);         
            updatedDisplay = true;
            
            % updating the mini-map display every 5 seconds
            if currentTime > miniDisplayUpdateTime + 5
                if ~get( handles.scopeDisplay,'value' )
                    miniDisplayUpdateTime = currentTime;
                    displayTargets(handles,'in radar display')
                    numRadarTurn = ceil(currentTime*antenaTurnVelocity/2/pi);
                end
                if isPersistentDisplay
                    if length( handles.persistentPlotHandle ) > 1000
                        temp = handles.persistentPlotHandle;
						delete( temp( 1:end-1000 ) );
                        handles.persistentPlotHandle = temp(end-999:end);
                    end
                end
            end

            %---------------------------------------------------------------------------------------------------------------------
            % Updating targets position, velocity & accelaration  
            targetsTime = currentTime; % the time in which the target position was updated
            for n =1:length(handles.Targets)
                handles.Targets(n).XY = handles.Targets(n).XY + dt*handles.Targets(n).v+dt^2*handles.Targets(n).a;
                handles.Targets(n).v = handles.Targets(n).v + dt*handles.Targets(n).a;
                handles.Targets(n).a = handles.Targets(n).a * 0.95^dt;
                targetsManuv = handles.Targets(n).maneuverability;
                if (1-exp(-dt/targetsManuv)) > rand(1) % deciding if the target changes it's acceleration
                    phi = atan( handles.Targets(n).v(2)/handles.Targets(n).v(1) );
                    phi = phi + 2*pi*(rand(1)-0.5);
                    handles.Targets(n).a = randn(1)*20*[cos(phi) sin(phi)] - handles.Targets(n).v/targetsManuv/2;
                end
                
            end

        end % if dt > updateRate  %Is it time to update the display        
                            
        %---------------------------------------------------------------------------------------------------------------------
        if isAnalyzeBufferMode
            if get(handles.waitForTarget,'value')
                % wait for a target in the buffer
                if foundTargetInBuffer
                    if isMTIused
                        analyzBufferWithMTI(handles,recievedSignal,processedRecivedSignal,energyInFreqRangeCells,PWn,freqTh,freqInRangeCells,numSamplesInPRI,rangeCellInd);
                    else
                        analyzBuffer(handles,recievedSignal,processedRecivedSignal,energyInRangeCells,PWn,Th,rangeCellInd,localMaxEnergy);
                    end
                    set(handles.run,'string','Pause');
                    radarSimulation('run_Callback',handles.run,[],guidata(handles.run));
                end
            else
                if isMTIused
                    analyzBufferWithMTI(handles,recievedSignal,processedRecivedSignal,energyInFreqRangeCells,PWn,freqTh,freqInRangeCells,numSamplesInPRI,rangeCellInd);
                else
                    analyzBuffer(handles,recievedSignal,processedRecivedSignal,energyInRangeCells,PWn,Th,rangeCellInd,localMaxEnergy);
                    set(handles.run,'string','Pause');
                    radarSimulation('run_Callback',handles.run,[],guidata(handles.run));
                end
                set(handles.run,'string','Pause');
                radarSimulation('run_Callback',handles.run,[],guidata(handles.run));
            end
        end

        % ------------------------------------------------------------------------------------
        % play recived signal sound
        if get(handles.soundOn,'value')
%             soundSig = abs(processedRecivedSignal);
            soundSig = tanh( abs(processedRecivedSignal) );
%             soundSig = abs( tanh( processedRecivedSignal ) );
%             soundSig = angle(processedRecivedSignal); %I tried to listen
%             to targets velocity
            soundSig = soundSig / max(soundSig);
            soundSamples = decimate(soundSig,sound2SampleRatio );         
            player.stop;
            player = audioplayer( soundSamples, soundFs );
            play(player);
        end
        % ------------------------------------------------------------------------------------            
        % Display analog scope  !!!!!
        if get(handles.scopeDisplay,'value')
            hold( handles.miniDisplay,'off');
            sig = abs(processedRecivedSignal(rangeCellInd));
            plot(handles.miniDisplay,log( sig( PWn+1:end,:) ),'color',[239 255 250]/256,'linewidth',1);
            set( handles.miniDisplay,'color',[118 219 237]/256);
            ylim(handles.miniDisplay,[-22 -8]);
            xlim( handles.miniDisplay,[1 numSamplesInPRI-PWn] );
            grid( handles.miniDisplay,'on');
            if ~updatedDisplay
                drawnow;
                updatedDisplay = false;
            end
        end
        % ------------------------------------------------------------------------------------            
            
    end %if ~mod(pulseNum,nPRI)  %Only processing every N number of pulses
    pulseNum = pulseNum+1;
        

    end % while get(handles.run,'value')
    
    handles.numRadarTurn = numRadarTurn;
    handles.pulseNum = pulseNum;
    handles.currentTime = currentTime;
    guidata(handles.run,handles);
    handleRadarControlls(handles,'on');
    set(handles.PW,'value',PW/PRI);
    
    function x = fastSemiRandn(N)
        % this nested function recives the number of elements to return
        % it allways returns an N by 2 matrix of random numbers samppled
        % from the vector randVec
        
        vInd = ceil(rand(2)* (randVecLength-N));
        x = [ randVec(vInd(1):vInd(1)+N-1) randVec(vInd(2):vInd(2)+N-1)];
    end
        
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区| 欧美一三区三区四区免费在线看| 五月婷婷综合激情| 亚洲视频一区二区在线| 国产色综合久久| 久久亚洲免费视频| 精品精品国产高清a毛片牛牛| 日韩欧美综合在线| 精品动漫一区二区三区在线观看| 欧美电影免费提供在线观看| 日韩一区二区免费高清| 欧美一级淫片007| 26uuu久久天堂性欧美| 欧美成人国产一区二区| 国产午夜精品福利| 国产精品短视频| 亚洲精品国产高清久久伦理二区| 亚洲黄色性网站| 香蕉av福利精品导航| 亚洲成av人片在线观看无码| 日韩电影免费在线| 精品制服美女久久| 丁香亚洲综合激情啪啪综合| 91在线观看下载| 欧美日本一区二区三区| 日韩欧美一级片| 国产欧美视频一区二区三区| 亚洲欧美日韩国产手机在线| 男男gaygay亚洲| 国产传媒欧美日韩成人| 色8久久人人97超碰香蕉987| 日韩欧美国产一区在线观看| 国产精品久久久久婷婷| 丝袜a∨在线一区二区三区不卡| 久久99精品国产.久久久久久| 成人永久看片免费视频天堂| 欧美日本免费一区二区三区| 久久婷婷久久一区二区三区| 亚洲激情男女视频| 99久久er热在这里只有精品15 | 中文字幕在线播放不卡一区| 亚洲美女偷拍久久| 久久99久久精品| 色悠悠久久综合| 久久久亚洲高清| 亚洲成人第一页| 成人免费视频视频在线观看免费| 欧美伦理影视网| 中文字幕在线一区二区三区| 日本不卡一区二区| 色婷婷久久99综合精品jk白丝| 精品国产青草久久久久福利| 亚洲第一在线综合网站| 高清国产午夜精品久久久久久| 欧美日韩第一区日日骚| 综合色中文字幕| 国产精品91一区二区| 欧美一区二区三区婷婷月色| 一区二区三区欧美久久| 国产不卡一区视频| 日韩精品一区二区三区在线| 五月天亚洲精品| 色婷婷国产精品| 亚洲图片欧美激情| 成人午夜在线播放| 久久一夜天堂av一区二区三区| 三级影片在线观看欧美日韩一区二区| 99久久99久久精品国产片果冻| 久久精品一区二区| 国产在线视频不卡二| 日韩情涩欧美日韩视频| 欧美aⅴ一区二区三区视频| 精品视频在线视频| 亚洲国产一区二区三区 | 亚洲精品成人精品456| 日本韩国精品在线| 中文字幕中文字幕一区二区| 国产成人精品免费视频网站| 国产欧美一区二区三区在线老狼| 国产真实乱子伦精品视频| 精品成人在线观看| 国产九色精品成人porny| 久久精品视频一区| 国产成人精品亚洲日本在线桃色| 国产午夜亚洲精品不卡| 国产凹凸在线观看一区二区| 国产精品国产三级国产三级人妇 | 久久疯狂做爰流白浆xx| 欧美一区二区观看视频| 韩国视频一区二区| 亚洲国产精品精华液ab| 99精品久久久久久| 亚洲精品videosex极品| 欧美区一区二区三区| 奇米精品一区二区三区四区 | 欧美一区二区三区婷婷月色| 奇米精品一区二区三区在线观看一 | 美日韩一区二区| 欧美成人午夜电影| 成人午夜电影小说| 亚洲色图制服诱惑| 欧美日韩精品欧美日韩精品一| 日本不卡的三区四区五区| 欧美精品一区二区三区蜜臀| 91女厕偷拍女厕偷拍高清| 狠狠色综合播放一区二区| 久久蜜桃一区二区| 在线精品观看国产| 久久超碰97人人做人人爱| 国产精品国产三级国产| 精品视频资源站| 国产成人一级电影| 亚洲午夜成aⅴ人片| 久久久国产一区二区三区四区小说 | av在线不卡网| 亚洲国产精品麻豆| 久久蜜臀精品av| 欧美三级日韩三级| 国产精品乡下勾搭老头1| 亚洲国产乱码最新视频 | 一区二区久久久久| 欧美mv和日韩mv的网站| 色综合视频在线观看| 久久se精品一区二区| 一区二区在线免费观看| 久久久噜噜噜久噜久久综合| 欧美蜜桃一区二区三区| av网站一区二区三区| 国产一区二区在线观看视频| 亚洲444eee在线观看| 国产精品久久影院| 精品国产a毛片| 欧美日韩成人激情| 91久久精品一区二区三区| 国产suv一区二区三区88区| 日韩精品乱码av一区二区| 专区另类欧美日韩| 中文字幕+乱码+中文字幕一区| 日韩一区二区精品| 欧美欧美欧美欧美首页| 色天天综合久久久久综合片| 99综合电影在线视频| 高清不卡一区二区| 国产乱码精品一品二品| 精品一区二区三区在线观看| 日韩va亚洲va欧美va久久| 亚洲一级在线观看| 一区二区三区高清在线| 亚洲女爱视频在线| 亚洲色图清纯唯美| 免费av成人在线| 亚洲天天做日日做天天谢日日欢| 国产清纯白嫩初高生在线观看91 | 国产精品嫩草影院av蜜臀| 精品福利一二区| 精品久久一区二区三区| 精品久久久久久亚洲综合网| 欧美一区二区三区四区五区| 欧美一区二区视频在线观看 | 国产欧美日韩综合精品一区二区| 久久伊人蜜桃av一区二区| 久久久久久电影| 中文字幕欧美三区| 国产精品网友自拍| 国产精品国产三级国产aⅴ无密码| 国产精品色哟哟网站| 国产精品国产成人国产三级 | 午夜久久久久久久久久一区二区| 亚洲精品成人悠悠色影视| 亚洲成av人在线观看| 日韩电影在线看| 国产一级精品在线| 岛国一区二区在线观看| 色婷婷亚洲综合| 欧美久久久久久久久中文字幕| 日韩欧美国产高清| 国产欧美日韩精品一区| 亚洲靠逼com| 久久精品国产99久久6| 国产成人亚洲精品狼色在线| 91女厕偷拍女厕偷拍高清| 精品视频全国免费看| 精品福利视频一区二区三区| 亚洲视频一区二区免费在线观看| 亚洲高清在线精品| 国产精品一区久久久久| 91福利小视频| 欧美精品一区二区三区久久久| 国产精品美女久久福利网站| 亚洲最新视频在线观看| 韩国女主播成人在线观看| 91免费视频观看| 日韩三级视频中文字幕| 亚洲色图一区二区三区| 久久66热re国产| 欧美午夜精品理论片a级按摩| 2022国产精品视频| 亚洲国产精品一区二区久久恐怖片 | 久久婷婷国产综合国色天香| 依依成人精品视频|