傅里叶变换并把结果保存在excel文件中
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文件中相关推荐
- asp.net学习笔记·将数据库中的数据保存在EXCEL文件中
提取数据库中的数据,将其保存在EXCEL文件中,并提供下载. 在一般处理程序中将数据库数据保存在EXCEL文件中的代码 using System; using System.Collections.G ...
- 豆瓣电影Top250信息爬取并保存到excel文件中
豆瓣电影Top250下载并保存到excel文件中 效果图 前言 确定目标网页url 爬取过程 导入相关库 页面内容的获取 页面解析 数据提取 主函数的编写 函数调用 数据存储 完整代码 结语 效果图 ...
- 利用xpath爬取链家租房房源数据并利用pandas保存到Excel文件中
我们的需求是利用xpath爬取链家租房房源数据,并将数据通过pandas保存到Excel文件当中 下面我们看一下链家官网的房源信息(以北京为例) 如图所示,我们通过筛选得到北京租房信息 那么我们需要将 ...
- python生成大量随机信息,并保存到Excel文件中
题目要求 生成大量随机信息1000条,(每条信息包括:姓名.性别.年龄.籍贯.电话号码.地址.电子邮件.数学成绩.英语成绩)统计分析数学成绩90分以上的人的性别.年龄.籍贯.尝试将上述随机生成信息写入 ...
- python 读取发票内容,在窗口中显示并保存到excel文件中
编写两个文件ReadPdf.py和QTShow.py ReadPdf.py 1.采用正则表达式re定义提取的字段:(目前只读取这8个字段,开户行及账户在测试中出现问题) self.template_f ...
- 电力系统潮流计算matlab仿真,计算结果自动保存到excel文件中
目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...
- JAVA中将数据保存到EXCEL文件
java后端将数据库中数据或前端传来的数据保存到EXCEL文件中.代码中有详细注解. 依赖包 <dependency><groupId>org.apache.poi</g ...
- 查找并删除EXCEL文件中的重复行(整行重复)
''' 用Python写代码:查找并删除EXCEL文件中的重复行(整行重复) --GhatGPT方案 ''' #-------------------------------------------- ...
- python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中
我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...
- python 读excel中的sheet_python读取excel文件中所有sheet表格
sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...
最新文章
- 程序员过年最怕问到什么?
- MySQL字符集编码
- UVA - 673 (括号的匹配)
- Scala, Groovy, Clojure, Jython, JRuby and Java ----我们的工作语言
- 只针对异常的情况才使用异常_如何以及何时使用异常
- bootstrap-validator 验证一个标签同时验证另一个指定标签
- python常见错误及基本技巧
- unity 查找所以物体_用Unity来实现一下绳子效果——Obi Rope插件介绍
- Microsoft Edge 81 稳定版发布
- LVS——DR模式(负载均衡)
- 【转】VB代码VB小程序:宇宙大爆炸演示
- 数据结构12: 实践项目之进制转换器
- Supervisor进程管理详解
- html一键打包注册表,离线修改或批量导入目标系统注册表工具(支持PE和挂载系统操作)...
- 微擎 人人商城 对接京东vop 对接京东商品,同步商品 地址,库存,价格,上下架等。五 (下)京东后台提交订单,通知用户...
- 【图像分割】基于FCM+KFCM MRI图像分割matlab源码含GUI
- B 站神曲 damedane:精髓在于深度变换,五分钟就能学会
- 6月份智能手机市场份额发布:联想超华为第二逼近三星
- Women in Tech | 关于职业与成长,她们给人奋进的启发和动力
- ebay 后台HTML有尺寸宽度要求吗,eBay产品尺码问题需要注意的事项
热门文章
- 红米note3全网通 |2015112| 官方线刷包救砖包解账户锁屏幕锁
- SSL 3.0曝出Poodle漏洞的解决方案
- 手把手教你搭建SpringCloud项目(二)生产者与消费者
- darknet源码理解(二)---图片的读取
- c语言不报错但输不出正确结果,正则表达式,c++_C语言 正则表达式结果不对?,正则表达式,c++ - phpStudy...
- CMake安装mysql时报错:remove CMakeCache.txt and rerun cmake
- 机器人 瓷砖墙面清洗_墙壁清洁机器人
- 网站快照被劫持,网站被劫持跳转另一个网站解决办法
- keil5中输入中文并且美化字体
- 【7gyy】支招:自检性能搞定网速慢电脑卡的问题