import numpy as np import math import csv # 自己回帰モデル def AR(a,e): L = a.size-1 N = e.size x = np.zeros(N) # 信号値 z = np.zeros(L+1) # IIRフィルタの遅延素子(=バッファ) for i in range(N): # 前段フィードバック部 z[0] = e[i] for n in range(1,L+1): z[0] += ? # 後段フィードフォワード部 x[i] = ? # バッファシフト for n in range(L,0,-1): z[n] = ? return x L = 4 # 次数 N = 100 # 信号長 a = np.zeros(L+1) # LPC 係数 e = np.array([ np.random.normal(0,1) for i in range(N)]) # 入力は正規乱数 N(0,1) # LPC 係数を入力 a[1] = ? a[2] = ? a[3] = ? a[4] = ? # 自己回帰モデルにより信号値をセット x = AR(a,e) with open('./AR_1_1_x.csv', 'w') as ff: writer = csv.writer(ff) for i in range(N): writer.writerow([i,x[i]])