fft相关内容

在没有包的情况下在python中实现Haar小波

我正在尝试编写代码以实现离散小波变换(haar wavelet dwt),而无需在python中使用包. 到目前为止,我已经找到了一个链接,它们在其中实现了类似的功能,该链接是这个小波变换的实现对吗?.它在运行时不会给出任何错误,但最终结果是不正确的.我运行的代码是: def离散HaarWaveletTransform(x):N = len(x)输出= [0.0] * N长度= N>1个 ..
发布时间:2021-05-06 20:58:23 Python

如何在傅立叶域中对长信号实现Pytorch 1D互相关?

我有一系列信号长度n = 36,000,需要对其进行互相关.目前,我在numpy中执行cpu有点慢.我听说Pytorch可以大大加快张量操作,并提供了一种在GPU上并行执行计算的方法.我想探索这个选项,但是我不太确定如何使用框架来完成此操作. 由于这些信号的长度,我宁愿在频域中执行互相关运算. 通常使用numpy来执行以下操作: 将numpy导入为npsignal_length = ..
发布时间:2021-05-06 20:58:18 其他开发

python中的FFT结果取决于所选择的linspace?

我是Python的新手,我有一个基本的理解问题.在我看来,FFT的结果只是基于自己选择的线性空间. #采样点数N = 600#样本间距T = 1.0/800.0x = p.linspace(0.0,N * T,N)y = p.sin(50.0 * 2.0 * p.pi * x)+ 0.5 * p.sin(80.0 * 2.0 * p.pi * x)yf = p.fft(y)xf = p.lins ..
发布时间:2021-05-06 20:58:15 Python

在Python中绘制正弦曲线的傅立叶变换

以下python程序绘制正弦曲线: 将matplotlib.pyplot导入为plt将numpy导入为np# 帆布plt.style.use("ggplot")#频率,振荡与幅度范围f = int(输入(“输入频率:"))n_o = int(input(“输入振荡次数:"))t_max = n_o/ft = np.linspace(0,t_max,1000)#正弦y_sin = np.sin(2 ..
发布时间:2021-05-06 20:58:12 Python

为什么Python和CUDA不支持半精度复数浮点运算?

NumPY具有 complex64 对应于两个float32. 但是它也有float16,但是没有complex32. 为什么?我有涉及FFT的信号处理计算,我认为我可以使用complex32,但我不知道如何到达那里.特别是,我希望通过 cupy 在NVidia GPU上加快速度. 但是,float16似乎是复杂的整数,因为这可能还会提供提速的机会. 解决方案 CuPy存 ..
发布时间:2021-05-06 20:58:09 Python

获取与Librosa中的STFT相关的频率

