Перенос спектра в Матлаб
03.11.2021
Добрый день! Возникли проблемы и недопонимание с происходящим) Смоделировал сигнал:
nSamples = 1000; % число отсчетов
sampleRate = 10e9; % частота дискретизации
f0 = 1e9; %...
Добрый день! Возникли проблемы и недопонимание с происходящим) Смоделировал сигнал:
nSamples = 1000; % число отсчетов
sampleRate = 10e9; % частота дискретизации
f0 = 1e9; % 1 GHz
f_dev = 0,1; % 1e6; % 10 Mhz
V_0 = 1; % амплитуда
a_dev = 0.01; % 0.1;
phi_0 = 0; % начальная фаза
t =(1:nSamples)'/sampleRate;
Signal = V_0*(1+randn(nSamples,1)*a_dev).*cos(phi_0+2*pi*(f0+randn(nSamples,1)*f_dev).*t);
Signal_0 = Signal.*exp(1i*2*pi*f0*time); % снос на нулевую частоту
L = size(Signal,1); % размер массива сигнала
NFFT = L; % перенаименование переменной размера массива
if(mod(NFFT,2)==1) % проверка условия деление по модулю 2 (если нечетное число, то добавляем одну единицу)
NFFT = NFFT+1;
end
FFT = fft(Signal,NFFT,1)/L; % БПФ от сигнала по размеру NFFT с делением на общую длину (нормировка по уровню)
f = Fs/2*linspace(0,1,NFFT/2+1)'; % вычисление массива частот в линейном масштабе
P = 2*abs(FFT(1:floor(NFFT/2+1),:)); % построение спектра для массива с 1 по 2561 элемент
df = f(2)-f(1); % вычисление разрешения по частоте
xlog = 10*log10(x); % логарифм по мощности от модуля значений сигнала
xlog = xlog - max(xlog); % нормируем логарифм по максимальному значению
plot(f,xlog);
Вопросы:
1. по этой строчке Signal_0 = Signal.*exp(1i*2*pi*f0*time); % снос на нулевую частоту. Получается,что просто частота удваивается и все, а не сносится в ноль?
2. необходимо построить спектр одиночной боковой полосы (правой). так чтобы несущая была на нулевой частоте и вправо уходила отстройка частоты от несущей.
3. как узнать разрешение по частоте после БПФ?
Грубо говоря: хочу получть из этой картинки
Вот такую
Комментарии
Думаю стоит подробнее почитать про это
Расстояние между двумя соседними точками.
UPD: Какая-то у Вас откровенная каша в коде. Даже переменные в начале так называются в конце иначе. Это явно что-то не работоспособное.
Что делается этой стрчкой f_dev = 0,1 понять . . . . .