文章目录
- 前言
- 一、MATLAB仿真代码
- 二、仿真结果画图
前言
高斯脉冲在通信中是很重要的调制符号波形,本文使用MATLAB生成高斯脉冲,并使用FFT变换给出其频谱。
一、MATLAB仿真代码
代码如下:
% 信号参数
fs = 100; % 采样率(Hz)
t = -0.5:1/fs:0.5; % 时间向量,101个值% 高斯脉冲
mu = 0;
sigma = 0.1;
gauss = (1/(4*sqrt(2*pi)*sigma)) * exp(-(t-mu).^2/(2*(sigma^2)));% 绘制脉冲时域图形
figure()
plot(t,gauss,'LineWidth',1.5)
grid on
% title('高斯脉冲')
title(['高斯脉冲(mu=',num2str(mu),',sigma=',num2str(sigma),')'])
xlabel('t/s')
ylabel('gauss(t)')%% 高斯脉冲的频谱
% 时域序列的长度扩展
L = length(gauss);
N = 2^nextpow2(L);% 对矩形脉冲进行FFT转换为频域表示
X = fft(gauss,N);% 定义频域的频率刻度,并绘制幅度频谱
P2 = abs(X/N);
Y = fftshift(P2);
f = (-N/2:N/2-1)*(fs/N);figure()
plot(f,Y,'LineWidth',1.5)
grid on
% title('高斯脉冲的频谱');
title(['高斯脉冲的频谱(mu=',num2str(mu),',sigma=',num2str(sigma),')'])
xlabel('频率(Hz)')
ylabel('频谱幅度|P(f)|')
二、仿真结果画图
高斯脉冲的时域波形图:
高斯脉冲的频谱(0频分量在中心的双边谱):