• 20、matlab信号波形生成:狄利克雷函数、高斯脉冲和高斯脉冲序列


    1、狄利克雷函数生成波形diric()函数

    语法:y = diric(x,n) 返回n次的狄利克雷函数对输入数组x的元素求值。

    1)diric()函数

    代码

    1. x = linspace(-2*pi,2*pi,301);%定义x取值
    2. d6 = diric(x,6);
    3. d7 = diric(x,7);
    4. subplot(2,1,1)
    5. plot(x,d6)
    6. ylabel('n= 6')
    7. title('狄利克雷函数')
    8. subplot(2,1,2)
    9. plot(x/pi,d7)
    10. ylabel('n= 7')

    视图效果 

    2)周期和非周期Sinc函数

    代码

    1. xm = 8;
    2. x = linspace(-xm,xm,1001)';
    3. n= 6;
    4. yd = diric(x*pi,n);
    5. ys = sinc(n*x/2)./sinc(x/2);
    6. ys(~mod(x,2)) = (-1).^(x(~mod(x,2))/2*(n-1));
    7. subplot(2,1,1)
    8. plot(x,yd)
    9. title('D_6(x*pi)')
    10. subplot(2,1,2)
    11. plot(x,ys)
    12. title('sinc(6*x/2) / sinc(x/2)')

    视图效果

     2、高斯调制正弦射频脉冲gauspuls()

    语法

    语法1:yi = gauspuls(t,fc,bw,bwr) 返回一个单位振幅的同相高斯射频脉冲,其分数带宽为bw,相对于归一化信号峰值在bwr dB水平上测量。
    语法2:[yi,yq,ye]= gauspuls()  返回射频信号包络。

    语法3:tc = gauspuls('cutoff',fc,bw,bwr,tpe) 返回尾随脉冲包络相对于峰值包络幅值降至dB类型以下的截止时间tc。

    参数

    t:时间

    fc:中心频率

    bw:部分带宽

     bwr:分数带宽参考电平              

    yi:同相高斯脉冲 yq:正交高斯脉冲 

    ye:射频信号包络   

    ct:截止时间

    tpe:拖尾脉冲包络电平产生高斯射频脉冲

    代码

    1. tc = gauspuls('cutoff',50e3,0.6,[],-40);
    2. t = -tc : 1e-7 : tc;
    3. [yi,yq,ye] = gauspuls(t,50e3,0.6);
    4. plot(t,yi,t,yq,t,ye)
    5. legend('同相高斯脉冲','正交高斯脉冲','射频信号包络')

    视图效果

     3、高斯脉冲gmonopuls()

    语法

    语法1:y = gmonopuls(t,fc) 返回中心频率为fc的单位振幅高斯单脉冲在阵列t中指示的时间点的样本。
    语法2:tc = gmonopuls('cutoff',fc)  返回脉冲的最大振幅和最小振幅之间的持续时间。

    参数

    t:时间      fc:中心频率      y:单脉冲    tc:时间差

    1)高斯单脉冲

    代码

    1. fc = 1e9;
    2. fs = 150e9;
    3. tc = gmonopuls('cutoff',fc);
    4. t = -2*tc:1/fs:2*tc;
    5. y = gmonopuls(t,fc);
    6. sg = 1/(2*pi*fc);
    7. ys = exp(1/2)*t/sg.*exp(-(t/sg).^2/2);%单脉冲方程
    8. plot(t,y,t,ys,'p')
    9. legend('高斯单脉冲','单脉冲方程')

    视图效果 

    2)高斯脉冲序列

    代码

    1. fc = 1e9;
    2. fs = 150e9;
    3. tc = gmonopuls('cutoff',fc);
    4. t = -2*tc:1/fs:2*tc;
    5. y = gmonopuls(t,fc);
    6. sg = 1/(2*pi*fc);
    7. ys = exp(1/2)*t/sg.*exp(-(t/sg).^2/2);%单脉冲方程
    8. plot(t,y,t,ys,'p')
    9. %高斯单脉冲脉冲序列
    10. fc = 1e9;
    11. fs = 150e9;
    12. tc = gmonopuls('cutoff',fc);
    13. c = ((-5:5)*7.5+2.5)*1e-9;%采样间隔
    14. t = -150*tc:1/fs:150*tc;%时间轴设置
    15. gp = pulstran(t,c,'gmonopuls',fc);%脉冲序列
    16. plot(t,gp)
    17. legend('高斯单脉冲序列')

    视图效果

  • 相关阅读:
    C++泛型编程:函数模板 和 类模板详细介绍。
    第三阶段第一章——PySpark实战
    AttributeError: ‘Manager‘ object has no attribute ‘_Manager__name‘
    你也许不再需要使用 CSS Media Queries(媒体查询)了
    使用xml、ftl模板生成word文档,下载到浏览器或指定位置
    算法练习15——加油站
    单目视频估计人体姿态+形状【注意力机制--连续性+相关性】含6数据集及补充材料
    应用程序生成器:App Builder 2023
    ssm学生成绩管理
    20天深度复习JavaSE的详细笔记(十九)——单元测试、反射、注解
  • 原文地址:https://blog.csdn.net/XU157303764/article/details/139396891