import os
import numpy as np
from scipy.fftpack import fft,ifft
import matplotlib.pyplot as plt
import xlwtdef fft0_7(x,y):#傅里叶变换#采样点选择1400个,因为设置的信号频率分量最高为600Hz,根据采样定理知采样频率要大于信号频率2倍,所以这里设置采样频率为1400Hz(即一秒内有1400个采样点)# x=np.linspace(0,1,401)## #设置需要采样的信号,频率分量有180,390和600# y=7*np.sin(2*np.pi*50*x) + 1.5*np.sin(2*np.pi*100*x)+5.1*np.sin(2*np.pi*150*x)+1#yy=fft(y)                     #快速傅里叶变换# yreal = yy.real               # 获取实数部分# yimag = yy.imag               # 获取虚数部分yf=abs(yy)                # 取模yf1=yf/((len(x)/2))           #归一化处理yf1[0]=yf1[0]/2yf2 = yf1[range(int(len(x)/2))]  #由于对称性,只取一半区间xf = np.arange(len(y))        # 频率xf1 = xfxf2 = xf[range(int(len(x)/2))]  #取一半区间# yf2=list(yf2)# yf2.sort(reverse=True)# print(yf2[:6])# print(yf2.index(max(yf2)))# yf2 = list(yf2)# yf3 = sorted(yf2, reverse=True)# print(yf2.index(yf3[0]))# print(yf2.index(yf3[1]))# print(yf2.index(yf3[2]))# print(yf2.index(yf3[3]))# print('*******************')# print(yf2[:55])return [yf2[0],yf2[5],yf2[10],yf2[15],yf2[20],yf2[25],yf2[30],yf2[35]]# #原始波形# plt.subplot(221)# # plt.plot(x[0:50],y[0:50])# plt.plot(x, y)# plt.title('Original wave')# #混合波的FFT(双边频率范围)# plt.subplot(222)# plt.plot(xf,yf,'r') #显示原始信号的FFT模值# plt.title('FFT of Mixed wave(two sides frequency range)',fontsize=7,color='#7A378B')  #注意这里的颜色可以查询颜色代码表# #混合波的FFT(归一化)# plt.subplot(223)# plt.plot(xf1,yf1,'g')# plt.title('FFT of Mixed wave(normalization)',fontsize=9,color='r')## plt.subplot(224)# plt.plot(xf2[:55],yf2[:55],'b')# plt.title('FFT of Mixed wave)',fontsize=10,color='#F08080')## plt.show()def getRes(filepath):dirs = os.listdir(filepath)worbook = xlwt.Workbook()sheet = worbook.add_sheet('傅里叶变换结果', cell_overwrite_ok=True)i=0sheet.write(i, 0, '对应文件')for j in range(7):for k in range(8):tmpj=str(j+1)tmpk=str(k)sheet.write(i,j*8+k+1,'第'+tmpj+'列数据对应的频域值:'+'50*'+tmpk+'Hz')# i=1for file in dirs:i += 1f = open(filepath + '\\' + file)sheet.write(i, 0, file)t=[]vi=[]for line in f.readlines():line=[float(i) for i in line.strip().split()]t.append(line[0])viTmp=line[1:]viTmp[-1]=viTmp[-1]/3 #零序分量除以3vi.append(viTmp)f.close()t=np.array(t)vi=[[row[i] for row in vi] for i in range(7)] #vi有7列vi=np.array(vi)# print(t)# print(vi.shape)#计算出傅里叶变换的值,存进excel文件中for m in range(7):# t=np.linspace(0,0.01,5001)fftres=fft0_7(t,vi[m]) #8个值for j in range(8):sheet.write(i, m*8+j+1,fftres[j])worbook.save('傅里叶变换结果' + '.xls')
if __name__ == '__main__':getRes("C:\\Users\张海洋\\Desktop\本科毕设\测试文件")

