我想在Julia中可视化一个信号及其频谱。
我找到了提供FFT的FFTW包和提供频率的DSP包。
这是我正在尝试的,使用正弦信号:
我找到了提供FFT的FFTW包和提供频率的DSP包。
这是我正在尝试的,使用正弦信号:
using Plots
using FFTW
using DSP
# Number of points
N = 2^14 - 1
# Sample rate
fs = 1 / (1.1 * N)
# Start time
t0 = 0
tmax = t0 + N * fs
# time coordinate
t = [t0:fs:tmax;]
# signal
signal = sin.(2π * 60 * t) # sin (2π f t)
# Fourier Transform of it
F = fft(signal)
freqs = fftfreq(length(t), fs)
freqs = fftshift(freqs)
# plots
time_domain = plot(t, signal, title = "Signal")
freq_domain = plot(freqs, abs.(F), title = "Spectrum")
plot(time_domain, freq_domain, layout = 2)
savefig("Wave.pdf")
我本以为会得到一个60 Hz的高峰的漂亮图表,但是结果却很奇怪:
我现在忽略负频率。
在Julia中应该如何做到这一点?