import numpy as np import math import csv fs = 22050 N = int(fs*0.01) # デジタルインパルス信号 {1,0,0,0,0,....} x = np.zeros(N) x[0]=1 # インパルス応答 h = np.zeros(N) # 遅延素子(=バッファ) z = np.zeros(255) # カットオフ周波数 [Hz] fc = ? # カットオフ角周波数 [rad/秒] # 円周率は math.pi を使用する wc = ? # IIR フィルタ次数 L = ? # サンプリング間隔 [秒] # サンプリング周波数は fs tau = ? # IIRフィルタ係数 a = np.zeros(L+1) b = np.zeros(L+1) # IIR ローパスまたはハイパスフィルタのフィルタ係数の計算 # DF_3_1 参照 a[1] = ? b[0] = ? b[1] = ? # 1 次 IIR フィルタ # DF_3_1 参照 # ただし出力 y[i] をインパルス応答 h[i] に置き換える for i in range(N): z[0] = ? h[i] = ? z[1] = ? with open('./DF_3_3and8.csv', 'w') as f: writer = csv.writer(f) for i in range(N): writer.writerow([i,h[i]])