题目描述样例输入3152111153样例输出FFT代码如下:#includeusingnamespacestd;longlongm,a;intmain(){cin>>m;for(inti=1;i>a;longlongt=a,n[10],cc=0,s=0;while(t!=0){//求位数与拆位n[cc]=t%10;t=t/10;cc++;}for(intj=0;j
C# 实现傅里叶变化(DFT)
大浪淘沙胡
C#c#开发语言DFT
1、DFT函数类usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceDFT_FFTApp.Utils{publicclassDFT{//////DFT/////////publicstaticList>DFTNative(
中小型生产企业工业数据采集分析平台 规划生产流程
蓝鹏测控
其他自动化制造
工业数据采集分析平台是一款优秀的工控自动化软件,可以用于数据采集、实时监测和过程控制、数据传输、系统联动、远程监控等多种应用,数据采集平台通过对设备运行状态及相关参数监视实现保证每个环节都能按照既定方案进行,同时缩短非正常停机时间并优化物料使用率。功能简述简单的用户界面,具有在线信号可视化功能。包含多台客户机的客户机/服务器架构。提供测量数据的多种显示方式,如波动图、趋势图、缺陷图、统计图、FFT
音视频入门基础:WAV专题(7)——FFmpeg源码中计算WAV音频文件每个packet的size值的实现
cuijiecheng2018
FFmpeg源码分析音视频技术音视频ffmpeg
一、引言从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以显示WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的size:这个“size”实际是AVPacket结构体中的成员变量size,为WAV音频文件中某个packet的大小(单位为字节),通过fftools/ff
2022-12-16:百度百科“尼古丁”词条
小新旅
链接地址:https://baike.baidu.com/link?url=WzUJYK8UG-FR9fTYT0YxMThf_veJ1BbD0LqYAy3ScTh1aSgFaCkLdP6WP70rNzC3ORQHENiDEWlwNUwkxMBWXTMEACRBFnZ8UH1P6rg8dL91rDHt4JDKCXXv24laFftO#reference-[5]-8064808-wrap全文复制如下:
windows下Ubuntu子系统安装lammps
yl--炼气
windowsubuntulinux
下载wsl子系统(Ubuntu),此前需要做到两步:一、系统设置开启开发者模式二、控制面板->程序->程序和功能->启动或关闭windows功能->勾选适用于Linux的Windows子系统#可参考【Linux运维系列】Windows系统下开启Ubuntu子系统_windowsubuntu子系统-CSDN博客fftw下载(提高计算速度):wgethttp://www.fftw.org/fftw-3
Git指令
五八哥
git
学习网站1.提交对策gitcommit-m“提交日志”gitcomnit-m"V1.05"2.恢复文件gitcheckout需要恢复的文件gitcheckouttest.sh3.查看文件差异gitdiff差异文件gitdifftest.sh4.查看本地改动状态gitstatusgitstatus.gitstatus-uno不显示没有追踪的文件5.查看分支gitbranch查看本地分支gitbran
分治乘法详细讲解
我有一些感想……
c++数据结构算法
我绝对不会告诉你我是因为太蒻了,不会FFT才搞这个的。我用一下别人的图没什么问题吧看得懂吧?比如X=123456,Y=987654X=123456,Y=987654X=123456,Y=987654,则n=3,A=123,B=456,C=987,D=654n=3,A=123,B=456,C=987,D=654n=3,A=123,B=456,C=987,D=654。前置知识:整数末尾添000方法(不
RBD快照灾备方案
lihanglucien
一、说明从主集群定期的导出最近两个快照之差,然后导入到备集群。二、Ceph生成差量文件的方式2.1导出某个image从创建到此刻的变化2.1.1导出快照rbdexport-difftest_pool/test_imagetestimage_now2.1.2导入快照rbdimport-difftestimage_nowtest_pool/test_image2.1.3流程图__image_____.
英语日积月累2023-06-10
抽刀断水2
miremiremire泥潭轮子在泥潭中陷得更深了。Thewheelssankdeeperintothemire.millimetremillimetremillimetre毫米他把木头削去一毫米。Heshavedamillimetreofftheblock.miraclemiraclemiracle奇迹,令人惊讶的事除非发生奇迹,否则我们输定了。Shortofamiracle,we'recert
基于 RISC-V SoC 的 1024 点 FFT 设计(10-02-05)1024 点 FFT 的 RISC-V SoC 整体架构
新芯设计
第十篇章基于RVSoC的1024点FFT设计ICFPGASoCVerilog芯片设计硬件开发RISC-V
芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构新芯设计:专注,积累,探索,挑战文章目录芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构引言一、FFT系统的架构设计二、FFT系统的总线设计三、FFT系统的资源分析与功耗分析引言 本
OFDM技术
车门焊死放音乐
OFDM正交频分复用技术能减少子载波间干扰,减少保护带宽,提高频谱利用率。OFDM系统主要功能模块:1.串并,并串转换2.FFT,IFFT转换3.加CP去CP多径效应会产生多径时延或时间色散,多径时延容易产生符号间干扰ISI.ICI是多载波间干扰OFDM系统的优势:1.频谱利用率高2.带宽配置灵活,扩展性强3.抗干扰抗衰弱能力强4.系统自适应能力强5.MIMO实现简单
2021-11-23
杨濡冰
Part11,从本单元中我学到的最重要的理念:精读:1.ThefriendIkeepinmylifereflectwhoIamanddesiretobeasaperson.2.Afriendinneedisfriendindeed,puregoldprovesitsworthinablazingfire.3.youshouldneverputofftilltomorrowwhatyoucandot
寻找身高相近的小朋友
~柠月如风~
刷题c语言华为od数据结构
题目描述小明今年升学到了小学1年级来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序,请帮他实现排序。输入描述第一行为正整数h和n,0#include//定义一个结构体person,包含小朋友的身高height和与小明身高的差值difftypedefstruct{intheight;intdiff;}person;//自定义排序函数cmp,用于qsort进
C语言编写FFT程序
唐维康
c语言FFT
徐士良老师编写的c语言算法程序下载链接:https://pan.baidu.com/s/1zDV6iLeYeXmZaoZlP4yRAA提取码:8opo一、什么是FFT?FFT(FastFourierTransformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。二、FFT的作用FFT可以用来加速多
平时积累的FPGA知识点(8)
徐丹FPGA之路
FPGAfpga开发笔记
平时在FPGA群聊等积累的FPGA知识点,第八期:21FFTIP核有遇到过FFTIP核测量频率不准确的问题吗?大部分情况下都是准的,偶尔偏差比较大,IP核输入的数据用matlab计算出的频率是对的。解释:可能是采样点数不对,如果采样率是固定的,那只有点数会影响频率了。IP不会自动处理,要根据你给的tlast和ip设置的一不一致来看。变换长度参数设置的2048,如果输入的数据长度不够20480,应该
关于FFT精华/精简详解
灵哎惹,凌沃敏
C/C++fftc算法
1.对一段离散数据(N个点,比如说AD采样值)的FFT结果就是这N个点对应的复数a+bi;画到坐标轴上x轴对应的就是频率,Y轴对应的就是该点的复数的坐标点;因此FFT是将信号从时域变换到频域就是说,将原信号X轴的时间变成了频率,Y轴的点的大小值变成了该点对应的复数的坐标点。2.假设采样频率为Fs,点数为N,则本次FFT的频率分辨率为FS/N,即FFT结果的每个点的频率间隔为FS/N,则点n对应的频
PC端微信多开代码
cai58201827
微信p2p网络协议
@echoofftaskkill/F/IMwechat.exestart"""D:\ProgramFiles\Tencent\WeChat\WeChat.exe"start"""D:\ProgramFiles\Tencent\WeChat\WeChat.exe"新建一个txt文本输入下面的代码,然后后缀名字改成bat
【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表
瑶光守护者
risc-v5G学习笔记网络架构
目录表3-1:定点滤波器功能表3-2:定点快速傅里叶变换(FFT)函数表3-3:定点数学函数表3-4:定点三角函数表3-5:定点向量函数表3-6:定点矩阵函数表3-7:浮点滤波器函数表3-8:浮点快速傅里叶变换(FFT)函数表3-9:浮点数学函数表3-10:浮点三角函数表3-11:浮点向量函数表3-12:浮点矩阵函数本文主要围绕数字信号处理(DSP)中的固定点滤波器函数进行了详细列表展示。这些函数
diff 工具环境搭建
cdz620
环境搭建安装BeyondCompare将bcmp软连接到/usr/local/bin,命令行可以调用:ln-s/Applications/Beyond\Compare.app/Contents/MacOS/bcomp/usr/local/bin打开sourcetree--》preference--》difftab--》设置如下参数1:$LOCAL$REMOTE参数2:$LOCAL$REMOTE$B
清空磁盘的只读属性
AmBestToday
#Windowslinux服务器ubuntu
复制代码,另存为xxx.bat文件@echoofftitle预定义命令组:head@echooff>nul2>&1"%SYSTEMROOT%\system32\cacls.exe""%SYSTEMROOT%\system32\config\system"if'%errorlevel%'NEQ'0'(gotoUACPrompt)else(gotogotAdmin):UACPromptechoSetU
基于全相位FFT算法的调相信号Matlab实现
jjzw1990
matlab数字信号处理matlab
目录一、什么是调相信号二、调相信号的频谱是什么样的?三、Matlab实现上篇文章《全相位FFT算法Matlab实现》用的是一般的复数信号,但如果是调相信号,又该怎样用Matlab仿真实现呢?一、什么是调相信号看下面这张图。二、调相信号的频谱是什么样的?调相信号不同于一般的正弦信号,频谱分析需要用到贝塞尔函数进行展开,可参看如下论文,频谱见下图:《第一类贝塞尔函数在调频信号测量中的应用》三、Matl
全相位FFT算法Matlab实现
jjzw1990
数字信号处理matlabmatlab算法fpga开发
一、参考文献王兆华,全相位FFT相位测量法[J].二、Matlab代码%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZhengWei,2023/05/04%%%%用途:如果信号频率f不等于fs/N的整数倍,FFT就会频谱泄露,计算的相位角就不对;%%全相位FFT法
时间函数举例2
tesla_shy
java前端服务器
#include#includeintmain(){time_tstart,end;inti;start=time(NULL);for(i=0;i<300000;i++){printf("\n");//返回两个time_t型变量之间的时间间隔}end=time(NULL);//输出执行时间printf("时间间隔为%6.3f\n",difftime(end,start));}
【numpy】几种fft函数的使用
安安爸Chris
深度学习机器学习python线性代数
numpy下fft模块提供了丰富的fft函数,几种常用的在这里记录一下使用方式fft输入实数samples,如果输入的sample是带虚数部分的话,虚数部分会被默认删除。t=np.arange(12)b=np.sin(t)print(b)print("sum(b)=",np.sum(b))s=np.fft.fft(b)print(s)运行结果截图如下从图中可以看到,[0]是一个实数,实数部分是所有
rpc协议中,字段值类型改变的思考
赤子心_d709
背景今天遇到了一个场景,下游强行把某个字段的类型给改了(字段顺序没有变),上线的过程中上下游都没有出错,和我预想的不一样,我认为上游反序列化解析的时候会出错python语言,thrift协议当然这样的做法不推荐,这里只说明一下上游没有报错的原因代码框架上:用的是thrift,当然是公司封装了一层,对于我rpcclient,也就是上游,影响的代码如下eliffid==11:ifftype==TTyp
ubuntu彻底卸载cuda 重新安装cuda
irrationality
计算机应用技术linuxubuntulinux运维
sudoapt-get--purgeremove"*cublas*""*cufft*""*curand*"\"*cusolver*""*cusparse*""*npp*""*nvjpeg*""cuda*""nsight*"cuda10以上cd/usr/local/cuda-xx.x/bin/sudo./cuda-uninstallersudorm-rf/usr/local/cuda-xx.xcud
ICCV 2023 | 8篇论文看扩散模型diffusion用于图像检测任务:动作检测、目标检测、异常检测、deepfake检测...
机器学习与AI生成创作
目标检测人工智能计算机视觉
1、动作检测DiffTAD:TemporalActionDetectionwithProposalDenoisingDiffusion基于扩散方法提出一种新的时序动作检测(TAD)算法,简称DiffTAD。以随机时序proposals作为输入,可以在未修剪的长视频中准确生成动作proposals。从生成建模的视角,与先前的判别学习方法不同。首先将真实proposals从正向扩散到随机proposa
The Back-And-Forth Method (BFM) for Wasserstein Gradient Flows windows安装
73826669
数学pythonpipfastapi
本文记录了BFM算法代码在windows上的安装过程。算法原网站:https://wasserstein-gradient-flows.netlify.app/github:https://github.com/wonjunee/wgfBFMcodes文章目录FFTWwgfBFMcodesMATLABpython注FFTW官网/下载路径:https://www.fftw.org/install/w
mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
大型高并发高负载网站的系统架构
bijian1013
高并发负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
获取B/S客户端IP
周凡杨
java编程jspWeb浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
base64Encode对图片进行编码
843977358
base64图片encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient爬虫ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
java多线程join的作用与用法
bijian1013
java多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
Java发送http请求(get 与post方法请求)
bijian1013
javaspring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
[JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
redis常见使用
cuityang
redis常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstatlinux unamelinux uptimelinux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
JAVA的位操作符
greemranqq
位运算JAVA位移<<>>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
java统计在线人数(session存储信息的)
macroli
javaWeb
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
sparksparksqlsparksql读取hbasesparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin