Python 如何在树莓pi上使用scipy实现巴特沃斯带滤波器
您好,我正在尝试运行一个代码来验证RPI4上的acceleromter传感器。似乎我的图书馆没有一个采样率选项,“fs”,因为我不断地得到错误 TypeError:butter()获得意外的关键字参数“fs” 有没有办法解决这个问题Python 如何在树莓pi上使用scipy实现巴特沃斯带滤波器,python,filter,scipy,signals,butterworth,Python,Filter,Scipy,Signals,Butterworth,您好,我正在尝试运行一个代码来验证RPI4上的acceleromter传感器。似乎我的图书馆没有一个采样率选项,“fs”,因为我不断地得到错误 TypeError:butter()获得意外的关键字参数“fs” 有没有办法解决这个问题 def imu_integrator(): ############################# # Main Loop to Integrate IMU ############################# # data_indx = 1 # inde
def imu_integrator():
#############################
# Main Loop to Integrate IMU
#############################
#
data_indx = 1 # index of variable to integrate
dt_stop = 5 # seconds to record and integrate
plt.style.use('ggplot')
plt.ion()
fig,axs = plt.subplots(3,1,figsize=(12,9))
break_bool = False
while True:
#
##################################
# Reading and Printing IMU values
##################################
#
accel_array,t_array = [],[]
print("Starting Data Acquisition")
[axs[ii].clear() for ii in range(0,3)]
t0 = time.time()
loop_bool = False
while True:
try:
ax,ay,az,wx,wy,wz = mpu6050_conv() # read and convert mpu6050 data
mx,my,mz = AK8963_conv() # read and convert AK8963 magnetometer data
t_array.append(time.time()-t0)
data_array = [ax,ay,az,wx,wy,wz,mx,my,mz]
accel_array.append(accel_fit(data_array[data_indx],
*accel_coeffs[data_indx]))
if not loop_bool:
loop_bool = True
print("Start Moving IMU...")
except:
continue
if time.time()-t0>dt_stop:
print("Data Acquisition Stopped")
break
if break_bool:
break
#
##################################
# Signal Filtering
##################################
#
Fs_approx = len(accel_array)/dt_stop
b_filt,a_filt = signal.butter(4,5,'low',fs=Fs_approx)
accel_array = signal.filtfilt(b_filt,a_filt,accel_array)
accel_array = np.multiply(accel_array,9.80665)
您应该至少提供最低级别的(非)工作代码,以便人们可以查看它,试图找出其中的错误…好的,我刚刚用代码编辑了这个问题。问题是,“fs”功能(采样频率数字系统)似乎需要比我的pi中更高的scipy版本。我目前使用的是1.1.0版。()如何升级版本?