日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

音频处理七:(极坐标转换)

發布時間:2025/3/12 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 音频处理七:(极坐标转换) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序設計七:極坐標轉換

一:需求分析

? 在數學中,極坐標系是一個二維坐標系統。該坐標系統中的點由一個夾角和一段相對中心點——極點(相當于我們較為熟知的直角坐標系中的原點)的距離來表示。極坐標系的應用領域十分廣泛,包括數學、物理、工程、航海以及機器人領域。在兩點間的關系用夾角和距離很容易表示時,極坐標系便顯得尤為有用;而在平面直角坐標系中,這樣的關系就只能使用三角函數來表示。對于很多類型的曲線,極坐標方程是最簡單的表達形式,甚至對于某些曲線來說,只有極坐標方程能夠表示。

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

原始數據為:

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的音频处理七:(极坐标转换)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。