(12)配置Notch滤波器(一)

文章目录

前言

1 陷波滤波器设置概述

2 启用陷波滤波器

3 陷波滤波器控制类型

4 确定陷波滤波器的中心频率

5 滤除的谐波数量

6 检查陷波滤波器的有效性

7 双层/三层陷波


前言

ArduPilot 支持两个陷波滤波器,对于电机来说,其滤波频率可以与电机的旋转频率相联系,对于直升机来说,可以与转子速度相联系,并提供主频率及其谐波的陷波。


正如在减震(Vibration Damping)主题下所讨论的,管理 ArduPilot 自动驾驶仪的振动对于产生可预测的飞机控制是非常重要的。通常情况下,自动驾驶仪的安装利用内部或外部的机械振动阻尼,以消除最严重的振动。然而,机械阻尼只能到此为止,必须使用软件滤波来消除更多噪音。

自动驾驶仪来说,振动噪声看起来就像任何其他干扰(如风、湍流、控制链路滑动等),自动驾驶仪必须对其进行补偿,以便控制飞机。这妨碍了姿态控制环路的最佳调整,降低了性能。

ArduPilot 对噪声提供了两种过滤机制。加速计信号的低通滤波器,由 INS_ACCEL_FILTER 控制;陀螺仪信号的低通滤波器,由 INS_GYRO_FILTER 控制;陀螺仪信号的谐波陷波滤波器。

正如在测量振动(Measuring Vibration)部分所讨论的,基本上有两类噪声/振动:在陀螺仪/加速器采样带宽内产生的噪声,以及在带宽内出现的高于这些频率的噪声,它们会导致"倾斜"。别名噪声必须通过改善安装或框架刚性从源头上消除,但上述过滤器可以处理另一种。

对于多旋翼飞机和 QuadPlanes,几乎所有的振动都来自于电机的旋转频率。对于直升机和固定翼,振动与主旋翼/螺旋桨速度有关。

ArduPilot 支持两个陷波滤波器,对于电机来说,其滤波频率可以与电机的旋转频率相联系,对于直升机来说,可以与转子速度相联系,并提供主频率及其谐波的陷波。

虽然低通滤波器可以有效地减少这种噪音的影响,但有低频设置点会产生大量的相位滞后,因此减少了振荡发生前的积极调优程度,导致调优效果较差。

对于基于陀螺仪的速率控制器,这降低了它们对快速干扰的反应能力。如果陀螺仪的低通滤波器可以设置得更高,那么引起的相位滞后就会更低,调优就会更积极。但这允许更多的噪音和振动,有效地抵消了这种增益。谐波陷波滤波器允许针对电机产生的噪音,允许设置更高频率的低通,并进行更严格的调优。

1 陷波滤波器设置概述

1. 选择如何控制陷波中心频率。请参阅陷波滤波器控制类型(Notch Filter Control Types)。

2. 如果使用静态陷波(通常不推荐)或基于油门(throttle-based)的控制,则需要确定主要噪声频率,以便设置陷波。请参见确定陷波滤波器中心频率(Determining Notch Filter Center Frequency)。

3. 启用陷波滤波器(Enable the notch filter)。

4. 使用 INS_HNTCH_MODE 设置所选的中心频率控制方式。然后,通过阅读本节"陷波滤波器控制类型"(Notch Filter Control Types)中链接的相关页面,设置其相关参数。

5. 在启用陷波后进行试飞和日志分析后(请参阅检查陷波滤波器的效果)(Checking Notch Filter Effectiveness),可以调整高次谐波滤波器的数量和位置(number and placement of higher harmonic filters implemented can be adjusted),使用多陷波选项(multi-notch options),甚至可以配置二次谐波陷波集(INS_HNTC2_ENABLE),以提高降噪效果。基于网络的"滤波器审查工具"(Filter Review Tool)可用于根据试飞日志进行参数更改试验,以确定最佳配置,而无需进行反复试飞。

2 启用陷波滤波器

3 陷波滤波器控制类型

4 确定陷波滤波器的中心频率

篇幅过多,另起一篇介绍:

5 滤除的谐波数量

6 检查陷波滤波器的有效性

7 双层/三层陷波

篇幅过多,另起一篇介绍: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592139.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言-自定义类型:结构体,枚举,联合

目录 一、结构体1.1 结构体变量的定义和初始化1.2 结构体内存对齐1.3 修改默认对齐数1.4 结构体传参 二、位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 三、枚举3.1 枚举类型的定义3.2 枚举的优点 四、联合(共用体)4.1 联合…

c#数据库: 9.删除和添加新字段/数据更新

先把原来数据表的sexy字段删除,然后重新在添加字段sexy,如果添加成功,sexy列的随机内容会更新.原数据表如下: using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Linq; using System.…

Linux理解文件操作 文件描述符fd 理解重定向 dup2 缓冲区 C语言实现自己的shell

