DBPSK Демодуляция в Simulink с использованием Xilinx Blockset - PullRequest
1 голос
/ 05 мая 2011

Я пытаюсь создать демодулятор DBPSK, используя набор блоков Simulink и Xilinx.Я рассчитываю разность фаз последовательных образцов следующим образом: enter image description here

Итак, теперь мне нужно сопоставить эти разности фаз с символом 0 или 1 в зависимости от того, равна ли разность фаз 0 или пи.

% ----------------------------------------
% | Bit input   |   Phase change (+j*pi) |
% ----------------------------------------
% |     0       |       0                |
% ----------------------------------------
% |     1       |       pi               |
% ----------------------------------------

Я не уверен, как я могу выполнить отображение фазы на символ в Simulink (Xilinx).Кстати, вот версия Matlab:

demod_symbol=abs(round(DBPSK_Signal/pi));
for i=1:length(demod_symbol)
        if(demod_symbol(i)==2)
            demod_symbol(i)=0;
        end
end

Пожалуйста, дайте мне знать, если мой подход правильный и как действовать дальше

1 Ответ

1 голос
/ 05 мая 2011

Возьмите выходной сигнал вашего вычитающего устройства и подайте его в блок сравнения «больше чем» с другим входом, установленным в pi / 2. Результатом этого будет бит, который вам нужен.

Имейте в виду, вы будете создавать довольно много логики в этих блоках atan - почти наверняка есть более эффективный способ сделать это, но это не приходит в голову прямо сейчас.

...