I have a time-based signal (Raw signal) sampled at 6 MHz and need to analyze it in freq. domain. I'm learning DSP and this is very first time I work with DSP. Could you please help to check if this code is correct or not. And I have couple of questions needed to be clarify:
I've heard about linear scale and logarithm scale in order to observe the amplitude easier. Could you please explain to me, in this case, how can I get the logarithm scale?
for some function in Matlab (for example fft, spectrogram, etc), how can I get the code (just in case I want to change something to adapt my need)?
input=V5k_a100; N=2048; L=4096; Fs=6e6; spectrumTemp=; for index=1:length(input)/L slice = input(1+(index-1)*L:index*L); abcd = hann(L) .* slice; NFFT = 2^nextpow2(N); spectrumTemp(index, :) = fft(abcd, NFFT)/L; end f = [0:NFFT-1]*Fs/NFFT; freq = f(1:length(f)/2); time = [0:length(input)/L-1]*L/Fs; spectrum = spectrumTemp(:, 1:length(f)/2); mesh(time,freq',abs(spectrum'));