matlab产生时间数组以月为单位_信号处理工具箱:各种信号的产生

信号是现代工程中经常处理的对象,在通信、雷达等领域有大量的应用。在MATLAB中,信号处理工具箱可以看做工具集合,包含波形产生与处理、数字和模拟滤波器设计、信号模型以及频谱分析、时频分析等多个常见功能。

244ef48557d6bbc0dc89530f84f74640.png

在MATLAB信号工具箱中,提供了多种产生信号的函数。利用这些函数,可以很方便地产生多种常见信号。

锯齿波和三角波

sawtooth(t):产生周期为2π,峰值为-1和1,采样时刻由向量t指定,此时为锯齿波。

sawtooth(t, xmax):产生三角波,xmax指定最大值出现的地方,其取值在0到1之间。当t由0增大到xmax*2π时,函数值由-1增大到1,当t由xmax*2π增大到2π时,函数值由1减小到-1。当xmax=0.5时,上升段斜率与下降段斜率相等,三角波对称,如下面简单例子。

T = 5*(1/50);

Fs = 100e3;

dt = 1/Fs;

t = 0:dt:T-dt;

Xmax = 0.5;

st = sawtooth(2*pi*50*t,Xmax);

plot(t,st)

grid on

fd088997a60bb1fb4529e2cebe1ad58b.png

非周期三角/矩形脉冲

tripuls(t) :产生一个连续的、非周期的、单位高度的三角脉冲的采样,采样时刻由数组t指定。缺省情况下,产生的是宽度为1的非对称三角脉冲。

tripuls(t,W) :产生一个宽度为W的三角脉冲。

tripuls(t,W,S) :S为三角波的斜度。参数S满足-11,当S=0时,产生一个对称的三角波。

rectpuls(t, W) 产生一个连续的、非周期的、单位高度的矩形脉冲的采样,宽度为W。

t = -T:1/Fs:T-Ts;

W = 0.04;

S = 0;

st_tri = tripuls(t,W,S);

figure;

plot(t,st_tri)

grid on

t = -T:1/Fs:T-Ts;

W = 0.04;

st_rect = rectpuls(t,W);

figure;

plot(t,st_rect)

grid on

af3faf9f7a7f066053da2472f399e666.png

周期sinc波形

在MATLAB中,用户可以使用diric命令实现周期sinc函数,又被称为Dirichlet 函数。Dirichlet函数的定义是d(x)=sin(N*x/2)./(N*sin(x/2))。diric函数的调用格式为:Y=diric(x,N)。

函数返回大小与x相同的矩阵,元素为Dirichlet 函数值。N必须为正整数,该函数将0到2π等间隔的分成N等份。

x=-6*pi:0.01:6*pi;

y1=abs(diric(x,10));

y2=diric(x,50);

figure;

plot(x,y1,'-k',x,y2,'-r','LineWidth',2)

grid on

0192aed18234e4bd83bc246195aa199c.png

高斯调幅正弦波

在信息处理中,使载波的振幅按调制信号改变的方式叫调幅。高斯调幅正弦波是比较常见的调幅正弦波,通过高斯函数变换将正弦波的幅度进行调整。gauspuls是MATLAB信号处理工具箱提供的信号发生函数,其调用格式如下:

yi=gauspuls(t,Fc,BW):函数返回最大幅值为1的高斯函数调幅的正弦波的采样,其中心频率为Fc,相对带宽为BW,时间由数组t给定。BW 的值必须大于0。默认情况下,Fc=1000Hz,BW=0.5。

yi=gauspuls(t,Fc,BW,BWR) BWR:指定可选的频带边缘处的参考水平,以相对于正常信号峰值下降了-BWR(单位为dB)为边界的频带,其相对带宽为100*BW%。默认情况下BWR的值为-6dB。其他参数设置同上。BWR的值为负值。

tc=gauspuls(‘cutoff’,Fc,BW,BWR,TPE):返回包络相对包络峰值下降TPE(单位为dB)时的时间tc。默认情况下,TPE 的值是-60dB。其他参数设置同上。TPE 的值必须是负值。

Fc = 5e3;

BW = 0.6;

tc = gauspuls('cutoff',Fc,BW,[],-40);

t = -tc:dt:tc;

yi = gauspuls(t,Fc,BW);

figure;

plot(t,yi)

grid on

36d4f322736a89e7838995c4ae2799ae.png

调频信号

和调幅类似,使载波的频率按调制信号改变的方式被称为调频。调波后的频率变化由调制信号决定,同时调波的振幅保持不变。从波形上看,调频波像被压缩得不均匀的弹簧。在MATLAB中,chirp 函数可以获得在设定频率范围内的按照设定方式进行的扫频信号。chirp函数调用格式如下。

Y=chirp(t,F0,T1,F1):产生一个频率随时间线性变化信号的采样,其时间轴的设置由数组t定义。时刻0的瞬时频率为F0;时刻T1的瞬时频率为F1。默认情况下,F0=0Hz,T1=1,F1=100Hz。

Y=chirp(t,F0,T1,F1,’method’):method指定改变扫频的方法。可用的方法有‘linear’(线性调频)、‘quadratic’(二次调频)、‘logarithmic’(对数调频)。默认时为‘linear’,其他参数意义同上。

Y=chirp(t,F0,T1,F1,’method’,PHI):PHI 指定信号的初始相位,默认时PHI 的值为0,其他参数意义同上。

d70d074dd0c405d6f664a9afdb2933bd.png

高斯分布随机序列

在信号处理中,标准正态分布随机序列是重要序列。该序列可以由randn函数生成,randn函数的调用格式为:Y=randn(M,N):将生成M 行N 列的均值方差为1的标准正态分布的随机数序列。

M = 150;

D = 5;

Y = M+sqrt(D)*randn(1,10000);

M1 = mean(Y)

D1 = var(Y)

x=140:0.1:160;

figure;

hist(Y,x)

grid on

7bc01b99869cf6673819fedcbf3f4cec.png

需要本文Matlab代码的可给“雷达通信电子战”发送“190610”或者直接点击“阅读原文”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值