傅里叶变换并把结果保存在excel文件中相关推荐

  1. asp.net学习笔记·将数据库中的数据保存在EXCEL文件中

    提取数据库中的数据,将其保存在EXCEL文件中,并提供下载. 在一般处理程序中将数据库数据保存在EXCEL文件中的代码 using System; using System.Collections.G ...

  2. 豆瓣电影Top250信息爬取并保存到excel文件中

    豆瓣电影Top250下载并保存到excel文件中 效果图 前言 确定目标网页url 爬取过程 导入相关库 页面内容的获取 页面解析 数据提取 主函数的编写 函数调用 数据存储 完整代码 结语 效果图 ...

  3. 利用xpath爬取链家租房房源数据并利用pandas保存到Excel文件中

    我们的需求是利用xpath爬取链家租房房源数据,并将数据通过pandas保存到Excel文件当中 下面我们看一下链家官网的房源信息(以北京为例) 如图所示,我们通过筛选得到北京租房信息 那么我们需要将 ...

  4. python生成大量随机信息,并保存到Excel文件中

    题目要求 生成大量随机信息1000条,(每条信息包括:姓名.性别.年龄.籍贯.电话号码.地址.电子邮件.数学成绩.英语成绩)统计分析数学成绩90分以上的人的性别.年龄.籍贯.尝试将上述随机生成信息写入 ...

  5. python 读取发票内容,在窗口中显示并保存到excel文件中

    编写两个文件ReadPdf.py和QTShow.py ReadPdf.py 1.采用正则表达式re定义提取的字段:(目前只读取这8个字段,开户行及账户在测试中出现问题) self.template_f ...

  6. 电力系统潮流计算matlab仿真,计算结果自动保存到excel文件中

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  7. JAVA中将数据保存到EXCEL文件

    java后端将数据库中数据或前端传来的数据保存到EXCEL文件中.代码中有详细注解. 依赖包 <dependency><groupId>org.apache.poi</g ...

  8. 查找并删除EXCEL文件中的重复行(整行重复)

    ''' 用Python写代码:查找并删除EXCEL文件中的重复行(整行重复) --GhatGPT方案 ''' #-------------------------------------------- ...

  9. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  10. python 读excel中的sheet_python读取excel文件中所有sheet表格

    sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...

最新文章

  1. 程序员过年最怕问到什么?
  2. MySQL字符集编码
  3. UVA - 673 (括号的匹配)
  4. Scala, Groovy, Clojure, Jython, JRuby and Java ----我们的工作语言
  5. 只针对异常的情况才使用异常_如何以及何时使用异常
  6. bootstrap-validator 验证一个标签同时验证另一个指定标签
  7. python常见错误及基本技巧
  8. unity 查找所以物体_用Unity来实现一下绳子效果——Obi Rope插件介绍
  9. Microsoft Edge 81 稳定版发布
  10. LVS——DR模式(负载均衡)
  11. 【转】VB代码VB小程序:宇宙大爆炸演示
  12. 数据结构12: 实践项目之进制转换器
  13. Supervisor进程管理详解
  14. html一键打包注册表,离线修改或批量导入目标系统注册表工具(支持PE和挂载系统操作)...
  15. 微擎 人人商城 对接京东vop 对接京东商品,同步商品 地址,库存,价格,上下架等。五 (下)京东后台提交订单,通知用户...
  16. 【图像分割】基于FCM+KFCM MRI图像分割matlab源码含GUI
  17. B 站神曲 damedane:精髓在于深度变换,五分钟就能学会
  18. 6月份智能手机市场份额发布:联想超华为第二逼近三星
  19. Women in Tech | 关于职业与成长,她们给人奋进的启发和动力
  20. ebay 后台HTML有尺寸宽度要求吗,eBay产品尺码问题需要注意的事项

热门文章

  1. 红米note3全网通 |2015112| 官方线刷包救砖包解账户锁屏幕锁
  2. SSL 3.0曝出Poodle漏洞的解决方案
  3. 手把手教你搭建SpringCloud项目(二)生产者与消费者
  4. darknet源码理解(二)---图片的读取
  5. c语言不报错但输不出正确结果,正则表达式,c++_C语言 正则表达式结果不对?,正则表达式,c++ - phpStudy...
  6. CMake安装mysql时报错:remove CMakeCache.txt and rerun cmake
  7. 机器人 瓷砖墙面清洗_墙壁清洁机器人
  8. 网站快照被劫持,网站被劫持跳转另一个网站解决办法
  9. keil5中输入中文并且美化字体
  10. 【7gyy】支招:自检性能搞定网速慢电脑卡的问题