Возникла следующая сложность. Перемножаю 2 сигнала частотой 1,5 МГц и 1,499 МГц. Согласно теории, полученный смешанный сигнал должен содержать:
1. суммарную частоту сигналов 1,5 МГц + 1,499 МГц = 2,999 МГц;
2. разностную частоту сигналов 1,5 МГц - 1,499 МГц = 1 кГц;
3. частоту сигнала 1,5 МГц;
4. частоту сигнала 1,499 МГц.
Ниже приведен код программки:
Код: Выделить всё
clear all;
close all
%__________________________________________________________________________
f1 = 1500000;
f2 = 1499000;
w1=2*pi*f1;
w2=2*pi*f2;
A = 1023;
%__________________________________________________________________________
Fs=50000000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000000; % Length of signal
t = (0:L-1)*T; % Time vector
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
f = Fs/2*linspace(0,1,NFFT/2+1);
x1 = A*sin(w1*t);
x2 = A*sin(w2*t);
%__________________________________________________________________________
x1x2mult=x1.*x2;
%___________________сигнал_________________________________________________
figure;
plot(t,x1x2mult);
title('x1x2mult');
%___________________спектр_________________________________________________
x1x2_fft = fft(x1x2mult,NFFT)/L;
figure;
plot(f,2*abs(x1x2_fft(1:NFFT/2+1)))
title('спектр сигнала x1x2mult');
На полученном спектре вижу только суммарную частоту сигналов 2,999 МГц. Подскажите как увидеть и остальные частоты, что я делаю не так? =(