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

📄 radarsim2.m

📁 高频地波雷达完整仿真matlab程序 网上找到的
💻 M
📖 第 1 页 / 共 5 页
字号:
            grMANMADE=grMANMADE*ones(rows,1);            grNa=grNa*ones(rows,1);            semilogx(grDis,grATMO,'--xb',grDis,grGAL,'-.*R',grDis,grMANMADE,':oG',grDis,grNa,'-+k');            xlabel('距离(km)');            ylabel('功率谱密度(dBW)');            legend('ATMO','GAL','MANMADE','OVERALL');        end    case 5  % 地波场强曲线。        grEr=CData.grEr;%         fn=floor((FMAX-FMIN)/FSTEP)+1;%         dn=floor((DMAX-DMIN)/DSTEP)+1;%         axes(handles.axesEr);%         siFreq=log10(siFreq);grDis=log10(grDis);%         x=linspace(min(siFreq),max(siFreq),fn);%         y=linspace(min(grDis),max(grDis),dn);%         [X,Y]=meshgrid(x,y);%         Z=griddata(siFreq,grDis,grEr,X,Y,'cubic');%         mesh(X,Y,Z);        if viewx=='fx'            semilogx(grFreq,grEr,'-+');            xlabel('频率(MHz)');            ylabel('场强(dBuV/m)');        elseif viewx=='dx'            semilogx(grDis,grEr,'-+');            xlabel('距离(km)');            ylabel('场强(dBuV/m)');        end    case 6  % 地波衰减曲线。        grBTL=CData.grBTL;        if viewx=='fx'            semilogx(grFreq,grBTL,'-+');            xlabel('频率(MHz)');            ylabel('衰减(dB)');        elseif viewx=='dx'            semilogx(grDis,grBTL,'-+');            xlabel('距离(km)');            ylabel('衰减(dB)');        end    case 7  % 回波功率曲线。        grPr=CData.grPr;        if viewx=='fx'            semilogx(grFreq,grPr,'-+r');            xlabel('频率(MHz)');            ylabel('功率谱密度(dBW)');        elseif viewx=='dx'            semilogx(grDis,grPr,'-+r');            xlabel('距离(km)');            ylabel('功率谱密度(dBW)');        end    case 8  % 海杂波功率曲线。        grPs=CData.grPs;        if viewx=='fx'            semilogx(grFreq,grPs,'-dc');            xlabel('频率(MHz)');            ylabel('功率谱密度(dBW)');        elseif viewx=='dx'            semilogx(grDis,grPs,'-dc');            xlabel('距离(km)');            ylabel('功率谱密度(dBW)');        end    case 9  % 信噪(干)比曲线。%         grSNR=CData.grSNR;        grSCR=CData.grSCR;        if viewx=='fx'            semilogx(grFreq,grSCR,'-.k');            xlabel('频率(MHz)');            ylabel('信噪比(dB)');%             semilogx(grFreq,grSNR,'-',grFreq,grSCR,'--');        elseif viewx=='dx'            semilogx(grDis,grSCR,'-.k');            xlabel('距离(km)');            ylabel('信噪比(dB)');%             semilogx(grDis,grSNR,'-',grDis,grSCR,'--');        endend% --- Executes on button press in grResultOutput.function grResultOutput_Callback(hObject, eventdata, handles)% hObject    handle Ti grResultOutput (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Input VariablesMparam=evalin('base','Mparam');Eparam=evalin('base','Eparam');CData=evalin('base','CData');FMIN = Mparam.FMin;  % The minimum frequency in MHz.FMAX = Mparam.FMax;  % The maximum frequency in MHz.FSTEP = Mparam.FStep;  % The frequency step.DMIN = Mparam.dmin;  % The minimum range in kilometres.DMAX = Mparam.dmax; % The maximum range in kilometres.DSTEP = Mparam.dstep;  % The range step. See LOGLIN for further explanation.viewx=Eparam.viewx;selc=Eparam.selc;if viewx=='fx'    DMAX=DMIN;elseif viewx=='dx'    FMAX=FMIN;end% fn=floor((FMAX-FMIN)/FSTEP)+1;% dn=floor((DMAX-DMIN)/DSTEP)+1;set(handles.grSelViewY,'Value',1);set(handles.grSelViewY,'String','(无)');fafalse=3;format short g;for level=1:selc    switch level        case 1  % 海浪散射截面计算。            if selc==1                set(handles.grSiCalc,'ForeGroundColor',[1,0,0]);                %set(handles.grSiCalc,'Value',1);                siFreq = Mparam.siFreq;                siU = Mparam.siU;                siUD = Mparam.siUD;                sigemadB=SigmaCalc(siFreq,siU,siUD);                fafalse=0;                CData.sigemadB=sigemadB;                set(handles.grSiCalc,'ForeGroundColor',[0,0,0]);            end        case 2  % 环境噪声计算。            if selc==2|selc==6                set(handles.grPaCalc,'ForeGroundColor',[1,0,0]);                season = Mparam.season;                lat = Mparam.lat;                lon = Mparam.lon;                bw = Mparam.bw;                time = Mparam.time;                [grFreq,grATMO,grGAL,grMANMADE,grNa]=noise(FMIN,FSTEP,FMAX,season,lat,lon,-bw,time);                grDis=DMIN:DSTEP:DMAX;                grDis=grDis';                fafalse=1;                CData.grFreq=grFreq;                CData.grATMO=grATMO;                CData.grGAL=grGAL;                CData.grMANMADE=grMANMADE;                CData.grNa=grNa;                CData.grDis=grDis;                set(handles.grPaCalc,'ForeGroundColor',[0,0,0]);            end        case 3  % 地波场强/衰减计算。            set(handles.grErCalc,'ForeGroundColor',[1,0,0]);            ANS = Mparam.ans;  % The refractivity of the troposphere at the surface of the earth in N-units.            HSCALE = Mparam.hscale;  % The scale height of the troposphere in kilometres.            EPSLON = Mparam.epslon;    % The relative permittivity of the surface of the earth.            SIGMA = Mparam.sigma;   % The conductivity of the surface of the earth in S/m.            HRR = Mparam.hrr; % The receiver height in metres.            HTT = Mparam.htt;   % The transmitter height in metres.            U = Mparam.u;  %The wind speed in m/s.            [grFreq,grDis,grEr,grBTL]=grwave(FMIN,FSTEP,FMAX,DMIN,DSTEP,DMAX,ANS,HSCALE,EPSLON,SIGMA,HRR,HTT,U);            CData.grFreq=grFreq;            CData.grDis=grDis;            CData.grEr=grEr;            CData.grBTL=grBTL;            set(handles.grErCalc,'ForeGroundColor',[0,0,0]);%             viewy=get(handles.grSelViewY,'String')%             set(handles.grSelViewY,'String',{viewy,'地波场强曲线'});        case 4  % 回波功率计算。            set(handles.grPrCalc,'ForeGroundColor',[1,0,0]);            PrSigma = Mparam.PrSigma;  % 雷达目标散射面积。            Ls = Mparam.Ls; % 雷达系统损失。            Po = Mparam.Po; % 发射功率。            Pt = Mparam.Pt; % 峰值发射功率。            Gamma = Mparam.Gamma;   % 发射信号占空比。            Do = Mparam.Do; % 天线增益。            Dt = Mparam.Dt; % 发射天线方向性系数。            Dr = Mparam.Dr; % 接收天线方向性系数。            grPr=[];            grPr1=[];            Er4=[];            Lamda2=9e4*grFreq.^-2;            rows=size(grFreq,1);            progressbar; % 调用自制的进度条            for N=1:rows                Er4(N)=(10^(grEr(N)/20))^4;                grPr1(N)=Er4(N)*Pt*Gamma*Dt*Dr*Lamda2(N)*PrSigma*10^-27/(57600*pi^3*Po^2*Do^2*Ls);                grPr(N)=10*log10(grPr1(N));                progressbar(N/rows); % 更新进度条            end            grPr=grPr';            grPr=roundn(grPr,-2);            CData.grPr=grPr;            set(handles.grPrCalc,'ForeGroundColor',[0,0,0]);%             viewy=get(handles.grSelViewY,'String')%             set(handles.grSelViewY,'String',{viewy,'回波功率曲线'});        case 5  % 海杂波功率谱计算。            set(handles.grPsCalc,'ForeGroundColor',[1,0,0]);            UD = Mparam.UD; % 风向。            DeltaR = Mparam.DeltaR; % 距离分辨率。            ThetaB = Mparam.ThetaB; % 角度分辨率。            OmgB = Mparam.OmgB; % 多普勒频率。            grPs=[];            grPs1=[];            progressbar; % 调用自制的进度条%             for N=1:rows         %dyn            sigema=SigmaCalcA(grFreq(N),U,UD,OmgB);            disp(sigema);%             sigema=0.000001;             %dyn         for N=1:rows;          %dyn%                 grPs(N)=Er4(N)*grPr(N)*Gamma*Dt*Dr*Lamda2(N)*grDis(N)*10^3*DeltaR*ThetaB*sigema*10^-27/(57600*pi^3*Po^2*Do^2*Ls);                grPs1(N)=Er4(N)*Pt*Gamma*Dt*Dr*Lamda2(N)*grDis(N)*10^3*DeltaR*ThetaB*sigema*10^-27/(57600*pi^3*Po^2*Do^2*Ls);                CData.grPs1(N)=grPs1(N);                grPs(N)=10*log10(grPs1(N));                progressbar(N/rows); % 更新进度条            end            grPs=grPs';            CData.grPs(N)=grPs(N);            grPs=roundn(grPs,-2);            CData.grPs=grPs;            set(handles.grPsCalc,'ForeGroundColor',[0,0,0]);        case 6  % 信噪(干)比计算。            set(handles.grSNRCalc,'ForeGroundColor',[1,0,0]);            Ti = Mparam.Ti;    % 雷达信号相参处理时间。            grNoise=[];            grNoise1=[];                    progressbar; % 调用自制的进度条              for N=1:rows                if viewx=='fx'                    grNoise1(N)=10^(grNa(N)/10)+grPs1(N);                elseif viewx=='dx'                    grNoise1(N)=10^(grNa/10)+grPs1(N);                end                                grNoise1(N)=10*log10(grNoise1(N));                progressbar(N/rows); % 更新进度条            end            grNoise1=grNoise1';            CData.grNoise1=grNoise1;%             grNoise=roundn(grNoise,-2);%             grSNR=grPr-(grNa-10*log10(Ti)).*ones(rows,1);%             grSCR=grPr-grPs+10*log10(Ti).*ones(rows,1);%             grSNR=roundn(grSNR,-2);            grSCR=grPr-grNoise1+10*log10(Ti).*ones(rows,1);            grSCR=roundn(grSCR,-2);%             CData.grSNR=grSNR;            CData.grSCR=grSCR;            set(handles.grSNRCalc,'ForeGroundColor',[0,0,0]);    endendswitch selc    case 1        set(handles.grSelViewY,'String',{'选择输出曲线...','海面散射系数曲线'});    case 2        set(handles.grSelViewY,'String',{'选择输出曲线...','环境噪声曲线(Fa)','环境噪声曲线(Pa)'});    case 3        set(handles.grSelViewY,'String',{'选择输出曲线...','地波场强曲线','地波衰减曲线'});    case 4        set(handles.grSelViewY,'String',{'选择输出曲线...','地波场强曲线','地波衰减曲线','回波功率曲线'});    case 5        set(handles.grSelViewY,'String',{'选择输出曲线...','地波场强曲线','地波衰减曲线','回波功率曲线','海杂波功率曲线'});    case 6        set(handles.grSelViewY,'String',{'选择输出曲线...','环境噪声曲线(Fa)','环境噪声曲线(Pa)','地波场强曲线','地波衰减曲线','回波功率曲线','海杂波功率曲线','回波信噪比曲线'});endEparam.fafalse=fafalse;assignin('base','Eparam',Eparam);assignin('base','CData',CData);% --- Executes on button press in grGraph.function grGraph_Callback(hObject, eventdata, handles)% hObject    handle to grGraph (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)Eparam=evalin('base','Eparam');set(handles.axesEr,'Visible','on');% 关闭ActiveX控件。if isfield(handles,'spreadsheet') && ishandle(handles.spreadsheet)    delete(handles.spreadsheet);endEparam.graph=0;assignin('base','Eparam',Eparam);% --- Executes on button press in grTable.function grTable_Callback(hObject, eventdata, handles)% hObject    handle to grTable (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)set(handles.axesEr,'Visible','off');Eparam=evalin('base','Eparam');flag=Eparam.graph;if flag==0    Eparam.graph=1;    assignin('base','Eparam',Eparam);    % 获得仿真数据    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    Eparam=evalin('base','Eparam');    CData=evalin('base','CData');    grFreq=CData.grFreq;    grDis=CData.grDis;    viewx=Eparam.viewx;    level=Eparam.level;    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    % 生成ActiveX控件。    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    set(handles.axesEr,'units','pixels');    pos=get(handles.axesEr,'position');    set(handles.axesEr,'units','normalized');    try        handles.spreadsheet = actxcontrol('OWC11.Spreadsheet.11',...            [pos(1)+18 pos(2)+45 pos(3) pos(4)],handles.figure1);    catch        handles.spreadsheet = actxcontrol('OWC11.Spreadsheet.10',...            [pos(1)+18 pos(2)+45 pos(3) pos(4)],handles.figure1);    end    guidata(hObject,handles);    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    % 填充数据    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    switch level        case 2  % 海浪散射截面曲线。        case 3  % 环境噪声曲线(Fa)。            grATMO=CData.grATMO;            grGAL=CData.grGAL;            grMANMADE=CData.grMANMADE;            grNa=CData.grNa;            grATMO2=grATMO+204;            grGAL2=grGAL+204;            grMANMADE2=grMANMADE+204;            grNa2=grNa+204;            M = ['频率(MHz)',num2cell(grFreq');'ATMO',num2cell(grATMO2');...                'GAL',num2cell(grGAL2');'MANMADE',num2cell(grMANMADE2');'OVERALL',num2cell(grNa2')]';	% 数据            FillGrid(handles.spreadsheet,M);    % 写入数据        case 4  % 环境噪声曲线(Fa)。            grATMO=CData.grATMO;            grGAL=CData.grGAL;            grMANMADE=CData.grMANMADE;            grNa=CData.grNa;            M = ['频率(MHz)',num2cell(grFreq');'ATMO(DB,W)',num2cell(grATMO');...                'GAL(DB,W)',num2cell(grGAL');'MANMADE(DB,W)',num2cell(grMANMADE');'OVERALL(DB,W)',num2cell(grNa')]';	% 数据            FillGrid(handles.spreadsheet,M);    % 写入数据        case 5  % 地波场强曲线。            grEr=CData.grEr;            M = ['频率(MHz)',num2cell(grFreq');'距离(KM)',num2cell(grDis');'场强(DB,uV/m)',num2cell(grEr')]';	% 数据            FillGrid(handles.spreadsheet,M);    % 写入数据        case 6  % 地波衰减曲线。            grBTL=CData.grBTL;            M = ['频率(MHz)',num2cell(grFreq');'距离(KM)',num2cell(grDis');'衰减(DB)',num2cell(grBTL')]';	% 数据            FillGrid(handles.spreadsheet,M);    % 写入数据        case 7  % 回波功率曲线。            grPr=CData.grPr;            M = ['频率(MHz)',num2cell(grFreq');'距离(KM)',num2cell(grDis');'功率(DB,W)',num2cell(grPr')]';    % 数据            FillGrid(handles.spreadsheet,M);    % 写入数据        case 8  % 海杂波功率曲线。

⌨️ 快捷键说明

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