文章目录 前言一、文件相关概念与操作1.1 open()1.2 close()1.3 write()1.4 read()1.4 写入的时候先清空文件内容再写入1.5 追加(a && a) 二、文件描述符2.1 文件描述符 fd 0 1 2 的理解2.2 FILE结构体:的源代码 三、深入理解文件描述…

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘

jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘ 原因是notebook新版本没有notebook.auth 直接输入以下命令即可设置密码 jupyter notebook password

k8s调度原理以及自定义调度器

kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernete…

Linux---软硬链接

软链接 我们先学习一下怎样创建软链接文件,指令格式为:ln -s 被链接的文件 生成的链接文件名 我们可以这样记忆:ln是link的简称,s是soft的简称。 我们在下面的图片中就是给test文件生成了一个软链接mytest: 我们来解…

数据结构篇其四---栈:后进先出的魔法世界

前言 栈的学习难度非常简单,前提是如果你学过顺序表和单链表的话,我直接说我的观点了,栈就是有限制的顺序表和单链表。 栈只允许一端进行插入删除。栈去除了各种情况复杂的插入删除,只允许一端插入删除的特性,这一种数…

5月4(信息差)

🎄 HDMI ARC国产双精度浮点dsp杜比数码7.1声道解码AC3/dts/AAC环绕声光纤、同轴、USB输入解码板KC33C 🌍 国铁集团回应高铁票价将上涨 https://finance.eastmoney.com/a/202405043066422773.html ✨ 源代码管理平台GitLab发布人工智能编程助手DuoCha…

【数据结构】您有一份KMP算法教学已到账,请注意查收!!!

KMP算法 导读一、KMP算法1.1 重要术语1.2 部分匹配值1.3 部分匹配值的作用 二、KMP算法原理2.1 从指针的角度理解KMP算法2.2 从匹配的角度理解KMP算法2.3 小结 三、KMP算法的实现3.1 next数组3.2 next数组的计算3.2.1 通过PM值计算next数组3.2.2 通过移位模拟计算next数组3.2.3…

Web Storage 笔记11 网页数据存储

相关内容:Web Storage基本概念、localStorage、sessionStorage、登录注销实例、…… 在制作网页时会希望记录一些信息,例如用户登录状态、计数器或者小游戏等,但是又不希望用到数据库,就可以利用WebStorage技术将数据存储在用户浏…

Kubelet containerd 管理命令 ctr常用操作

镜像常用操作 1. 拉取镜像 ctr images pull docker.io/library/nginx:alpine 指定平台 --all-platforms:所有平台(amd64 、arm、386 、ppc64le 等),不加的话下载当前平台架构 --platform:指定linux/amd64平台 ctr …

鸿蒙开发仿咸鱼TabBar

鸿蒙开发自定义TabBar,实现tabBar 上中间按钮凸起效果 第一步、定义数据模型 export default class TabItemData{defaultIcon: ResourceselectedIcon: Resourcetitle: stringisMiddle: booleanconstructor(defaultIcon:Resource, selectedIcon:Resource, title:st…

并发-启动线程的正确姿势

目录 启动线程的正确姿势 Start方法原理解读 Run方法原理解读 常见问题 启动线程的正确姿势 start()与run()方法的比较测试结果可以看出,runnable.run()方法是由main线程执行的,而要子线程执行就一定要先调用start()启动新线程去执行run方法并不能成…

【数据结构】第四讲:双向链表

目录 一、链表的分类 二、双向链表的结构及实现 1.带头双向链表的结构 2.创建节点 3.初始化 4.尾插 5.打印 6.头插 7.尾删 8.头删 9.在pos位置之后插入数据 10.删除pos节点 11.查找 12.销毁 个人主页:深情秋刀鱼-CSDN博客 数据结构专栏:数…

Mac M2 本地下载 Xinference

想要在Mac M2 上部署一个本地的模型。看到了Xinference 这个工具 一、Xorbits Inference 是什么 Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于大语言模型(LLM),语音识别模型&…

激动,五四青年节,拿下YashanDB认证YCP

📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、My…

中间件之搜索和数据分析组件Elasticsearch

一、概述 1.1介绍 The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视 化。Elaticsearch,简称为 ES&a…

CUDA和显卡驱动

1.安装显卡驱动 https://www.nvidia.com/download/index.aspx?langen-us 由于我的显卡是RTX4060,因此先选择RTX40系列,然后选择RTX4060,进行安装 2.查看显卡对应的CUDA CUDA安装地址:https://developer.nvidia.com/cuda-toolk…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-12-蜂鸣器

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

复旦微JFM7VX690计算后IO接口模块,用于雷达信号处理、数据处理等需要高速密集计算的应用场景

计算后IO接口模块 1 介绍 1.1 产品概述 计算后IO接口模块主要由复旦微JFM7VX690型FPGA、国产以太网收发器YT8521、国产BMC芯片GD32F450、国产CPLD芯片EF2L45BG256B、国产内存颗粒等主要芯片组成,采用标准6U VPX尺寸设计。 本计算后IO接口模块主要用于雷达信号处…