文章目录
- 前言
- 一、MATLAB仿真代码
- 二、仿真结果画图
前言
矩形脉冲在通信信号中是很重要的调制符号波形,在理论分析中也是及其重要的基础波形,本文使用MATLAB生成矩形脉冲,并使用FFT变换给出其频谱。
一、MATLAB仿真代码
代码如下:
clear
clc
close all
%% 生成矩形脉冲
fs = 1000; % 采样率
T = 0.2; % 矩形脉冲宽度,单位s
t = -0.5 : 1/fs : 0.5; % 时基
t2 = t;
rect_pulse = (abs(t)<T/2) + 0.5*(abs(t)==T/2); % 矩形脉冲函数
% rect_pulse = rectpuls(t,T); % 使用MATLAB库函数
figure()
plot(t,rect_pulse,'LineWidth',1.5);
grid on
title(['矩形脉冲(脉冲宽度=', num2str(T),' s)']);
xlabel('时间/s');
ylabel('幅度');
ylim([-0.1 1.1]); % 限制y轴范围,以便更清楚地看到矩形脉冲
%% 矩形脉冲的频谱
L = length(rect_pulse);
N = 2^nextpow2(L);
% 对矩形脉冲进行FFT转换为频域表示
X = fft(rect_pulse,N);
% 定义频域的频率刻度,并绘制幅度频谱
P2 = abs(X/N); % 计算双边幅度频谱P2
Y = fftshift(P2);
f = (-N/2:N/2-1)*(fs/N);
figure()
plot(f,Y,'LineWidth',1.5)
grid on
title('矩形脉冲的频谱');
xlabel('频率(Hz)')
ylabel('频谱幅度|P(f)|')
xlim([-100 100]); % 限制x轴范围,以便更清楚地看到主要的频谱分量
二、仿真结果画图
矩形脉冲的时域波形图:
矩形脉冲的频谱(0频分量在中心的双边谱):
高斯脉冲见:
(39)MATLAB生成高斯脉冲及其频谱
零为中心的功率谱的绘制方法见:
(42)MATLAB中使用fftshift绘制以零为中心的功率谱