我有一个嘈杂的正弦信号,我想从中提取正弦的基频。我该怎么用?
信号处于离散时域,具有已知的采样频率。实际上我试图证实我通过FFT分析得到的答案,所以我不能使用FFT。
答案 0 :(得分:0)
这是一段R
代码,它对某些信号实现连续小波变换(使用biwavelet
包)。
信号由频率为40 Hz的正弦波和随机噪声组成。 结果显示频率40 Hz在整个信号中占主导地位。
signal.len <- 1024 # input param.
sin.freq <- 40 # input param.
# noise + 40 Hz sine wave
signal <- rnorm(signal.len) + sin(sin.freq*2*pi/signal.len * 1:signal.len)
library(biwavelet)
w <- wt(cbind(index(signal), signal)) # continuous wavelet transform
# rendering the results
par(mfrow=c(2,1))
plot.default(signal, type = "l", xaxs = "i") # the signal
plot.biwavelet(w, useRaster = TRUE) # spectrum of the signal