使用 Xilinx 模块集在 Simulink 中进行 DBPSK 解调

发布于 2024-11-04 21:14:44 字数 774 浏览 3 评论 0原文

我正在尝试使用 Simulink 和 Xilinx 模块集构建 DBPSK 解调器。我这样计算连续样本的相位差: 在此处输入图像描述

因此,现在我需要将这些相位差映射到符号 0 或 1,具体取决于相位差是否为0 或 pi。

% ----------------------------------------
% | 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

请告诉我,我的方法是否正确以及如何进一步进行

I am trying to build a DBPSK demodulator using Simulink and Xilinx blockset. I calculate the Phase Difference of the Successive samples like this :
enter image description here

So, now I need to map these Phase Difference to Symbol 0 or 1 depending on whether the Phase difference is 0 or pi.

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

I am not sure how I can do Phase to Symbol mapping in Simulink(Xilinx). BTW, here is the Matlab version :

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

Please let me know, if my approach is correct and how to proceed further

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

留一抹残留的笑 2024-11-11 21:14:44

将减法器的输出输入到“大于”比较块,并将另一个输入设置为 pi/2。其输出将是您需要的部分。

请注意,您将在这些 atan 块中创建相当多的逻辑 - 几乎肯定有一种更有效的方法来执行此操作,但此时此刻并没有想到。

Take the output of your subtractor and feed it to a "greater-than" compare block with the other input set to pi/2. The output of that will be the bit you need.

Be aware, you'll be creating quite a lot of logic in those atan blocks - there's almost definitely a more efficient way of doing this, but it doesn't spring to mind right at this minute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文