录制语言的采样率为5kHz,10kHz,20kHz.语音时长1分钟即可
时间: 2024-02-20 09:58:32 浏览: 109
好的,我会为您演示三组不同采样率下的语音信号的采样、时域波形图和频谱图。请您稍等片刻。
首先,我们需要录制一分钟的语音信号。由于不方便录制现场音频,我将使用MATLAB自带的 `gong` 音频作为演示,您可以将其替换为您自己的音频文件。
以下是MATLAB代码:
```matlab
% 读取音频文件
[x, Fs] = audioread('gong.wav');
% 选取时长为1分钟的语音信号
x = x(1:60*Fs, :);
```
接下来,我们将对三个不同采样率的语音信号进行采样,并绘制出时域波形图和频谱图。
以下是MATLAB代码:
```matlab
% 采样率1:5kHz
Fs1 = 5000;
Ts1 = 1/Fs1;
t1 = 0:Ts1:(length(x)-1)*Ts1;
y1 = x(1:Fs/Fs1:end, :);
% 绘制时域波形图
figure
plot(t1, y1);
title('时域波形图(采样率1:5kHz)');
xlabel('时间 (s)');
ylabel('振幅');
% 绘制频谱图
figure
N1 = length(y1);
f1 = (0:N1-1)/N1*Fs1;
Y1 = fft(y1);
Y1 = abs(Y1(1:N1/2));
plot(f1, Y1);
title('频谱图(采样率1:5kHz)');
xlabel('频率 (Hz)');
ylabel('振幅');
% 采样率2:10kHz
Fs2 = 10000;
Ts2 = 1/Fs2;
t2 = 0:Ts2:(length(x)-1)*Ts2;
y2 = x(1:Fs/Fs2:end, :);
% 绘制时域波形图
figure
plot(t2, y2);
title('时域波形图(采样率2:10kHz)');
xlabel('时间 (s)');
ylabel('振幅');
% 绘制频谱图
figure
N2 = length(y2);
f2 = (0:N2-1)/N2*Fs2;
Y2 = fft(y2);
Y2 = abs(Y2(1:N2/2));
plot(f2, Y2);
title('频谱图(采样率2:10kHz)');
xlabel('频率 (Hz)');
ylabel('振幅');
% 采样率3:20kHz
Fs3 = 20000;
Ts3 = 1/Fs3;
t3 = 0:Ts3:(length(x)-1)*Ts3;
y3 = x(1:Fs/Fs3:end, :);
% 绘制时域波形图
figure
plot(t3, y3);
title('时域波形图(采样率3:20kHz)');
xlabel('时间 (s)');
ylabel('振幅');
% 绘制频谱图
figure
N3 = length(y3);
f3 = (0:N3-1)/N3*Fs3;
Y3 = fft(y3);
Y3 = abs(Y3(1:N3/2));
plot(f3, Y3);
title('频谱图(采样率3:20kHz)');
xlabel('频率 (Hz)');
ylabel('振幅');
```
以上就是三组不同采样率下的语音信号的采样、时域波形图和频谱图。希望能对您有所帮助。
阅读全文