jjzjj

c - vDSP FFT2d Swift 结果虚部错误

我正在使用Accelerate框架中的vDSP在来自网格的二维数组中执行fft2d操作。问题是我得到一个虚部为0的数组,它与使用pylab.fft2的python中的相同操作不匹配。如果我增加数组大小,结果不会为零但无论如何都不匹配,所以我做错了。有人可以帮我吗?这是我的第一个堆栈溢出问题,但我现在被困了两个星期。这是网格(本例为4x8)[[1.80485138784544e-35,2.61027906966774e-23,1.26641655490943e-14,2.06115362243857e-09,1.1253517471926e-07,2.06115362243857e-09

ios - DFT 结果使用来自 Swift 的 vDSP 来自实值输入(Surge 实现)

我在DFT函数的Surge实现中产生了不兼容的结果;我正在使用Surge实现,这对我来说似乎很简单。当我计算虚拟数据的幅度时,我得到:varxx=[1.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0]{0.6,0.082842712474619,0.2,0.482842712474619,0.2,0.482842712474619,0.2,0.082842712474619,0.0,0.2}“如果它在一个域中是实数,则它在另一个域中是共轭对称的”之后似乎是错误的当我做同样的事情时:在Mathematica中:x={1.,0.,1.,0.,0.,1.,0.,0

ios - 转换参数以使 Swift 使用 vDSP API 进行编译

我在尝试将Accelerate框架与Swift的vDSPAPI结合使用时遇到了一些问题。显然我做错了什么,尽管编译器给我各种警告varsrcAsFloat:CConstPointer=CFloat[](count:Int(width*height),repeatedValue:0)vardstAsFloat=CFloat[](count:Int(width*height),repeatedValue:0)ifshouldClip{varmin:CFloat=0.0varmax:CFloat=255.0varl:vDSP_Stride=Int(width*height)vDSP_vcli

iOS FFT 绘制频谱

我读过这些问题:UsingtheAppleFFTandAccelerateFrameworkHowdoIsetupabufferwhendoinganFFTusingtheAccelerateframework?iOSFFTAccerelate.frameworkdrawspectrumduringplayback它们都描述了如何使用加速框架设置fft。在他们的帮助下,我能够设置fft并获得基本的频谱分析仪。现在,我正在显示我从fft获得的所有值。但是,我只想显示10-15个或可变数量的条形图来表示某些频率。就像iTunes或WinAmp电平表一样。1.我是否需要对一系列频率的幅度值进

iOS FFT 绘制频谱

我读过这些问题:UsingtheAppleFFTandAccelerateFrameworkHowdoIsetupabufferwhendoinganFFTusingtheAccelerateframework?iOSFFTAccerelate.frameworkdrawspectrumduringplayback它们都描述了如何使用加速框架设置fft。在他们的帮助下,我能够设置fft并获得基本的频谱分析仪。现在,我正在显示我从fft获得的所有值。但是,我只想显示10-15个或可变数量的条形图来表示某些频率。就像iTunes或WinAmp电平表一样。1.我是否需要对一系列频率的幅度值进

iphone - 如何包含 vDSP 框架 (iOS)?

我在包含vDSP框架时遇到问题。我认为这只是要做的步骤:#includevoidtest(){floata[1024],b[1024],c[1024];vDSP_vmul(a,1,b,1,c,1,1024);}但是如果我尝试构建,我会得到一个错误:"_vmul",referencedfrom:我想我没有链接框架。但我该怎么做呢? 最佳答案 如果我没记错的话,vDSP函数在Accelerate框架中。从“构建阶段”选项卡上的目标设置中,展开标题为“将二进制文件与库链接”的区域。从那里您可以按加号按钮添加新框架。在列表中找到Accele

ios - 如何用vDSP_conv模拟MATLAB的xcorr函数?

我目前正在将MATLAB算法转换为C语言以便在iOS应用程序中使用它。我一直在努力使用MATLAB的xcorr函数。这是相关的MATLAB代码。xcr=xcorr(A,A,maxlags);这,根据MA​​TLAB文档returnsthecross-correlationsequenceoverthelagrange[-maxlags:maxlags].Outputchaslength2*maxlags+1.AppleAccelerate.Framework提供了一个名为vDSP_conv的卷积/相关函数,但我看不出如何使用它来产生与xcorr相同的输出.这可能吗?如果是,谁能帮助我。

iphone - 如何检查 vDSP 函数是否在 neon 上运行标量或 SIMD

我目前正在使用vDSP框架中的一些函数,尤其是vDSP_conv,我想知道是否有任何方法可以检查该函数是调用标量模式还是在neon处理器上处理SIMD。documentation该函数的部分提到了必须满足或调用标量模式的power-pc-architecture的一些标准。现在我既不知道这些标准是否也适用于iphone,也不知道如何检查我的函数是否调用标量模式或在neon上正常运行。有没有办法检查这个?谢谢! 最佳答案 NEON代码用于vDSP_conv实现。它在某些情况下使用,而在其他情况下不使用。我们(生产vDSP的Vector

ios - 使用 vDSP 打包实数到复数 FFT 2d

我正在尝试使用vDSP在iOS中进行二维相位相关。我有2张相同大小的图像(宽度和高度是2的幂)。我想使用vDSP_fft2d_zrip对两个图像进行fft然后将一个乘以另一个的共轭。如何使用函数vDSP_ctoz和vDSP_ztoc对真实数据(图像)进行打包和解包以进行实到复2dfft? 最佳答案 这个问题我也花了几天时间!我最终找到了KiranPradeep的一个github项目,它很好地解释了如何做到这一点。由实数到复数FFT产生的复数数据采用一种奇怪的格式,Apple对此解释得不是很好。github项目也展示了如何使用它。ht

android - 什么是(如果有)与 iOS 加速/veclib vDSP 框架等效的首选 Android?

我正在研究一些iOS信号处理代码,以确定它对Android平台的可移植性。iOS加速/veclib(sDSP)框架有多种方法用于向量和矩阵数学运算。其中包括vDSP_vflt16(int到FP转换)、vDSP_vsmul(向量/标量乘法)、vDSP_vsort(向量排序)等等。是否有适用于android平台的等效框架?注意:我在这方面没有经验。 最佳答案 我自己没测试过,看一看ProjectNE10(看起来像是从ARM本身开源)他们声称可以让您使用NEON指令集而无需自己编写程序集。无论如何,它们的功能可能比一些自制的东西优化得更好