滤波器分类

-3dB带宽定义和理解
-3dB带宽指幅值等于最大值的二分之根号二倍时对应的频带宽度。

幅值的平方即为功率,平方后变为1/2倍,在对数坐标中就是-3dB的位置了,也就是半功率点了,对应的带宽就是功率在减少至其一半以前的频带宽度,表示在该带宽内集中了一半的功率。

3dB–指的是比峰值功率小3dB(就是峰值的50%)的频谱范围的带宽;

6dB–同上,6dB对应的是峰值功率的25%。

FIR滤波器和IIR滤波器

https://blog.csdn.net/qq_61673686/article/details/127311983

重点研究
### 基于小波变换方法的汽车碰撞信号分析 – 百度文库

https://wenku.baidu.com/view/cc48900f79563c1ec5da71fd.html?_wkts_=1675736615546

### 汽车碰撞与安全 – Page 105 – Google Books Result

汽车碰撞传感器
https://www.jishulink.com/post/402740

卡尔曼滤波
https://baike.baidu.com/item/%E5%8D%A1%E5%B0%94%E6%9B%BC%E6%BB%A4%E6%B3%A2/5485372?fr=aladdin

低通滤波器之所以能够滤除高频信号,就是因为低通滤波器对高频信号的增益很小,而对低频信号的增益很大。
以最简单的无源RC低通滤波器为例。
对于任意频率信号,R的阻值是恒定的,而C的容抗与信号频率有关,信号频率越低,阻抗越大,反之,越小!
R和C串联,从C的两端取电压,相当于一个分压器,这个分压器与普通电阻分压器不同的是,C的容抗是随频率变化而变化的。频率越低,C的容抗越大,输出的电压越高(最大不超过输入电压);频率越高,C的容抗越小,输出的电压越低。
这就是低通滤波器的原理,也就是低通滤波器能够滤除高频信号的原因。

滤波电路常用于滤去整流输出电压中的纹波,一般由电抗元件组成,如在负载电阻两端并联电容器C,或与负载串联电感器L,以及由电容,电感组合而成的各种复式滤波电路。其中最简单的滤波电路如下:

临界频率计算公式:

常用的滤波电路有无源滤波和有源滤波两大类。若滤波电路元件仅由无源元件(电阻、电容、电感)组成,则称为无源滤波电路。无源滤波的主要形式有电容滤波、电感滤波和复式滤波(包括倒L型、LC滤波、LCπ型滤波和RCπ型滤波等)。若滤波电路不仅有无源元件,还有有源元件(双极型管、单极型管、集成运放)组成,则称为有源滤波电路。有源滤波的主要形式是有源RC滤波,也被称作电子滤波器

卡尔曼滤波器算法被我一直用来做差分混响,因为这个算法能捣鼓出比较自然的声场。

实际上它的原理还是很简单的,利用衰减函数模型作为矩阵,而矩阵的幂就代表递归,最后可以递推出一类对数差分方程,而差分方程的最优解可以利用协方差来预测。

而巴特沃斯滤波器好像是一类具有震荡性质的偏导数,这种算法我只知道不适合用来搞混响,也就是我认为没什么用。

滤波器是什么?

滤波器是一种选频装置,可以滤除干扰噪声或进行频谱分析,主要有由电容、电感和电阻三个部分组成,在日常生活中有着非常广泛的应用。

滤波器的种类有哪些?

1、按所处理的信号可以分类为模拟滤波器、数字滤波器。

2、按所通过信号的频段可以分类为低通滤波器、高通滤波器、带通滤波器、带阻滤波器、全通滤波器。

3、按所采用的元器件可以分类为无源滤波器、有源滤波器。

4、按安放位置的不同可以分类为板上滤波器、面板滤波器。

有关滤波器的分类,按所处理的信号分为模拟滤波器和数字滤波器两种,滤波器还可以按信号处理的方式分类、按元件分类、按通频带分类、按通带滤波特性分类等。

一、滤波器的分类

