频率 音调 对应表 FFT频谱分析原理
| Frequency in hertz (semitones above or below middle C) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Octave→ Note↓ |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| C | 16.352 (−48) | 32.703 (−36) | 65.406 (−24) | 130.81 (−12) | 261.63 (0) | 523.25 (+12) | 1046.5 (+24) | 2093.0 (+36) | 4186.0 (+48) | 8372.0 (+60) |
| C♯/D♭ | 17.324 (−47) | 34.648 (−35) | 69.296 (−23) | 138.59 (−11) | 277.18 (+1) | 554.37 (+13) | 1108.7 (+25) | 2217.5 (+37) | 4434.9 (+49) | 8869.8 (+61) |
| D | 18.354 (−46) | 36.708 (−34) | 73.416 (−22) | 146.83 (−10) | 293.66 (+2) | 587.33 (+14) | 1174.7 (+26) | 2349.3 (+38) | 4698.6 (+50) | 9397.3 (+62) |
| D♯/E♭ | 19.445 (−45) | 38.891 (−33) | 77.782 (−21) | 155.56 (−9) | 311.13 (+3) | 622.25 (+15) | 1244.5 (+27) | 2489.0 (+39) | 4978.0 (+51) | 9956.1 (+63) |
| E | 20.602 (−44) | 41.203 (−32) | 82.407 (−20) | 164.81 (−8) | 329.63 (+4) | 659.26 (+16) | 1318.5 (+28) | 2637.0 (+40) | 5274.0 (+52) | 10548 (+64) |
| F | 21.827 (−43) | 43.654 (−31) | 87.307 (−19) | 174.61 (−7) | 349.23 (+5) | 698.46 (+17) | 1396.9 (+29) | 2793.8 (+41) | 5587.7 (+53) | 11175 (+65) |
| F♯/G♭ | 23.125 (−42) | 46.249 (−30) | 92.499 (−18) | 185.00 (−6) | 369.99 (+6) | 739.99 (+18) | 1480.0 (+30) | 2960.0 (+42) | 5919.9 (+54) | 11840 (+66) |
| G | 24.500 (−41) | 48.999 (−29) | 97.999 (−17) | 196.00 (−5) | 392.00 (+7) | 783.99 (+19) | 1568.0 (+31) | 3136.0 (+43) | 6271.9 (+55) | 12544 (+67) |
| G♯/A♭ | 25.957 (−40) | 51.913 (−28) | 103.83 (−16) | 207.65 (−4) | 415.30 (+8) | 830.61 (+20) | 1661.2 (+32) | 3322.4 (+44) | 6644.9 (+56) | 13290 (+68) |
| A | 27.500 (−39) | 55.000 (−27) | 110.00 (−15) | 220.00 (−3) | 440.00 (+9) | 880.00 (+21) | 1760.0 (+33) | 3520.0 (+45) | 7040.0 (+57) | 14080 (+69) |
| A♯/B♭ | 29.135 (−38) | 58.270 (−26) | 116.54 (−14) | 233.08 (−2) | 466.16 (+10) | 932.33 (+22) | 1864.7 (+34) | 3729.3 (+46) | 7458.6 (+58) | 14917 (+70) |
| B | 30.868 (−37) | 61.735 (−25) | 123.47 (−13) | 246.94 (−1) | 493.88 (+11) | 987.77 (+23) | 1975.5 (+35) | 3951.1 (+47) | 7902.1 (+59) | 15804 (+71) |
FFT频谱分析原理
采样定理:采样频率要大于信号频率的两倍。
N个采样点经过FFT变换后得到N个点的以复数形式记录的FFT结果。
假设采样频率为Fs,采样点数为N。那么FFT运算的结果就是N个复数(或N个点),每一个复数就对应着一个频率值以及该频率信号的幅值和相位。第一个点对应的频率为0Hz(即直流分量),最后一个点N的下一个点对应采样频率Fs。其中任意一个采样点n所代表的信号频率:
Fn=(n-1)*Fs/N。
这表明,频谱分析得到的信号频率最大为(N-1)*Fs/N,对频率的分辨能力是Fs/N。采样频率和采样时间制约着通过FFT运算能分析得到的信号频率上限,同时也限定了分析得到的信号频率的分辨率。
每一个复数的模值对应该点所对应的频率值的幅度特性,具体的定量关系如下:
假设信号由以下周期的原始信号叠加而成:
Y = A1 + A2 Cos (2*PI*ω2*t + φ2 * PI/180) + A3 Cos (2*PI*ω3*t + φ3 * PI/180)
那么,在经过FFT分析后得到的第一个点的模值是A1的N倍,而且只有在FFT结果点对应的频率在ω2,ω3时,其模值才明显放大,在其他频率点,模值接近于0。在这些模值明显放大的点中,除第一个点之外的其它点模值是相应信号幅值的N/2倍。
每个复数的相位就是在该频率值下信号的相位:φ2,φ3。
FFT结果有对称性,通常我们只是用前半部分的结果,也就是小于采样频率一半的结果。同时也只有采样频率一半以内、具有一定幅值的信号频率才是真正的信号频率。
Python实践FFT频谱分析
假如信号S是有1个直流信号和4个周期信号叠加而成,如下公式所列(t为自变量,pi为圆周率值)现要对其进行FFT分析并绘制频谱图。
S = 2.0 + 3.0 * cos(2.0 * pi * 50 * t - pi * 30/180)
+ 1.5 * cos(2.0 * pi * 75 * t + pi * 90/180)
+ 1.0 * cos(2.0 * pi * 150 * t + pi * 120/180)
+ 2.0 * cos(2.0 * pi * 220 * t + pi * 30/180)
我们先使用Python绘制其1秒内的波形图:
import numpy as np
import pylab as pl
import math
# 采样步长
t = [x/1048.0 for x in range(1048)]
# 设计的采样值
y = [2.0 + 3.0 * math.cos(2.0 * math.pi * 50 * t0 - math.pi * 30/180)
+ 1.5 * math.cos(2.0 * math.pi * 75 * t0 + math.pi * 90/180)
+ 1.0 * math.cos(2.0 * math.pi * 150 * t0 + math.pi * 120/180)
+ 2.0 * math.cos(2.0 * math.pi * 220 * t0 + math.pi * 30/180)
for t0 in t ]
pl.plot(t,y)
pl.show()
频率 音调 对应表 FFT频谱分析原理的更多相关文章
- SPSS-多重响应-频率和交叉表案例分析(问卷调查分析)
在10.1休假前,希望跟大家讨论一下SPSS-多重响应--频率和交叉表分析,希望大家能够多提点提点 在云南电信网上营业厅做了一个关于“客户不使用电信3g业务的原因有哪些的问卷调查,问题所示: 这份问卷 ...
- oracle 索引聚簇表的工作原理
作者:Richard-Lui 一:首先介绍一下索引聚簇表的工作原理:(先创建簇,再在簇里创建索引,创建表时指定列的簇类型) 聚簇是指:如果一组表有一些共同的列,则将这样一组表存储在相同的数据库块中:聚 ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
- SQL的多表查询(笛卡尔积原理)
感谢大佬:https://blog.csdn.net/yang5726685/article/details/53538438 MySQL的多表查询(笛卡尔积原理) 先确定数据要用到哪些表. 将多个表 ...
- spring实体类(POJO)参数的赋值(form表单)原理
10.实体类(POJO)参数的赋值(form表单)原理 10.1.原理解析 测试用例 准备好两个实体类 public class Person { private String name; priva ...
- loj #6247. 九个太阳 k次单位根 神仙构造 FFT求和原理
LINK:九个太阳 不可做系列. 构造比较神仙. 考虑FFT的求和原理有 \(\frac{1}{k}\sum_{j=0}^{k-1}(w_k^j)^n=[k|n]\) 带入这道题的式子. 有\(\su ...
- SSDT表函数Hook原理
其实 SSDT Hook 的原理是很简单的,我们可以知道在 SSDT 这个数组中呢,保存了系统服务的地址,比如对于 Ring0 下的 NtQuerySystemInformation 这个系统服务的地 ...
- MySQL的多表查询(笛卡尔积原理)
先确定数据要用到哪些表. 将多个表先通过笛卡尔积变成一个表. 然后去除不符合逻辑的数据(根据两个表的关系去掉). 最后当做是一个虚拟表一样来加上条件即可. 注意:列名最好使用表别名来区别. 笛卡尔积 ...
- thinkphp 隐藏表单验证原理
function savetoken() //创建session('hash') ,然后在魔板中表单中加入隐藏域 getsession('hash'),提交表单验证值是否一样,如果一样验证通过,同时重 ...
- HBase表的架构原理
HBase总体架构图 Hbase Table的基本单位是Region,一个Table相应多个Region.Table层级关系例如以下: Table (HBase table) Re ...
随机推荐
- springboot去除内嵌tomcat
springboot去除内嵌tomcat步骤 在pom文件中加入以下代码 点击查看代码 <!-- 多模块排除内置tomcat --> <dependency> <grou ...
- 【GIT-精讲】从零玩转Git-基础理论
关于版本控制 一.什么是版本控制 版本控制(Version Control Systems)版本控制(Revision control)是一种软件工程技巧 在开发的过程中,确保由不同人所编辑的同一档案 ...
- Ubuntu 命令使用方法
apt-get 用作于deb包 yum作用于tar包(也可以运作于rpm包) 首先用yum list wget检查一下你的虚拟机有没有安装wget,如果安装了下面图中会显示 @dvd ,我的没有安装所 ...
- Feign源码解析5:loadbalancer
背景 经过前面几篇的理解,我们大致梳理清楚了FeignClient的创建.Feign调用的大体流程,本篇会深入Feign调用中涉及的另一个重要组件:loadbalancer,了解loadbalance ...
- GitHub星标1k+的C#/.NET/.NET Core学习、工作、面试指南(让现在的自己不再迷茫✨)
缘起 概述:发现现如今网上关于Java.前端.Android.Golang...等相关技术的学习资料,面试指南一搜都是一大把,但是我们大.NET/C#的相关学习资料,面试指南和一些常见的面试题都是寥寥 ...
- 常用的 SQL
只知道字段名字查找表 SELECT table_name FROM information_schema.columns WHERE column_name = '字段名'; 查看不等于NULL的数据 ...
- .NET技术分享日活动20221022
2022年10月22日下午,个人组织举办了山东地区的第六次.NET技术分享日活动.围绕.NET.低代码Low Code.云原生 Cloud Native.大数据.算法等方向进行创新技术的实践分享. 本 ...
- IoT技术的最后决战!百万大奖究竟花落谁家?
2022年5月25日华为云IoT创新应用开发大赛决赛路演正式打响! 华为云IoT创新应用开发大赛是华为云面向IoT产业领域的重量级精品赛事,自去年11月上线以来,受到了物联网协会.生态伙伴.产业基地等 ...
- 详解MRS CDL整体架构设计
摘要:MRS CDL是FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技 ...
- 如何在iPhone设备中查看崩溃日志
如何在iPhone设备中查看崩溃日志 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么? 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分 ...