以下是完整代码:
% 指定HDF5文件路径
h5FilePath = '你自己的文件路径';
% 读取数据
waveformData = h5read(h5FilePath, '/BEAMXXXX/rxwaveform');
% 简单的背景噪声去除
noiseThreshold = 50; % 设定噪声阈值 waveformData(waveformData < noiseThreshold) = 0;
% 寻找波形峰值
[peaks, locs] = findpeaks(waveformData, 'MinPeakHeight', 100);
% 打印峰值位置和高度
disp('Peak locations and amplitudes:'); % for i = 1:length(peaks) % fprintf('Peak %d: Location = %d, Amplitude = %f\n', i, locs(i), peaks(i)); % end
% 绘制波形数据
figure; plot(waveformData); title('GEDI L1B Waveform Data'); xlabel('Sample Number'); ylabel('Amplitude'); hold on;
% 标记峰值
scatter(locs, peaks, 'filled', 'r'); hold off;
% 将峰值位置和高度保存到CSV文件中
peakData = [locs', peaks']; csvwrite('peak_data.csv', peakData);
结果如下: