Цитата
Fc = 100; % частота несущей
Fd = 50; % символьная скорость
Fs = 1000; % частота дискретизации
M = 4; % порядок манипуляции
msg = [randint(1, 100, M-1)]; % формирования сообщения из 100 символов
N = length(msg); % длина сообщения
t = (0 : 1/Fs : 1/Fd*N-1/Fs); % дискретное время
s_psk = pskmod(msg, M); % собственно модулирующий сигнал
s_psk_discr = s_psk(floor(Fd*t)+1); % повышения частоты дискретизации
carrier = exp(2i*pi*Fc*t); % формирование комплексной несущей
y = real(s_psk_discr .* carrier); % "насаживание" сигнала на несущую
plot(t(1:200), y(1:200)); grid on % график во временной области
periodogram(y, [], [], Fs); xlim([0 0.5]); ylim([-80 0]) % график в частотной области
Fd = 50; % символьная скорость
Fs = 1000; % частота дискретизации
M = 4; % порядок манипуляции
msg = [randint(1, 100, M-1)]; % формирования сообщения из 100 символов
N = length(msg); % длина сообщения
t = (0 : 1/Fs : 1/Fd*N-1/Fs); % дискретное время
s_psk = pskmod(msg, M); % собственно модулирующий сигнал
s_psk_discr = s_psk(floor(Fd*t)+1); % повышения частоты дискретизации
carrier = exp(2i*pi*Fc*t); % формирование комплексной несущей
y = real(s_psk_discr .* carrier); % "насаживание" сигнала на несущую
plot(t(1:200), y(1:200)); grid on % график во временной области
periodogram(y, [], [], Fs); xlim([0 0.5]); ylim([-80 0]) % график в частотной области
хочу применить к нему формирующий фильтр rcosflt.
вообщем проблема в следующем:
мне нужно смоделировать, скажем сигнал PSK-4 с несущей 2500Hz и скоростью 100 бод.
формируем комплексную огибающую, количество символов 1000:
Цитата
M = 4;
msg = [randint(1, 1000, M-1)];
s_psk = pskmod(msg, M);
msg = [randint(1, 1000, M-1)];
s_psk = pskmod(msg, M);
Время передачи сообщения:
Цитата
Fs = 10000;
Fm = 100;
N_msg = length(msg);
t = (0 : 1/Fs : 1/Fm*N_msg-1/Fs);
Fm = 100;
N_msg = length(msg);
t = (0 : 1/Fs : 1/Fm*N_msg-1/Fs);
т.е. я получил время T=N*(1/Fm), которое потребуется для передачи сообщения из 1000 символов со скоростью передачи 100 бод. Итого получилось 100000 отсчетов.
Дискретизируем s_psk с частатой Fs:
Цитата
s_psk_discr = s_psk(floor(Fm*t)+1);
теперь мы имеем модулирующую функцию, которая меняет свое значение 100 раз в секунду (для получения скорости передачи 100 бод), с частотой дискретизации 1000. Количество отсчетов по прежнему 100000.
Применяем формирующий фильтр...
Цитата
s_psk_flt = rcosflt(s_psk_discr, Fd, Fs, 'sqrt');
вот тут проблема... не совсем понимаю что такое Fd и Fs... как я понял,
Fd - это частота дискретизации до применения функции (т.е. моя Fs).
Fs - это частота дискретизации после функции.
вот теперь вопрос, какие должны быть Fs и Fd что бы на выходе я получил модулирующую сглаженную функцию с частотой дискретизации 1000 и количеством отсчетов 100000, что бы сохранить скорость передачи 100 бод?