He probado este código de ejemplo para muestreo y FFT en MATLAB, pero he notado que cuando la frecuencia de la señal se acerca a la frecuencia de nyquist, comienzan a aparecer algunos errores (pequeños componentes de frecuencia cerca de las frecuencias de señal dadas) en el dominio de la frecuencia. arriba. ¿Hay alguna explicación para esta situación?
close all;clear all; clc;
freq = 100;
freq1 = 1000;
freq2 = 2000;
freq3 = 3000;
freq4 = 4000;
Fs = 10000;
t = 0:1/Fs:1;
x = cos(2*pi*freq*t) + cos(2*pi*freq1*t)+cos(2*pi*freq2*t) ...
+cos(2*pi*freq3*t)+cos(2*pi*freq4*t);
tempfft = abs(fftshift(fft(x)));
figure;
stem(0:floor(Fs/2),tempfft(floor(Fs/2):Fs));