小程序开发平台网站推荐,世界互联网峰会时间,商业空间设计公司,泰州seo推广欢迎关注BUG记录知乎专栏和BUG记录公众号#xff0c;关注BUG记录公众号回复101获取本文使用的Simulink仿真文件微信号#xff1a;BugRec由于最近研究某个高速接口没什么实质性的突破#xff0c;实在写不出太好的东西#xff0c;所以就写点更为基础的东西分享给大家#xf…欢迎关注BUG记录知乎专栏和BUG记录公众号关注BUG记录公众号回复101获取本文使用的Simulink仿真文件微信号BugRec由于最近研究某个高速接口没什么实质性的突破实在写不出太好的东西所以就写点更为基础的东西分享给大家顺带着自己也回忆回忆防止自己西瓜也没捡到芝麻也丢了。这个系列是以前通信原理课程的课设通过实现BPSK可以学习到Simulink的使用仿真m序列的verilog实现Vivado/Xilinx的IP核调用数据截位查看数据波形等。本次文章记录的是BPSK的Simulink实现会重点介绍几个Simulink模块的作用。相移键控BPSK主要是利用载波的相位变化传递数字信息传递过程中振幅和频率保持不变。通常使用初始相位0和pi分别表示二进制的“0”和“1”相位变化 图1基带信号示意图从《通信原理》关于BPSK的讲解中可以知道BPSK的调制方式有模拟调制方法和键控法我们选择模拟调制并使用Simulink做仿真框图如下接下来对各个主要模块的讲解Random Integer伪随机数发生器可以通过Set size限定随机数的上限下限为0伪随机数不是真的随机数具有很长的周期它的周期跟Initial seed有关Sample time控制输出数据的周期产生的伪随机信号这个模块作用是产生一个随机序列在FPGA中将使用m序列模块实现其功能2. 符号映射模块这个模块在Random Integer后3个小模块伪随机数发生器输出的0,1经过减0.5后成为-0.5,0.5乘2之后为-11也就是0 映射到-1,1映射到1这么做的原因是为了简化BPSK的过程 由上面这个公式可以知道当需要发送初始相位π时只需要将cos(wt)乘以-1这里我们假设的是发送“0”时初始相位为π发送1时初始相位为0如果想要保持与上图1一样的初始相位可以使用乘以-2代替乘以2实现0 映射到1,1映射到-1符号映射之后的基带信号注意当产生QPSK等信号时就不能采用这种方法需要使用到IQ两路信号产生基带信号。3. 升采样及基带滤波模块Simulink的例子中伪随机信号发生器的符号速率为1Mbps经过Zero-Order Hold模块将前面模块产生的模拟信号转换为数字信号采样率为50MHz由于伪随机信号发生器及符号映射模块产生的信号为-1和1产生信号是矩形信号而根据傅里叶变换的知识可以知道矩形信号的频谱是基波加上一系列奇次谐波为了减小基带信号的信号带宽我们需要使用低通滤波器尽量滤去谐波分量保留矩形信号的基波FIR滤波后的基带信号FIR设置界面Digital Filter Design设置界面很简单勾选Lowpass选择FIR选择阶数128窗函数选择Blackman截止频率与采样率之比为2:50数字滤波器采样率和截止频率的单位不重要两者之间的比率较为重要而例子中此时信号为50MHz所以截止频率为2MHz这个模块在FPGA中将使用相应的IP核实现功能4.上变频模块因为基带信号的频率较低实际应用中考虑到天线长度信号频谱利用等原因需要使用上变频将信号搬移到较高频率我们在仿真过程中将基带信号搬移到10MHz这就需要将基带信号与10MHz的正弦波相乘Sine Wave设置Sine Wave模块的设置较为简单设置好幅度Amplitude频率Frequency初始相位Phase和采样率Sample time后通过Product模块将其与基带信号相乘输出就是BPSK的仿真信号这个模块在FPGA中将使用相应的IP核实现功能5. 输出结果射频频谱图信号眼图通过伪随机信号发生器符号映射FIR滤波上变频模块后一个完整的BPSK信号产生了虽然这整个仿真过程可能不够严谨但我们的重心在于verilog实现接下来会依次讲到相应模块的verilog实现在这个过程中我回忆和巩固自己所学的知识欢迎大家关注。如果对这个Simulink有更好的改进方法方案可以留言一起谈论欢迎大家点赞收藏留言讨论交流。万物皆可卷积LVDS差分信号简单处理5. 使用OSERDES发送高速串行数据zhuanlan.zhihu.com万物皆可卷积SPI发送协议的STM单片机实现- 利用CubeMx控制WS2812灯带zhuanlan.zhihu.com万物皆可卷积LVDS差分信号简单处理4. 使用ISERDES接收高速串行数据zhuanlan.zhihu.com