音频处理七:(极坐标转换)
程序设计七:极坐标转换
一:需求分析
在数学中,极坐标系是一个二维坐标系统。该坐标系统中的点由一个夹角和一段相对中心点——极点(相当于我们较为熟知的直角坐标系中的原点)的距离来表示。极坐标系的应用领域十分广泛,包括数学、物理、工程、航海以及机器人领域。在两点间的关系用夹角和距离很容易表示时,极坐标系便显得尤为有用;而在平面直角坐标系中,这样的关系就只能使用三角函数来表示。对于很多类型的曲线,极坐标方程是最简单的表达形式,甚至对于某些曲线来说,只有极坐标方程能够表示。
wavtxtifft -i fft.txt -o polor.txt
二:参考知识
1.本地.txt信息
fft_BAC009S0003W0121.txt BAC009S0003W0121.wav语音进行FFT变换后的取值
2.坐标转换后
fft_polar.txt 是fft_BAC009S0003W0121.txt复数转换为极坐标输出(半径 角度)
三:python代码
求取半径
r=y2+x2r=\sqrt{y^{2}+x^{2}} r=y2+x2
r = np.sqrt(complex_real ** 2 + complex_imag ** 2)
求取角度
tanθ=yx\tan \theta=\frac{y}{x} tanθ=xy
angle = np.arctan(complex_imag / complex_real ) # 默认产生的是弧度
angle = angle * (180 / np.pi) # 弧度转换为角度
完整代码
holiday07.py
import numpy as np
import sys
import getopt
'''
将复数形式的FFT数据转换为极坐标形式
'''
def main(argv):try:opts, args = getopt.getopt(argv, "-h-i:-o:", ["help", "input=", "output="])except getopt.GetoptError:print('将读取到的FFT数据,转换为极坐标形式')print('python holiday07.py -i fft_BAC009S0003W0121.txt -o fft_polar.txt')sys.exit(2)# 处理 返回值options是以元组为元素的列表。for opt, arg in opts:if opt in ("-h", "--help"):print("音频数据转换到极坐标")print('将读取到的FFT数据,转换为极坐标形式')print('python holiday07.py -i fft_BAC009S0003W0121.txt -o fft_polar.txt')sys.exit()elif opt in ("-i", "--input"):input = argelif opt in ("-o", "--output"):output = arg# fft_BAC009S0003W0121.txtcomplex_array = np.loadtxt(input, dtype=np.complex)length = len(complex_array) # 求Nfile = open(output, 'w')for index in range(length):complex_real = np.real(complex_array[index])complex_imag = np.imag(complex_array[index])r = np.sqrt(complex_real ** 2 + complex_imag ** 2)angle = np.arctan(complex_imag / complex_real ) # 默认产生的是弧度angle = angle * (180 / np.pi) # 弧度转换为角度# angle = np.arctan(complex_imag / complex_real )s = '(' + str(r) + ' ' + str(angle) + ')' + '\n'file.write(s)file.close()if __name__ == "__main__":# sys.argv[1:]为要处理的参数列表,sys.argv[0]为脚本名,所以用sys.argv[1:]过滤掉脚本名。main(sys.argv[1:])#python holiday07.py -i fft_BAC009S0003W0121.txt -o fft_polar.txt
四:实现结果
1.请求帮助
python holiday07.py -h
音频数据转换到极坐标
将读取到的FFT数据,转换为极坐标形式
python holiday07.py -i fft_BAC009S0003W0121.txt -o fft_polar.txt
2.极坐标转换
- -i 输入FFT数据
- -o 极坐标数据
python holiday07.py -i fft_BAC009S0003W0121.txt -o fft_polar.txt
五:结果显示及分析
1.结果显示
fft_polar.txt 是fft_BAC009S0003W0121.txt复数转换为极坐标输出(半径 角度)
2.结果比对
根据公式可以反算出原始数据,以其中第二行数据(384.47795984237615 -46.14453170047742)为例
x=ρcosθx=\rho \cos \theta x=ρcosθ
y=ρsinθy=\rho \sin \theta y=ρsinθ
x=384.47795984237615 *cos(-46.14453170047742)=266.38231
y=384.47795984237615*sin(-46.14453170047742)=-277.2431
原始数据为:
音频处理七:(极坐标转换)相关推荐
- ios kb转m_iOS 音频录音和格式转换
1.AVAudioRecorder原生录音-参数设置压缩大小 PCM 即脉冲编码调制 (Pulse Code Modulation).在PCM 过程中,将输入的模拟信号进行采样.量化和编码,用二进制进 ...
- 怎么把英语视频转为音频怎么把MP4转换成mp3
什么是音频文件呢?比如我们经常会听的音乐,现在生活节奏越来越快了,渐渐地我们都没有时间去看视频了,更多的人还是比较喜欢听音乐,这样无论是在走路,还是在地铁上,都可以享受音乐了,还有转载备考四六级的同学 ...
- php如何转换音频格式,音频格式如何在线转换,音频转换软件
现在歌曲.音频的格式是五花八门,我们如果需要将各类歌曲.音频的格式统一,只能采取格式转换的方法,那么音频格式如何转换呢?音频转换软件哪个比较好呢?其实转换音频格式很简单,小编这边就有一个方法可以转换音 ...
- 环形文字拉直的两种方法:极坐标转换和薄板样条插值python代码示例
目录 引言 极坐标转换 方案一: 方案二: 薄板样条插值法 引言 针对环形文字识别,通过这几天调研,一般有两种方法,一是极坐标转换:二是薄板样条插值(TPS)法. 极坐标转换 方案一: 代码来源:Se ...
- 怎么把英语视频转为音频 怎么把MP4转换成mp3
什么是音频文件呢?比如我们经常会听的音乐,现在生活节奏越来越快了,渐渐地我们都没有时间去看视频了,更多的人还是比较喜欢听音乐,这样无论是在走路,还是在地铁上,都可以享受音乐了,还有转载备考四六级的同学 ...
- 音频amr格式怎么转换成mp3?
昨天利用十分钟的功夫做了一个音频amr格式转换成mp3的方法讲解,这个方法一共用了四个步骤来实现将音频amr转换成MP3的操作.amr是手机录音的一种保存格式,特点是体积小,传输速度快,资源消耗量低, ...
- java aud 转mp3_App Store 上的“音频提取器 - mp3音频转换器,音视频转换”
音频提取器,从视频中提取音频,支持多种音频.视频格式转换. - 支持从视频中提取各种音频:mp3, m4a, m4r, ogg, wav, flac, wma, aiff,aac -- - 支持音频剪 ...
- 音频amr格式怎么转换成mp3
大家知道吗?在我们日常工作和生活中接触到的每一种文件都有对应的一种格式,这些不同的格式应用在特定的场景下起发挥最大的优势,为大家提供了很大的方便.很多小伙伴可能还很茫然,我们举个例子说明一下大家就知道 ...
- 音频格式m4a怎么转换成mp3,高效工具分享
音频格式m4a怎么转换成mp3?因为当我们下载或是保存的音频格式为m4a时,当我们需要在汽车或是其他平台播放时,就要将音频格式m4a转换成mp3.这样做可以提高音频文件的兼容性.便携性和可用性,并且可 ...
最新文章
- sklearn中的RandomForestClassifier参数详解
- php中mvc代表什么意思,php mvc是什么意思?
- 洛谷P1169 棋盘制作(悬线法)
- CssVariables_01
- tableau可视化数据分析60讲(八)-tableau计算函数(重点知识)
- blade企业级开发平台
- C4C销售订单中业务伙伴的自动决定功能Partner determination procedure
- 前端学习(1156):let var const的区别
- 从决策树到xgboost(二)
- 数据库工作笔记018---Windows下mysql安装_服务无法启动没有报告解决
- python画50个图-Matplotlib如何绘制多个子图
- 深入浅出 Python Iterators 迭代器
- java 29期淘淘商城_JavaEE大型分布式电商项目 淘淘商城 29期
- 大数据技术原理与应用 第三版 林子雨 期末复习(一)大数据概述 第一章 P2
- cisco privilege权限
- numpy中的统计函数
- tk教主:个人成长_网络成长时:浏览器的故事
- 如何找到winRE.wim (Win10无法重置电脑找 不到恢复环境,需要重装介质)
- 1123: [POI2008]BLO
- 博弈论之海盗分金(最严谨)
热门文章
- 数字三角形:顺推法(一维数组)
- inputstream转fileinputstream对象_Java Web--Servlet--HttpServletResponse对象
- protobuf message定义_巧用 Protobuf 反射来优化代码,拒做 PB Boy
- 2021-03-15 Lp信号
- 2020-09-27 What is Sector-Bounded Nonlinearities?
- helm istio k8s docker
- PKUWC2019游记WC2019游记
- Integer.valueof(null)报错
- 自学Python六 爬虫基础必不可少的正则
- Struts2的国际化(一)-国际化资源文件的配置及国际化信息的访问