我试图将应用于R.中的一个复杂信号,然而,只有我的信号的大小和我预期的一样。我认为应该可以将这个定理应用于复杂信号,所以我可能在某个地方犯了一个错误。我的猜测是,我计算的频率轴有一个误差。
如何正确地将傅里叶移位定理应用于复信号(使用R)?
i = complex(0,0,1)
t.in = (1+i)*matrix(c(1,0,0,0,0,0,0,0,0,0))
n.shift = 5
#the output of fft() has the mean / 0 frequency at the first element
#it then increases to the highest
为什么我的傅里叶不能正常工作?我在哪里弄错了?我写的时间域是否正确?我使用的信号方程是:
f = 5; %fixed signal frequency
fs = 100; %fixed sample frequency (100Hz)
A=1; %fixed amplitude (1)
l=1; % (sec) fixed signal length
k = app.FourierSerieslength.Value; %myFourier series length is 1 to 21
t = 0:1/fs:l-1/fs;
% y = A*sin
有没有人知道是否有可能找到有间隙的信号的功率谱密度。例如(在matlab语法中,这是我所熟悉的)
ta=1:1000;
tb=1200:3000;
t=[ta tb]; % this is the timebase
signal=randn(size(t)); this is a signal
figure(101)
plot(t,signal,'.')
我希望能够在更长的时间基础上确定频率,这只是数据的各个部分。显然,我可以只采取PSD的个别部分,但这将限制最低的频率。我可以插值数据,但这将着色私营部门司。
任何想法都将不胜感激。
最近,我正在将傅里叶级数函数拟合成周期信号,以便通过最小二乘法检索每个分量的幅值和相位,因此我修改了文件的代码:
import math
import numpy as np
#period of the signal
per=1.0
w = 2.0*np.pi/per
#number of fourier components.
nf = 5
fp = open("file.cat","r")
# m1 is the number of unknown coefficients.
m1 = 2*nf + 1
# Create empty matrices.
x
我想用sin()函数来拟合时间序列,因为它有一些周期(峰谷)的形式。然而,现在我只猜到了,例如,一个月,两个月,.,一年,两年。R中是否有函数来估计一个数据序列中的多个周期?
下面是一个示例,我希望使用sin()函数的组合来对其进行拟合。lm()中的表达式是经过几次猜测后的一个尝试(下图中的红线)。如何找到具有适当周期的sin()术语?
t <- 1:365
y <- c(-1,-1.3,-1.6,-1.8,-2.1,-2.3,-2.5,-2.7,-2.9,-3,-2,-1.1,-0.3,0.5,1.1,1.6,2.1,2.5,2.8,3.1,3.4,3.7,4.2,4.6,5,5
我很好奇,如果有一些连续的值(例如,在之间有x的y值),以及如果可以为用于获得任意近似的算法设置一个精度,那么什么才是重建函数的有效方法。
我偶然发现了用Fourier级数重构这些函数的可能性,但是对于如何在C#中自己实现这些函数,我非常不确定。其目的是通过做而不是使用现有的库来学习。关于如何(大致)建立一个函数的任何其他建议也是受欢迎的。为了在运行时创建函数,我考虑了元编程(使用Expression)。
编辑: For Fourier级数,我发现了一个相关的问题加上。然而,所提供的解决方案是在Mathematica中提供的,并使用其库。
我试图用Matlab中的FFT来获得傅里叶级数系数。它们有正确的绝对值,但我也需要这些术语的符号。
t = linspace(-pi,pi,512);
L = length(t);
S = t; % Function
c = fft(S)/L
a = c(2:end)+c(end:-1:2)
b = (c(2:end)-c(end:-1:2))*i
%The first/last b-terms should be 2, -1, 0.66, -0.50...
我在这里做错什么了?
var ctx = new webkitAudioContext();
pw = ctx.createWaveshaper();
每次我在Google中使用CreatePeriodicWave()时,我都会得到
SyntaxError: Failed to construct 'PeriodicWave': invalid real array
为了避免这个错误,我在函数中放了什么?