Как адаптировать ось X к аудио / акустике с помощью Pyplot? - PullRequest
0 голосов
/ 06 мая 2018

При построении кривых АЧХ:

import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
w, h = signal.freqz([1, -1])
x = w * 44100 * 1.0 / (2 * np.pi)
y = 20 * np.log10(abs(h))

затем plt.plot(x, y) и plt.semilogx(x, y) дают:

image image

но ни у одного из них нет «стандартной оси X, используемой в аудио».

Вопрос: как использовать ось X, обычно используемую в аудиоприложениях? Включает:

  • какая-то логарифмическая ось, но не уверен: действительно ли это нормальная логарифмическая ось (см. Примеры после)?
  • ось от 20 до 20 кГц и отметки ["20", "50", "100", "200", "500", "1K", "2K", "5K", "10K", "20K"]

Вот несколько примеров того, что я имею в виду:

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 06 мая 2018

Тебе нравится?

f, ax = plt.subplots(figsize=(12, 4))
ax.set(xscale="log")
plt.plot(x, y)
plt.grid(which="both", axis='both')
_ = plt.xticks([20,50,100,200,500,1000,2000,5000,10000,20000], 
               ["20", "50", "100", "200", "500", "1K", "2K", "5K", "10K", "20K"])

enter image description here

...