概述
信号是现代工程中经常处理的对象,在通信、雷达等领域有大量的应用。在MATLAB中,信号处理工具箱可以看做工具集合,包含波形产生与处理、数字和模拟滤波器设计、信号模型以及频谱分析、时频分析等多个常见功能。
在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
非周期三角/矩形脉冲
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
周期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
高斯调幅正弦波
在信息处理中,使载波的振幅按调制信号改变的方式叫调幅。高斯调幅正弦波是比较常见的调幅正弦波,通过高斯函数变换将正弦波的幅度进行调整。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
调频信号
和调幅类似,使载波的频率按调制信号改变的方式被称为调频。调波后的频率变化由调制信号决定,同时调波的振幅保持不变。从波形上看,调频波像被压缩得不均匀的弹簧。在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,其他参数意义同上。
高斯分布随机序列
在信号处理中,标准正态分布随机序列是重要序列。该序列可以由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
需要本文Matlab代码的可给“雷达通信电子战”发送“190611”或者直接点击“阅读原文”。
最后
以上就是秀丽大山为你收集整理的matlab生成随机信号序列_信号处理工具箱:基本信号发生器的全部内容,希望文章能够帮你解决matlab生成随机信号序列_信号处理工具箱:基本信号发生器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复