本文主要是介绍20、matlab信号波形生成:狄利克雷函数、高斯脉冲和高斯脉冲序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、狄利克雷函数生成波形diric()函数
语法:y = diric(x,n) 返回n次的狄利克雷函数对输入数组x的元素求值。
1)diric()函数
代码
x = linspace(-2*pi,2*pi,301);%定义x取值
d6 = diric(x,6);
d7 = diric(x,7);
subplot(2,1,1)
plot(x,d6)
ylabel('n= 6')
title('狄利克雷函数')
subplot(2,1,2)
plot(x/pi,d7)
ylabel('n= 7')
视图效果
2)周期和非周期Sinc函数
代码
xm = 8;
x = linspace(-xm,xm,1001)';
n= 6;
yd = diric(x*pi,n);
ys = sinc(n*x/2)./sinc(x/2);
ys(~mod(x,2)) = (-1).^(x(~mod(x,2))/2*(n-1));
subplot(2,1,1)
plot(x,yd)
title('D_6(x*pi)')
subplot(2,1,2)
plot(x,ys)
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:拖尾脉冲包络电平产生高斯射频脉冲
代码
tc = gauspuls('cutoff',50e3,0.6,[],-40);
t = -tc : 1e-7 : tc;
[yi,yq,ye] = gauspuls(t,50e3,0.6);
plot(t,yi,t,yq,t,ye)
legend('同相高斯脉冲','正交高斯脉冲','射频信号包络')
视图效果
3、高斯脉冲gmonopuls()
语法
语法1:y = gmonopuls(t,fc) 返回中心频率为fc的单位振幅高斯单脉冲在阵列t中指示的时间点的样本。
语法2:tc = gmonopuls('cutoff',fc) 返回脉冲的最大振幅和最小振幅之间的持续时间。
参数
t:时间 fc:中心频率 y:单脉冲 tc:时间差
1)高斯单脉冲
代码
fc = 1e9;
fs = 150e9;
tc = gmonopuls('cutoff',fc);
t = -2*tc:1/fs:2*tc;
y = gmonopuls(t,fc);
sg = 1/(2*pi*fc);
ys = exp(1/2)*t/sg.*exp(-(t/sg).^2/2);%单脉冲方程
plot(t,y,t,ys,'p')
legend('高斯单脉冲','单脉冲方程')
视图效果
2)高斯脉冲序列
代码
fc = 1e9;
fs = 150e9;
tc = gmonopuls('cutoff',fc);
t = -2*tc:1/fs:2*tc;
y = gmonopuls(t,fc);
sg = 1/(2*pi*fc);
ys = exp(1/2)*t/sg.*exp(-(t/sg).^2/2);%单脉冲方程
plot(t,y,t,ys,'p')
%高斯单脉冲脉冲序列
fc = 1e9;
fs = 150e9;
tc = gmonopuls('cutoff',fc);
c = ((-5:5)*7.5+2.5)*1e-9;%采样间隔
t = -150*tc:1/fs:150*tc;%时间轴设置
gp = pulstran(t,c,'gmonopuls',fc);%脉冲序列
plot(t,gp)
legend('高斯单脉冲序列')
视图效果
这篇关于20、matlab信号波形生成:狄利克雷函数、高斯脉冲和高斯脉冲序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!