main1.m
上传用户:ange8833
上传日期:2020-09-16
资源大小:2k
文件大小:2k
源码类别:

传真(Fax)编程

开发平台:

Matlab

  1. %本题目中载频为900M
  2. %多普勒频移计算公式为fm = v*fc/c
  3. close all
  4. clear all                                %清零
  5. fm = [16,45,80,120];                %四组不同的多普勒频移,对应车速为19.2km/h,54km/h,96km/h,144km/h
  6. fm_0=50;                                 %固定多普勒频移  对应车速为60km/h
  7. M = 50000;                               %仿真点数
  8. fs = 5000;                              %时间抽样频率
  9. ts = 1/fs;                               %最小时间间隔
  10. N0 = [6,12,120,480];                  %四组不同的振荡器数目
  11. N0_0 = 64;                              %固定振荡器数
  12. tt=[ts:ts*5:M*ts*5];                          %时间长度
  13. S = ['b','k','r','g'];                   %绘图颜色及方式
  14.    
  15. for i = 1:4;                             %绘制不同振荡器数目条件下的自相关函数曲线,多普勒频移固定
  16.     RayLeigh = Jakes(fm_0,fs,M,N0(i));        %调用仿真器
  17.     [RayLeigh_dt,dt] = xcorr(RayLeigh,'unbiased');%生成自相关函数
  18.     hold on
  19.     figure(1);
  20.     plot(dt*ts*5,RayLeigh_dt,S(i),'LineWidth',1.5);
  21.     grid on
  22.     xlabel('tao(s)');
  23.     ylabel('R(tao)');
  24.     title('不同振荡器数目条件下的自相关函数曲线');
  25.     axis([0,0.3,-1.5,2.2]);
  26. end
  27. for j = 1:4;                              %绘制不同车速条件下的自相关函数曲线,振荡器数目固定
  28.     RayLeigh = Jakes(fm(j),fs,M,N0_0);         %调用仿真器
  29.     [RayLeigh_dt,dt] = xcorr(RayLeigh,'unbiased');%生成自相关函数,计算的是无偏估计
  30.     figure(2);
  31.     hold on
  32.     plot(dt*ts*5,RayLeigh_dt,S(j),'LineWidth',1.5);
  33.     grid on
  34.     xlabel('tao(s)');
  35.     ylabel('R(tao)');
  36.     title('不同车速条件下的自相关函数曲线');
  37.     axis([0,0.3,-1,2.2]);
  38.                                            %包络时间分布曲线
  39.     RayLeighAmp=abs(RayLeigh);                       %求包络幅度
  40.     figure(3);    
  41.     hold on
  42.     plot(tt,20*log10(RayLeighAmp),S(j),'LineWidth',1.5); %幅值取对数
  43.     grid on
  44.     xlabel('时间(s)');
  45.     ylabel('幅度(db)');
  46.     title('不同车速条件下的包络时间分布曲线');
  47.     axis([0,0.3,-28,15]);
  48.     
  49.                                                 %相位时间分布曲线
  50.     RayLeighPhase=angle(RayLeigh);                        %取相位向量
  51.     figure(4);
  52.     hold on
  53.     plot(tt,RayLeighPhase,S(j),'LineWidth',1.5);
  54.     grid on
  55.     xlabel('时间(s)');
  56.     ylabel('相位(rad)');
  57.     title('不同车速条件下的相位时间分布曲线');
  58.     axis([0,0.3,-4,4]);
  59. end