使用matlab制作100M赫兹雷克子波时域和频域图
时间: 2024-03-10 09:44:19 浏览: 287
首先,我们需要使用 MATLAB 中的 Signal Processing Toolbox 来制作 100 MHz 的雷克子波。以下是示例代码:
```matlab
% 定义雷克子波参数
f = 100e6; % 雷克子波中心频率(Hz)
tau = 25e-9; % 雷克子波时宽(s)
t = -100e-9:1e-11:100e-9; % 时间范围(s)
% 计算雷克子波
s = (1-t.^2/tau^2).*exp(-t.^2/(2*tau^2)) .* cos(2*pi*f*t);
% 绘制时域波形图
figure;
plot(t, s);
xlabel('Time (s)');
ylabel('Amplitude');
title('Rechteck Pulse Time Domain');
% 绘制频域图
Fs = 1/(t(2)-t(1)); % 采样率
L = length(s); % 信号长度
f = Fs*(0:(L/2))/L; % 频率向量
Y = fft(s); % 傅里叶变换
P2 = abs(Y/L); % 双侧频谱
P1 = P2(1:L/2+1); % 单侧频谱
P1(2:end-1) = 2*P1(2:end-1); % 对单侧频谱进行翻倍
figure;
plot(f, P1);
xlim([0, 500e6]); % 展示 0-500MHz 范围内的频率
xlabel('Frequency (Hz)');
ylabel('Amplitude');
title('Rechteck Pulse Frequency Domain');
```
运行这段代码,即可生成雷克子波的时域和频域图。注意,根据采样率的不同,可能需要调整时间范围 `t` 的步长和频率向量 `f` 的上限,以保证绘制出正确的波形图和频谱图。
阅读全文