按所处理的信号分为模拟滤波器和数字滤波器两种。

按所通过信号的频段分为低通、高通、带通和带阻滤波器四种。

1、低通滤波器:它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声;

2、高通滤波器:它允许信号中的高频分量通过,抑制低频或直流分量;

3、带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声;

4、带阻滤波器:它抑制一定频段内的信号,允许该频段以外的信号通过。

按所采用的元器件分为无源和有源滤波器两种。

如图:

滤波器的功能与分类

二、滤波器的种类

信号处理中各种滤波器的种类的区别?低通高通带阻与传说中的巴特沃兹椭圆等的区别?

按元件分类,滤波器可分为:有源滤波器、无源滤波器、陶瓷滤波器、晶体滤波器、机械滤波器、锁相环滤波器、开关电容滤波器等。

按信号处理的方式分类,滤波器可分为:模拟滤波器、数字滤波器。

按通频带分类,滤波器可分为:低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。

除此之外,还有一些特殊滤波器,如满足一定频响特性、相移特性的特殊滤波器,例如,线性相移滤波器、时延滤波器、音响中的计杈网络滤波器、电视机中的中放声表面波滤波器等。

按通频带分类,有源滤波器可分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)等。

按通带滤波特性分类,有源滤波器可分为:最大平坦型(巴特沃思型)滤波器、等波纹型(切比雪夫型)滤波器、线性相移型(贝塞尔型)滤波器等。

按运放电路的构成分类,有源滤波器可分为:无限增益单反馈环型滤波器、无限增益多反馈环型滤波器、压控电源型滤波器、负阻变换器型滤波器、回转器型滤波器等。

三、滤波器的功能与分类

电路功能:让某一频段的信号顺利通过,滤除其它频段的信号,所以它实际上是一种选频电路。

在微弱信号测量中,滤波器是一个非常重要的电路,模拟滤波器几乎在各种信号处理中必不可少。

下图中信号是经过低通滤波器后的情况。

滤波器的分类1

经过低通滤波器的处理,大大地提高了电路中的信/噪比。

滤波器的种类:从大类分:数字滤波器,模拟滤波器,本课程介绍模拟滤波器。

模拟滤波器:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)等四种。

它们的频率特性:

滤波器的功能与分类

以上都是理想的频率特性,在实际情况中,将采取各方面的技术和措施,使实际的频率特性向理想化接近。

有源滤波器的分析过程和方法:利用电路原理中的节点电流法→电压增益的传递函数→s用代入求增益的复数表达式→画出频率特性→求滤波电路的各项指标:通带增益、滤波器的截止频率(中心频率)、品质因素、带宽等。

汽车安全相关

机构

CATARC

中国汽车技术研究中心有限公司(China Automotive Technology&Research Center Co. Ltd),简称中汽中心(_CATARC_),是1985年根据国家对汽车行业管理的需要,经国家科委批准成立的科研院所,现隶属于国务院国有资产监督管理委员会。

HPT是高压试验(High-Pressure Test)的简称,高压电气试验具体就是试验设备绝缘性能的好坏以及设备的运行状态等等。试验项目具体包括吸收比和极化指数的试验、介质损耗和电容试验、直流泄漏电流试验、空载损耗和负载损耗试验、直流电阻试验等等。

C-IASI

中国保险汽车安全指数

1979年,NHTSA开始了自己的碰撞安全试验,并制定出相应的评定程序“NCAP”。试验中, 汽车以时速35英里(约时速56公里)撞击障壁。由于提高了碰撞速度,开始出现试验不及格的汽车。时速增加5英里看似无关紧要,但碰撞能量增加了近40%。

<!–autointro–>

《富有的习惯》笔记

230620
我想和一个优秀的人一起变得更优秀

我怎么做

我有什么大目标?
晚上的时间去养成好习惯,时间别浪费了
正面激励,假想成已经是现实
每天早上看行业资讯
找到触发坏习惯的情绪或者事件并且杜绝他们

