目录
- 基本介绍
- 程序设计
- 参考资料
- 获取方式
基本介绍
时频转换 | Matlab梅尔频谱图Mel spectrogram一维数据转二维图像方法
程序设计
clear
clc
% close all
load 130.mat % 导入数据
x = X130_DE_time; % 本数据只选择5120个点进行分析
x = x(1:120000,:);
fs = 12000 ; % 数据采样频率
output_folder = './figures'; % 指定输出频谱文件夹路径(此处默认为本代码文件夹)
%% 滑动窗口划分样本
window_length = 40000; % 窗口长度
step_size = 40000; % 步长num_samples = floor((length(x) - window_length) / step_size) + 1; % 样本数量% 初始化样本矩阵
samples = zeros(window_length, num_samples);% 滑动窗口划分数据样本
for i = 1:num_samplesstart_index = (i - 1) * step_size + 1; % 窗口起始索引end_index = start_index + window_length - 1; % 窗口结束索引% 判断是否滑动至最后一个窗口if end_index <= length(x)samples(:, i) = x(start_index:end_index);else% 忽略最后一个窗口break;end
end% 显示样本矩阵的大小
fprintf('样本矩阵的大小:[%d, %d]\n', size(samples));
%% 对划分的每个样本进行梅尔频谱图计算,并将图像保存在指定文件夹下
[m,n] = size(samples);
for i = 1:n
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718
获取方式
点击文章底部联系博主