Цитата(Виктор39 @ Apr 5 2013, 11:00)

Спасибо andyp.
можете показать в чем ошибка? даже при Doppler_spread = 0 вносятся искажения в сигнал.
Chan.rar ( 661 байт )
Кол-во скачиваний: 68Часть Вашего кода:
Код
% Doppler shift
path = A(j)*exp(1i*2*pi*t*Doppler_shift(j)).*WhiteNoise';
Sig = path.*SigOut;
SignalOutChan = SignalOutChan + Sig;
Попробуйте убрать из строчки "
Sig = path.*SigOut;" умножение на "
path". Сигнал тут же примет более красивый не искаженный вид.
Дело в том, что
Doppler Shift сам по себе является модуляцией сигнала.
Для примера можно привести следующий код:
Код
%% ***** Инициализация начальных параметров сигнала ****
Fs=20; %<--- Частота дискретизации;
f=5; %<--- Частота сигнала;
t=0:1/Fs:5; %<--- Время;
%% **************************************************
%%
%% *********** Формирование сигнала ******************
y=sin(2*pi*t*f); %<--- Исходный сигнал;
%% **************************************************
%%
%%
%% ******* Перевод в частотную область *************
FF=fft(y);
%% **************************************************
%%
%%
%% ************ Простой сдвиг спектра на 10 шагов ********
FF2=circshift(FF,[0 10]);
%% **************************************************
%%
%%
%% ******** Перевод во временную область ***************
y2=ifft(FF2);
%% **************************************************
%%
%%
%% ********* Построение графиков **********************
% 1. График исходного сигнала:
% 1.1. Построение графика:
subplot(1,2,1);
plot(t,y);
% 1.2. Настройка графика:
title('Исходный сигнал');
% 2. График принятого сигнала:
% 2.1. Построение графика:
subplot(1,2,2);
plot(t,y2);
% 1.2. Настройка графика:
title('Принятый сигнал после сдвига спектра');
%% ***************************************************
Сообщение отредактировал СФТКСР - Apr 5 2013, 08:59