高斯脉冲的绘制
高斯脉冲的函数为:
g
(
t
)
=
1
2
π
σ
e
−
t
2
2
σ
2
g(t)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{t^2}{2\sigma^2}}
g(t)=2πσ1e−2σ2t2
它来源于符合正太分布的变量的概率密度函数。
在matlab中绘制:
代码:
%% 高斯脉冲绘制
%%huasir @shenzhen
%%2022 4.6 16:00
%%
fs=80; %sampling frequency
sigma=0.1;
t=-0.5:1/fs:0.5; %time base
variance=sigma^2;
x=1/(sqrt(2*pi*variance))*(exp(-t.^2/(2*variance)));
plot(t,x,'b');
title(['Gaussian Pulse \sigma=', num2str(sigma),'s']);
xlabel('Time(s)');
ylabel('Amplitude');
高斯脉冲串
高斯脉冲串就是有很多个高斯脉冲构成脉冲串。它们的幅值和时延各不相同,Matlab编程如下:
%% 高斯脉冲串的绘制
%%huasir @shenzhen
%%2022 4.6 18:00
%% 生成单个高斯脉冲并绘制
fs=1000; %sampling frequency
t=-0.5:1/fs:0.5; %time base
sigma = 0.01; %标准差
variance = sigma^2; %方差
x=1/(sqrt(2*pi*variance))*(exp(-t.^2/(2*variance))); %单个高斯脉冲
subplot(2,1,1)
plot(t,x,'b');
title(['Gaussian Pulse \sigma=', num2str(sigma),'s']);
xlabel('Time(s)');
ylabel('Amplitude');
%% 生成高斯脉冲流并绘制
t_simu = 1; %仿真时长为1s
t_base = 0: 1/fs: 1-1/fs;
numStream = 5; %脉冲数
tk = [0.1 0.2 0.5 0.7 0.9]; %脉冲时延
ak = [-0.2 0.2 0.7 0.8 0.6]; %脉冲幅度
N = length(t_base); %向量长度
gaussStream = zeros(1,N);
for i = 1: numStream
gaussStream = gaussStream + ak(i)*(exp(-(t_base-tk(i)).^2/(2*variance))); %单个高斯脉冲
end
subplot(2,1,2)
plot(t_base,gaussStream,'b');
title(['Gaussian Pulse Stream with location=', num2str(tk)]);
xlabel('Time(s)');
ylabel('Amplitude');
绘制的单个脉冲及脉冲流如下:
顺便说一下,当高斯脉冲流的基波已知的时候,它的平移及压缩后所形成的脉冲流是一种参数化信号,所谓的参数化是指它仅仅用有限个参数便可以完完全全的描述该信号。例如上图中,5个脉冲的幅值和时延便可以描述这个信号。