使用 Xilinx 模块集在 Simulink 中进行 DBPSK 解调
我正在尝试使用 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 :
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将减法器的输出输入到“大于”比较块,并将另一个输入设置为 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.