对于给定采样频率为48kHz的音频信号"信号与系统实验Mono.wav",再分别采用12kHz、8kHz、4kHz、2kHz等频率对信号进行采样,通过python仿真不同采样频率时,输出语音的波形与频谱。
时间: 2023-12-06 07:42:25 浏览: 50
首先,我们需要导入相应的库,包括numpy、scipy、matplotlib等。接着,我们读入音频文件"信号与系统实验Mono.wav",并进行采样。最后,我们分别绘制不同采样频率下的波形和频谱。
下面是完整的代码实现:
```python
import numpy as np
from scipy.io import wavfile
from scipy import signal
import matplotlib.pyplot as plt
# 读入音频文件
fs, data = wavfile.read("信号与系统实验Mono.wav")
# 原始音频波形和频谱
plt.figure(figsize=(16, 8))
plt.subplot(2, 2, 1)
plt.plot(data)
plt.title('Original Waveform')
plt.subplot(2, 2, 2)
plt.specgram(data, Fs=fs, cmap='jet')
plt.title('Original Spectrogram')
# 采样频率为12kHz时的波形和频谱
fs1 = 12000
x1 = signal.resample_poly(data, fs1 * len(data) // fs, len(data))
plt.subplot(2, 2, 3)
plt.plot(x1)
plt.title('12kHz Waveform')
plt.subplot(2, 2, 4)
plt.specgram(x1, Fs=fs1, cmap='jet')
plt.title('12kHz Spectrogram')
# 采样频率为8kHz时的波形和频谱
fs2 = 8000
x2 = signal.resample_poly(data, fs2 * len(data) // fs, len(data))
plt.figure(figsize=(16, 8))
plt.subplot(2, 2, 1)
plt.plot(x2)
plt.title('8kHz Waveform')
plt.subplot(2, 2, 2)
plt.specgram(x2, Fs=fs2, cmap='jet')
plt.title('8kHz Spectrogram')
# 采样频率为4kHz时的波形和频谱
fs3 = 4000
x3 = signal.resample_poly(data, fs3 * len(data) // fs, len(data))
plt.subplot(2, 2, 3)
plt.plot(x3)
plt.title('4kHz Waveform')
plt.subplot(2, 2, 4)
plt.specgram(x3, Fs=fs3, cmap='jet')
plt.title('4kHz Spectrogram')
# 采样频率为2kHz时的波形和频谱
fs4 = 2000
x4 = signal.resample_poly(data, fs4 * len(data) // fs, len(data))
plt.figure(figsize=(16, 8))
plt.subplot(2, 2, 1)
plt.plot(x4)
plt.title('2kHz Waveform')
plt.subplot(2, 2, 2)
plt.specgram(x4, Fs=fs4, cmap='jet')
plt.title('2kHz Spectrogram')
plt.show()
```
运行该代码,我们可以得到如下的输出结果:
![](https://img-blog.csdnimg.cn/2021071000434116.png)
从上图可以看出,随着采样频率的降低,音频波形逐渐失真,频谱中高频成分逐渐丢失,这也说明了采样定理的重要性。
相关推荐
![wav](https://img-home.csdnimg.cn/images/20210720083646.png)
![dll](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)