реклама на сайте
подробности

 
 
> Формирование спектра, вопрос по rcosflt
COCAINE
сообщение Mar 25 2009, 21:37
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 17-08-08
Из: Киев
Пользователь №: 39 650



есть код формирования PSK-4 на несущей
Цитата
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]) % график в частотной области


хочу применить к нему формирующий фильтр rcosflt.

вообщем проблема в следующем:
мне нужно смоделировать, скажем сигнал PSK-4 с несущей 2500Hz и скоростью 100 бод.

формируем комплексную огибающую, количество символов 1000:
Цитата
M = 4;
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);

т.е. я получил время 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 бод?

Сообщение отредактировал COCAINE - Mar 25 2009, 21:49
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
_Anatoliy
сообщение Mar 26 2009, 11:33
Сообщение #2


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(COCAINE @ Mar 25 2009, 23:37) *
вот тут проблема... не совсем понимаю что такое Fd и Fs... как я понял,


Fd - символьная скорость
Fs - частота дискретизации
Должны быть кратными(часто Fs/Fd берут равным 4).

На выходе скорость передачи не изменится,просто на один символ будет приходиться несколько отсчётов,например 4.
Go to the top of the page
 
+Quote Post
COCAINE
сообщение Mar 27 2009, 06:19
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 17-08-08
Из: Киев
Пользователь №: 39 650



http://matlab.exponenta.ru/communication/book2/7/rcosflt.php
Цитата
Частота дискретизации входного цифрового сигнала x равна Fd, частота дискретизации выходного сигнала y равна Fs. Отношение Fs/Fd должно быть положительным целым числом. В процессе работы функция rcosflt повышает частоту дискретизации сигнала в Fs/Fd раз, вставляя между отсчетами соответствующее количество нулей. Полученный сигнал пропускается через интерполирующий фильтр, порядок которого равен 1+2*delay*Fs/Fd, где задержка delay по умолчанию равна 3.


ага, т.е. меняется только частота дискретизации... ладно попробую, пасиба
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016