发展多渠道收入
勇敢一点,并且愿意承担一定的风险,无论是感情上还是财务上
五点起床,如果做不到就加入早起的圈子,定一个必须要做的事情。
识别出坏习惯用好习惯取代它并记录下来
优化早起习惯
优化日间习惯
优化晚间习惯

在我的调查中,44%的成功人士每天比上班点提前至少3小
时起床。他们利用早晨的这段时间读书学习、锻炼身体、钻研自己的目
标、爱好或副业、计划一天的日程安排、写作、学习夜校课程等。充分
利用每天清晨的这段时间,就像给自己增加了一份投资,所以请花些时
间为自己拟定一份早间富有的习惯跟进表

centos8安装python3.10

说明:我买的是腾讯云的轻量服务器,选的centos8,但没有预装的python,所以才下载python3,如果有python2的,注意原始/usr/bin/下的调用

1、安装python3.10所需的依赖

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make

python判断新定义的文件名是否合法

’/‘有中英文的区别吗

是的,中英文的 ‘/‘ 是不同的字符,它们的 Unicode 编码也不同。

英文的 ‘/‘ 字符的 Unicode 编码是 0x002F,用于表示路径分隔符或 URL 中的路径分隔符。

而中文的 ‘/‘ 字符是全角字符,通常在输入法中通过 Shift + 7 或 Shift + 斜杠等方式输入,它的 Unicode 编码是 0xFF0F。

由于中英文的 ‘/‘ 字符是不同的字符,因此在处理文件名时,需要分别处理这两种情况。如果你使用的是 Python 的字符串处理函数,例如 replace() 函数,需要注意它只能替换字符串中的某个子串,如果要替换中文的 ‘/‘,需要使用对应的 Unicode 编码进行替换。

例如,如果你要将中文的 ‘/‘ 替换为英文的 ‘-‘,可以使用以下代码:

filename = filename.replace('\uFF0F', '/')
filename = filename.replace('/', '-')

第一行代码将字符串中的中文 ‘/‘ 替换为英文 ‘/‘,第二行代码将英文的 ‘/‘ 替换为 ‘-‘。注意,中文的 ‘/‘ 在字符串中需要使用 Unicode 编码来表示,Unicode 编码可以使用 \uXXXX 的形式来表示,其中 XXXX 是该字符的 Unicode 编码值的十六进制表示。

python判断新定义的文件名是否合法

要判断新定义的文件名是否合法,你需要知道哪些字符是不允许出现在文件名中的。在Windows操作系统中,以下字符是不允许出现在文件名中的:

