【问题标题】:DBPSK Demodulation in Simulink using Xilinx blockset使用 Xilinx 模块集在 Simulink 中进行 DBPSK 解调
【发布时间】:2011-05-05 07:45:45
【问题描述】:

我正在尝试使用 Simulink 和 Xilinx 模块组构建 DBPSK 解调器。我像这样计算连续样本的相位差:

所以,现在我需要根据相位差是 0 还是 pi,将这些相位差映射到符号 0 或 1。

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

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

【问题讨论】:

    标签: matlab signal-processing fpga simulink xilinx


    【解决方案1】:

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

    请注意,您将在这些 atan 块中创建相当多的逻辑 - 几乎肯定有一种更有效的方法可以做到这一点,但现在还没有想到。

    【讨论】:

    • 非常感谢。。我使用复数乘法器 3.1 将样本和前一个样本的复共轭相乘,然后用 atan 计算相位差。
    • 这似乎还有很长的路要走。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2012-06-27
    • 1970-01-01
    • 2016-10-11
    • 2023-03-15
    相关资源
    最近更新 更多