在使用 librosa.stft()计算频谱图时,如何获取相关的频率值?我对像 librosa.display.specshow 中那样生成图像不感兴趣,但是我想掌握这些值. y,sr = librosa.load('../recordings/high_pitch.m4a')stft = librosa.stft(y,n_fft = 256,window = sig.windows.hamm ..
发布时间:2021-05-06 20:58:06 Python

计算帧中的FFT并写入文件

我是python的新手,我正在尝试获取上载的wav文件的FFT值,并返回文本文件每行中每帧的FFT(使用GCP) 使用scipy或librosa 我需要的帧速率为30fps wave文件的采样率为48k 所以我的问题是 如何将整个wav文件的样本划分为每一帧的样本 如何添加空白样本以使帧样本的长度为2的幂(如48000/30 = 1600,添加448个空白样本以使其 ..
发布时间:2021-05-06 20:57:58 Python

为什么我的频域数据“镜像"?使用FFTW将(2d)IDFT转换为DFT时?

我正在通过在16x16数据集中设置某些模式的实数分量来手动初始化2d频域中的状态.然后,我执行2D IDFT来获取真实域数据.这一切都按预期进行. 然后,我对实域数据执行DFT,以获取(应该是)与我手动初始化的频率模式相同的频率模式.然而,它们以其振幅加倍并且其垂直频率“镜像"回来.为了说明: 输入模式: k [1,0]: 32 + 0i k [2,0]: 16 + 0i k [ ..
发布时间:2021-05-06 20:57:55 C/C++开发

对pcm数据应用FFT并转换为频谱图

我目前在VS2012中使用Metro应用.我有一个C#代码,它记录用户的声音并将其保存到wav文件(16位,44.1kHz,单声道)中.我已经将PCM处理为仅包含值介于-1和1之间的双数组数据,如下所示. 下一步,我想做的就是将FFT应用于双数组数据并将其转换为频谱图.我想知道是否有FFT算法采用双精度数组,最好不使用任何库. 我还想知道是否有任何方法可以使用Metro将数据(应用FF ..
发布时间:2021-05-06 20:57:50 C#/.NET

如何从信号中去除频率

我想从信号中去除一个频率(一个峰值),并绘制没有该频率的函数.fft之后,我发现了频率和幅度,因此我不确定现在需要做什么.例如,我要删除我的最高峰(​​在图中标有红点). 将numpy导入为np导入matplotlib.pyplot作为plt#创建数据N = 4097T = 100.0t = np.linspace(-T/2,T/2,N)f = np.sin(50.0 * 2.0 * np.pi ..
发布时间:2021-05-06 20:57:47 Python

3D模式下的Python频谱图(如Matlab的频谱图函数)

我的问题如下: 我拥有一张光谱图所需的所有值( scipy.fftpack.fft ).我想在python中创建3D频谱图. 在MATLAB中,这是一个非常简单的任务,而在python中,这似乎要复杂得多.我尝试了mayavi,3D绘制matplotlib绘制,但我没有做到这一点. 谢谢 我的代码: 将numpy导入为np将熊猫作为pd导入将numpy导入为np从scip ..
发布时间:2021-05-06 20:57:41 Python

FFT计算错误-Swift

我正在尝试进行快速的快速傅立叶变换.我的计算基于 Surge .我无法获得正确的结果.当我以1000 Hz的声音进行拍打时,我得到的声音看起来像这样. .python代码如下: 将numpy导入为np导入scipy.io.wav文件导入numpy.fft导入matplotlib.pyplot作为pltFILENAME ='beep.wav'fs,data = scipy.io.wavfile.r ..
发布时间:2021-05-06 20:57:38 移动开发

撤消np.fft.fft2以获取原始图像

我才刚刚开始学习图像频率域. 我有这个功能: def fourier_transform(img):f = np.fft.fft2(img)fshift = np.fft.fftshift(f)幅度谱= 20 * np.log(np.abs(fshift))返回幅度谱 我想实现此功能: def inverse_fourier_transform(magnitude_spectru ..
发布时间:2021-05-06 20:57:25 Python

Python 2D中的傅立叶变换

我想使用 fft2 对 Gaussian函数的傅里叶变换进行数字化处理.在这种转换下,该函数将保留到一个常数. 我创建2个网格:一个用于真实空间,第二个用于 frequency (动量,k等).(频率变为零).我评估函数并最终绘制结果. 这是我的代码 将numpy导入为np导入matplotlib.pyplot作为plt从scipy.fftpack导入fft2,ifft2从mpl_t ..
发布时间:2021-05-06 20:57:19 Python

Python中的快速傅立叶变换

我对傅立叶理论是陌生的,并且我看过非常好的教程,内容涉及如何将fft应用于信号并绘制信号以查看其包含的频率.不知何故,他们所有人都将各种罪恶混合在一起作为他们的数据,而我在适应它来解决我的实际问题时遇到了麻烦. 我每天都有242个每小时的观测值,这意味着我的周期是24.因此,我希望在fft图上有一个大约24的峰值. 我的data.csv示例在这里: https://pastebin.c ..
发布时间:2021-05-06 20:57:16 Python

在FFT图中检测峰值

我想知道如何在Python中检测FFT图中的新峰值.假设我有一个简单的图: 尽管我也要设置一个阈值,但是有时真实信号中的峰值可能小于预定义的阈值.有什么想法吗? 解决方案 有很多方法可以找到峰,甚至可以插值子样本的位置.达到峰值后,只需检查是否找到新的峰值即可. 您可以使用 peakutils 包来查找峰.您可以在此处设置阈值和峰之间的最小距离. 将numpy导入为np从py ..
发布时间:2021-05-06 20:57:13 Python