范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python机器学习(五十六)SciPyfftpack(傅里叶变换)

  SciPy提供了fftpack模块,包含了傅里叶变换的算法实现。
  傅里叶变换把信号从时域变换到频域,以便对信号进行处理。傅里叶变换在信号与噪声处理、图像处理、音频信号处理等领域得到了广泛应用。 如需进一步了解傅里叶变换原理,可以参考相关资料。
  快速傅里叶变换
  计算机只能处理离散信号,使用离散傅里叶变换(DFT) 是计算机分析信号的基本方法。但是离散傅里叶变换的缺点是:计算量大,时间复杂度太高,当采样点数太高的时候,计算缓慢,由此出现了DFT的快速实现,即快速傅里叶变换FFT。
  快速傅里叶变换(FFT)是计算量更小的离散傅里叶变换的一种实现方法,其逆变换被称为快速傅里叶逆变换(IFFT)。
  示例
  先对数据进行fft变换,然后再ifft逆变换。 import numpy as np #从fftpack中导入fft(快速傅里叶变化)和ifft(快速傅里叶逆变换)函数 from scipy.fftpack import fft,ifft  #创建一个随机值数组 x = np.array([1.0, 2.0, 1.0, -1.0, 1.5])  #对数组数据进行傅里叶变换 y = fft(x) print("fft: ") print(y) print(" ")  #快速傅里叶逆变换 yinv = ifft(y) print("ifft: ") print(yinv) print(" ")
  输出 fft: [ 4.5       +0.j          2.08155948-1.65109876j -1.83155948+1.60822041j  -1.83155948-1.60822041j  2.08155948+1.65109876j]   ifft: [ 1. +0.j  2. +0.j  1. +0.j -1. +0.j  1.5+0.j]
  可以看到fft,ifft返回的都是复数。ifft返回的结果中,复数的虚部都是0,实部与原始数据x一致。
  这些点的频率无法计算,因为没有设置这N个点的时间长度。如不理解,不必深究,后面会介绍。 理解fft变换结果
  我们知道,傅里叶变换把时域信号变为频域信号。在离散傅里叶变换中,频域信号由一系列不同频率的谐波(频率成倍数)组成。fft返回值是一个复数数组,每个复数表示一个正弦波。通常一个波形由振幅,相位,频率三个变量确定,可以从fft的返回值里,获取这些信息。
  假设a是时域中的周期信号,采样频率为Fs,采样点数为N。如果A[N] = fft(a[N]),返回值A[N]是一个复数数组,其中: A[0]表示频率为0hz的信号,即直流分量。 A[1:N/2]包含正频率项,A[N/2:]包含负频率项。正频率项就是转化后的频域信号,通常我们只需要正频率项,即前面的n/2项,负频率项是计算的中间结果(正频率项的镜像值)。 每一项的频率计算:假设A[i]为数组中的元素,表示一个波形,该波形的频率 = i * Fs / N A[i] = real + j * imag,是一个复数,相位就是复数的辐角,相位 = arg(real/imag) 类似的,振幅就是复数的模,振幅 = sqrt(real^2+imag^2)。但是fft的返回值的模是放大值,直流分量的振幅放大了N倍,弦波分量的振幅放大了N/2倍。
  频率分辨率
  频率分辨率是离散傅里叶变换(DFT)频域相邻刻度之间的实际频率之差。采样时,数据采样了T秒(T = 采样点数N / 采样频率Fs),信号的成分中周期最大也就是T秒,最低频率即"基频"就等于1 / T,也就是Fs / N,这就是频率分辨率。基频 = Fs / N,各个谐波的频率就是 i * Fs / N,这个公式用于计算各个波形的频率。
  示例 import numpy as np from scipy.fftpack import fft  # 采样点数 N = 4000  # 采样频率 (根据采样定理,采样频率必须大于信号最高频率的2倍,信号才不会失真) Fs = 8000 x = np.linspace(0.0, N/Fs, N)  # 时域信号,包含:直流分量振幅1.0,正弦波分量频率100hz/振幅2.0, 正弦波分量频率150Hz/振幅0.5/相位np.pi y = 1.0 + 2.0 * np.sin(100.0 * 2.0*np.pi*x) + 0.5*np.sin(150.0 * 2.0*np.pi*x + np.pi)  # 进行fft变换 yf = fft(y)  # 获取振幅,取复数的绝对值,即复数的模 abs_yf = np.abs(yf)  # 获取相位,取复数的角度 angle_y=np.angle(yf)  # 直流信号 print(" 直流信号") print("振幅:", abs_yf[0]/N) # 直流分量的振幅放大了N倍  # 100hz信号 index_100hz = 100 * N // Fs # 波形的频率 = i * Fs / N,倒推计算索引:i = 波形频率 * N / Fs print(" 100hz波形") print("振幅:", abs_yf[index_100hz] * 2.0/N) # 弦波分量的振幅放大了N/2倍 print("相位:", angle_y[index_100hz])  # 150hz信号 index_150hz = 150 * N // Fs # 波形的频率 = i * Fs / N,倒推计算索引:i = 波形频率 * N / Fs print(" 150hz波形") print("振幅:", abs_yf[index_150hz] * 2.0/N) # 弦波分量的振幅放大了N/2倍 print("相位:", angle_y[index_150hz]) print("100hz与150hz相位差:",  angle_y[index_150hz] - angle_y[index_100hz]) print(" ")
  输出 直流信号 振幅: 1.0  100hz波形 振幅: 1.9989359813189005 相位: -1.5315264186250062  150hz波形 振幅: 0.5008489983048182 相位: 1.6297011890497097 100hz与150hz相位差: 3.161227607674716
  可以看到,正弦波的相位不一定从0开始,但波形之间的相位差确实s约等于一个pi(值跟采样频率与采样点数有关系)。 离散余弦变换(DCT)
  由于许多要处理的信号都是实信号,在使用FFT时,对于实信号,傅立叶变换的共轭对称性导致在频域中有一半的数据冗余。
  离散余弦变换(DCT)是对实信号定义的一种变换,变换后在频域中得到的也是一个实信号,相比离散傅里叶变换DFT而言, DCT可以减少一半以上的计算。DCT还有一个很重要的性质(能量集中特性):大多书自然信号(声音、图像)的能量都集中在离散余弦变换后的低频部分,因而DCT在(声音、图像)数据压缩中得到了广泛的使用。由于DCT是从DFT推导出来的另一种变换,因此许多DFT的属性在DCT中仍然是保留下来的。
  SciPy.fftpack中,提供了离散余弦变换(DCT)与离散余弦逆变换(IDCT)的实现。
  示例 import numpy as np from scipy.fftpack import dct,idct y = dct(np.array([4., 3., 5., 10., 5., 3.])) print(y)
  输出 [ 60.          -3.48476592 -13.85640646  11.3137085    6.   -6.31319305]
  离散余弦逆变换(idct),是离散余弦变换(DCT)的反变换。
  示例 import numpy as np from scipy.fftpack import dct,idct y = idct(np.array([4., 3., 5., 10., 5., 3.])) print(y)
  输出 [ 39.15085889 -20.14213562  -6.45392043   7.13341236   8.14213562   -3.83035081]

一加8Pro发布会不用看了???日前,一加8系列官宣将于4月16日晚上19点发布,具体发布的日期越来越近,更多规格也被官宣,由于一加8系列预热2K120Hz屏,续航如何也是大家最关注的官方预热一加8系列全系标配单限电令至,家居行业最贵的冬天到了吗?近期,不少制造业大省以及原材料大省,以控碳的名义,下发了能耗双控的相关政策文件,我国多地均相应出台了限电政策,要求工厂产能下降20,很多家居企业对此猝不及防,水泥陶瓷钢铁等高耗高污厨房墙砖怎么选?这篇攻略告诉你厨房是一个实用性很强的地方,因此不会侧重于装饰上,想要拥有颜值高的厨房,可以从厨房墙砖下手,因此厨房墙砖的种类及如何挑选就非常重要了。一厨房墙砖哪种好?1亚光砖厨房墙砖可以选择亚光4月即将到来的发布会,你更期待哪一个4月即将到来的发布会汇总,大家最期待哪款4月8日华为P40国行发布会4月9日荣耀Play4T系列4月13日OPPOAce24月15日荣耀30系列4月15日?魅族17系列4月16日一倒计时!11。67南京家博会免费门票领取指南南京家博会,是蓝装家博会在南京地区的简称,蓝装家博会是以家装,家具,建材,卫浴,陶瓷,软装等为主题的家装博览会,包含所有家装采购所有品类,是为装修业主提供一站式服务的大型展会。家博展会进行时,大连第9届蓝装家博会,速来围观中秋小长假怎么过?2021年9月1920日大连第9届蓝装家博会已拉开帷幕,正在给大连广大市民献上一场家装盛宴,小长假到家博会现场,相信能给您带来别样家博会,满足您对家的所有期许!9喜报!大连第9届蓝装家博会完美收官秋天是一个收获的季节,是金色的季节,大连第9届蓝装家博会(9月1921日)在大连世界博览中心(会展二期)圆满落下帷幕。展会呈现定位准平台佳局部全活动多服务专安全稳等亮点,整体品质进探究马桶二三事,建议读完全文,对你有用家装,最重要的就是提高家庭的生活品质,住所不只是日常作息的,而是更有幸福感的家。马桶作为日常生活所需,有着极其重要的作用。市面上有千万种马桶种类,产品价格和使用功能有着天壤之别,那新房装修卫生间马桶出现反味怎么解决?马桶这个白白亮亮的洁具,可以说是卫生间的重点嘉宾,非常常用的一个东西。今天小蓝就跟大家聊聊新房装修卫生间马桶出现臭味怎么处理?说到马桶反味的原因,通常有四点1马桶密封胶,2马桶水封刚装完的新房,马桶竟然出现臭味?解决方法在这卫生间马桶,家家必备之物。刚装完的新房,卫生间马桶竟然出现臭味,常常让人摸不着头脑。新房装修如果遇到卫生间马桶反味,该怎么办?倘若你家也出现这种情况,建议你先找原因,再对症改造。今截止上半年全球独角兽企业超过600家,估值近2万亿美元据crunchbase最新统计,截至6月28日,全球独角兽企业已经达到601家,累计融资4420亿美元,估值1。98万亿美元。这些企业的平均融资额达到7。35亿美元,平均估值为33
Intel奔腾和赛扬处理器喜提傲腾8代U即可支持IntelOptane(傲腾)是存储产品界冉冉升起的新星,不过,其本身价格就不菲,同时对兼容的平台也有苛刻要求,需要7代酷睿处理器100系以上主板等。不过,可能是想加大普及力度同时新iPhone背板疑曝光方块三摄可能成真据国外媒体报道,周四在微博首次曝出的一个可疑的产品照片,或许被认为是苹果即将要推出的2019版iPhone新产品。发布在知名爆料网站Slashleaks上的这张照片,与2018版i央行全面推广移动支付应用e公司讯,3月29日,人民银行召开支付结算工作电视电话会议。会议要求,2019年深化支付领域改革开放,加快支付清算市场结构优化升级,推动支付产业高质量发展。要处理好当前与长远规范与华为新品手机Y6Prime登陆巴基斯坦,仅售160美元3月29日消息,据GSM报道,华为在巴基斯坦推出了华为Y6Prime(2019)新款手机。它是一款入门级手机,虽然也是华为Y6Prime系列,却不同于去年发的2018版的Y6PriJmeter接口测试压力测试,一看就会jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以小米雷军谈5G明后年将迎来手机换机潮讯28日,在博鳌亚洲论坛5G物联网的成就者分论坛上,来自中国移动华为小米华为等通信相关企业的代表共同探讨了5G的应用空间。小米雷军明后年将迎5G手机换机潮雷军28日出席论坛。(图片微信朋友圈的小心思终于知道为啥文字被折叠了根据腾讯3月21日发布的最新财报显示,截至2018年底,微信及WeChat的合并月活跃账户数增至约10。98亿,每天平均有超过7。5亿微信用户阅读朋友圈的发帖。作为国内第一大社交A中美联手搭建神秘设备!可直接改变世界,多国求合作随着人类科学技术的不断进步,世界各国的生活水平都得到了快速的提升,在日常生活方面,科技已经进入人们的方方面面,而要完成众多复杂的科技生产,能源是不可或缺的重要资源,就目前的情况而言又拿第一!华为P30系列发布,全新徕卡四摄刷新DxOMark史上最高分刚刚,华为又在法国巴黎开了场发布会。没错,就是被网友们心念念的旗舰新机P30系列的发布。这次发布会上,华为准备了两款新机HUAWEIP30和HUAWEIP30Pro,还有手表眼镜耳被这些APP折磨了十年!才发现国际版是没有广告的免费的,永远是最贵的。这是互联网用户的共识,想看个免费的视频,得看180秒的广告,想和朋友聊聊天,得看见缝插针的推广,想认认真真关心下社会,资讯页面总有渣渣辉想不看这些广告难度系数中国网红经济再次惊掉了我的下巴一个贡献15亿年成交额的中国网红可能要带领她背后的集团去纳斯达克敲钟作者刀姐Doris来源刀姐Doris(doriskerundong)张大奕很可能会是第一位上纳斯达克敲钟的中国网