freqs, times, spectrogram = signal.spectrogram(time_series)
时间: 2023-10-16 16:11:24 浏览: 52
这行代码使用了SciPy库中的signal模块中的spectrogram函数,用于计算信号的短时功率谱密度,并将结果返回给三个变量:freqs、times和spectrogram。
其中,freqs表示频率轴上的数值,times表示时间轴上的数值,而spectrogram则是一个二维数组,表示频率和时间上的功率谱密度值。可以用这些数据来进行信号处理和分析。
相关问题
所以我只需要将adjusted_fft_frames = mag_frames * np.exp(1j * 2 * np.pi * pitch_freqs_smoothed[:, np.newaxis] * freqs[np.newaxis, :])这段代码替换成pitch_freqs_smoothed = pitch_freqs_smoothed[:, np.newaxis]pitch_freqs_smoothed = np.tile(pitch_freqs_smoothed, (1, mag_frames.shape[1]))adjusted_fft_frames = mag_frames * np.exp(1j * 2 * np.pi * pitch_freqs_smoothed * freqs[np.newaxis, :])就行了吗
是的,你可以将原来的代码替换为新的代码,但是需要注意一下 `freqs` 数组的长度是否正确,以确保可以正确进行广播操作。同时,也需要确保 `pitch_freqs_smoothed` 被正确地转换为 `(198, 882)` 的形状。
完整的代码修改如下:
```
freqs = np.fft.rfftfreq(n_fft, d=1.0/sr)
pitch_freqs_smoothed = pitch_freqs_smoothed[:, np.newaxis]
pitch_freqs_smoothed = np.tile(pitch_freqs_smoothed, (1, mag_frames.shape[1]))
adjusted_fft_frames = mag_frames * np.exp(1j * 2 * np.pi * pitch_freqs_smoothed * freqs[np.newaxis, :])
```
这个修改后的代码会将 `pitch_freqs_smoothed` 转换为一个形状为 `(198, 882)` 的数组,然后使用广播机制将其与 `freqs` 相乘,得到一个形状为 `(198, 882)` 的新的振幅谱矩阵 `adjusted_fft_frames`。
我的代码中原先有freqs = np.fft.fftfreq(frame_length)[:frame_length // 2 + 1]这段代码修改为freqs = np.fft.rfftfreq(n_fft, d=1.0/sr),我是需要修改这段代码,还是在这段代码后再加上freqs = np.fft.rfftfreq(n_fft, d=1.0/sr)
你需要将原来的 `freqs = np.fft.fftfreq(frame_length)[:frame_length // 2 + 1]` 代码替换为新的 `freqs = np.fft.rfftfreq(n_fft, d=1.0/sr)` 代码,因为你采用的是实数FFT,只有一半的频率分量有意义,因此需要使用 `np.fft.rfftfreq` 函数来生成频率分量序列。如果你在原来的代码后面再加上 `freqs = np.fft.rfftfreq(n_fft, d=1.0/sr)`,则会得到一个长度为 `n_fft // 2 + 1` 的频率分量序列,而不是你期望的长度为 `frame_length // 2 + 1` 的序列。
因此,你需要将原来的代码修改为:
```
freqs = np.fft.rfftfreq(n_fft, d=1.0/sr)
```
这个新的代码会生成一个长度为 `n_fft // 2 + 1` 的频率分量序列,包含了实数FFT的所有有意义的频率分量。
相关推荐
![](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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)