1、根据给出的浊音信号,画出浊音信号的时域波形、加矩形窗和加汉明窗后计算短时自相关归一化后的结果。语音的抽样频率为8kHz,窗长为320。MATLAB代码
时间: 2024-03-24 08:42:03 浏览: 86
基于matlab的语音信号的短时时域分析。
以下是MATLAB代码,用于绘制浊音信号的时域波形、加矩形窗和加汉明窗后计算短时自相关归一化后的结果:
```matlab
% 读取浊音信号
[y, fs] = audioread('zhuoyin.wav');
% 设置窗长和帧移
win_length = 320;
hop_size = 160;
% 加矩形窗
rect_win = rectwin(win_length);
y_rect = buffer(y, win_length, hop_size);
y_rect = y_rect .* repmat(rect_win, 1, size(y_rect,2));
% 加汉明窗
ham_win = hamming(win_length);
y_ham = buffer(y, win_length, hop_size);
y_ham = y_ham .* repmat(ham_win, 1, size(y_ham,2));
% 计算短时自相关函数
r_rect = xcorr(y_rect, win_length-1, 'coeff');
r_ham = xcorr(y_ham, win_length-1, 'coeff');
% 绘制时域波形
subplot(3,1,1);
plot(y);
title('原始信号');
% 绘制加矩形窗后的时域波形
subplot(3,1,2);
plot(y_rect);
title('加矩形窗后的信号');
% 绘制加汉明窗后的时域波形
subplot(3,1,3);
plot(y_ham);
title('加汉明窗后的信号');
% 绘制归一化后的短时自相关函数
figure;
subplot(2,1,1);
plot(r_rect(win_length:end, :));
title('加矩形窗后的短时自相关函数');
subplot(2,1,2);
plot(r_ham(win_length:end, :));
title('加汉明窗后的短时自相关函数');
```
请注意,这里假设浊音信号的文件名为“zhuoyin.wav”,您需要将代码中的文件名替换为实际的文件名。
阅读全文