“`
\ / : * ? “ < ><!–autointro–>

wagtail安装putput

~ # cd /app/wagtailenv/
/app/wagtailenv # pip install putput
Collecting putput
wagtail start mysiteputput
cd mysiteputput
python manage.py migrate
python manage.py createsuperuser

django没有停止命令,所以用ps找出后台进程

/app/wagtailenv/mysiteputput # ps
PID   USER     TIME  COMMAND
1 root      0:00 python manage.py runserver 0.0.0.0:8000
129 root      0:00 sh
279 root     17h17 /usr/local/bin/python manage.py runserver 0.0.0.0:8000
352 root      0:00 sh
391 root      0:00 ps
/app/wagtailenv/mysiteputput # kill 1
/app/wagtailenv/mysiteputput # ps
PID   USER     TIME  COMMAND
1 root      0:00 python manage.py runserver 0.0.0.0:8000
129 root      0:00 sh
352 root      0:00 sh
392 root      0:00 ps

kill相应的进程就停止服务了。

在yml文件中加入

    stdin_open: true
    tty: true
    entrypoint: ["sh"] # 执行 sh

之后就不会因为没有任务而退出容器了 。

Linux下virtualenv虚拟环境工具的使用

/app/wagtailenv # source ./bin/activate
(wagtailenv) /app/wagtailenv # which pip
/app/wagtailenv/bin/pip
(wagtailenv) /app/wagtailenv #
deactivate #退出虚拟环境

Windows文件管理器替代品total commander

multi commander 和xyplorer。而且前者开源免费,你也可以试试。

Directory Opus 相当好用。反正界面操作比 Xyplorer 好用。

这类工具,windows中 Total Comamnder 显然是王者,老大的地位无人能及。如果非要免费的, 那么 Double Commander 是首选,在功能上是最接近 Total Commander 的了,而且跨平台, mac/Linux都支持(因此也成了我的默认文件管理工具了,TC只是在windows中备用而已)。

作为一个反复学习TC而不入门的用户来说,表示没资格评价这个软件。最早的时候在DOS下用过NC,WIN下也用过QDIR,Freecommander等,后来转向了Multicommander(免费)

https://zhuanlan.zhihu.com/p/363160603

Total Commander 这款软件使用体验如何,有哪些优点和不足?

https://www.zhihu.com/question/21616258

https://www.jb51.net/softjc/769961.html

bat脚本写法

**隐藏运行软件,cmd隐藏运行,bat隐藏运行,命令窗口隐藏运行

让bat隐藏运行需要用vbs文件才能实现,
方法一:新建一个文本文档,写入
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "d:yy.bat",0
另存为vbs文件即可,其中d:yy.bat是你需要运行的bat文件的路径。

方法二:用文本文档打开bat文件,在开头处写入
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
这个方法运行bat,还是闪了一下。

1.在windows命令行后台运行某个命令:

在执行的命令前加上start /b,比如start /b run.bat。就相当于Linux下的run.sh &

2.开机启动bat
  新建test.bat, 文件内容如下:

  set ws=WScript.CreateObject("WScript.Shell") 
  ws.Run "D: est.bat /start",0

  保存,然后放到Windows启动目录下,就可以了。**

cython编译Python为c语言

第一种办法:

  • 执行命令:cython test.py
  • 结果:会在同一目录下面生成test.c文件
  • 执行命令: gcc -c -fPIC -I /usr/include/python2.7 test.c
  • 结果: 在同一目录下面生成test.o文件
  • 执行命令: gcc -shared test.o -c test.so
  • 结果: 在同一目录下面生成test.so文件

最后,生成的test.so文件就是需要的文件

第二种办法:

[setup.py]
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = "test",
ext_modules = cythonize("test.py")
)
  • 执行命令: python setup.py build_ext –inplace

第二种办法是对单独文件进行编译,下面介绍一种批量的办法:

#-*- coding:utf-8 -*-_
import os
import re
from distutils.core import Extension, setup
from Cython.Build import cythonize
from Cython.Compiler import Options
# __file__ 含有魔术变量的应当排除,Cython虽有个编译参数,但只能设置静态。
exclude_so = ['__init__.py', 'run.py']
sources = 'backend'
extensions = []
remove_files = []
for source,dirnames,files in os.walk(sources):
for dirpath, foldernames, filenames in os.walk(source):
if 'test' in dirpath:
break;
for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames):
file_path = os.path.join(dirpath, filename)
if filename not in exclude_so:
extensions.append(
Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"],
extra_link_args = ["-Wl,--strip-all"]))
remove_files.append(file_path[:-3]+'.py')
remove_files.append(file_path[:-3]+'.pyc')
Options.docstrings = False
compiler_directives = {'optimize.unpack_method_calls': False, 'always_allow_keywords': True}
setup(
# cythonize的exclude全路径匹配,不灵活,不如在上一步排除。
ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build',
language_level = 2, compiler_directives = compiler_directives))
# 删除py和pyc文件
for remove_file in remove_files:
if os.path.exists(remove_file):
os.remove(remove_file)
  • 执行命令: python setup.py build_ext –inplace
  • 结果:最后生成.so文件,删除中间结果。

重点提一下,在编译flask代码时,遇到问题,报错:参数不够(大体意思是这样,错误未截图),在compiler_directives中添加: {always_allow_keywords:True}

正如我先前所说,你需要像这样运行Cython编译器。


cython <cython_file><!--autointro-->