- 博客(45)
- 资源 (17)
- 收藏
- 关注
原创 基于码分多址的多用户水下无线光通信(3)——解相关多用户检测
本文介绍基于解相关的多用户检测算法。解相关检测器的优点是因不需要估计各个用户的接收信号幅值而具有抗远近效应的能力。常规的解相关检测器有运算量大和实时性差的缺点,本文针对异步CDMA的MAI主要来自干扰用户的相邻三个比特周期的特点,给出了基于相邻三个匹配滤波器输出数据的截断解相关检测算法。
2024-06-23 22:10:12
872
原创 基于码分多址的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计
本文首先介绍了基于CDMA的多用户UOWC系统模型,并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法,该算法只需要已知所有用户的扩频码,然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。
2024-06-23 22:08:23
944
原创 基于码分多址的多用户水下无线光通信(1)——背景介绍
研究生期间做多用户水下无线光通信(Underwater Optical Wireless Communication,UOWC),写几篇博客分享一下学的内容。本文介绍研究背景和研究现状。
2024-06-23 22:06:32
1356
2
原创 ZYNQ通过AXI DMA实现PL发送连续大量数据到PS DDR
PL 和 PS 的通信方式有 AXI GPIO、BRAM、DDR等。对于数据量较少、地址不连续、长度规则的情况,BRAM 比较适用。而对于传输速度要求高、数据量大、地址连续的情况,比如 ADC,可以通过 AXI DMA 来完成。本文介绍如何在 ZYNQ 上使用 AXI DMA 实现从 PL 发送大量连续数据到 PS 的 DDR 存储器,适用于搬运 ADC 连续采样数据。
2023-11-10 11:04:17
15691
46
原创 HLS实现FIR低通滤波器并上板验证
本文介绍用HLS编写FIR滤波器代码并做相应优化,HLS代码编写好后导入System Generator进行仿真,最后上板验证代码的可行性。
2023-08-13 22:21:34
1454
原创 ZYNQ无SD卡配置Linux系统到QSPI Flash和eMMC
本文介绍在ZYNQ上,没有SD卡时,如何用QSPI Flash和eMMC启动Linux系统。QSPI Flash放置BOOT.BIN,eMMC的第一个分区(FAT32格式)放置image.ub和system.dtb,eMMC第二个分区(EXT4格式)放置根文件系统放。eMMC的操作和SD卡一样,难点是如何格式化eMMC,其他步骤和用SD卡时差不多。
2023-05-22 12:04:47
9482
17
原创 Gauss-Seidel迭代法求解线性方程组
介绍Gasuu-Seidel迭代法求解线性方程组的公式,给出实现Gasuu-Seidel迭代法的C语言代码。
2023-05-14 17:00:59
1919
原创 基于插值算法和Gardner定时误差检测的OOK信号定时同步的FPGA实现
本文介绍如何用FPGA实现基于插值算法的OOK信号定时同步。定时同步的主要模块包括插值滤波器、定时误差检测器、环路滤波器和数控振荡器。我们的目标是用外部提供50MHz时钟的zynq7100芯片实现400MHz采样频率和100Mbps的OOK数字基带信号的定时同步。...
2022-04-30 21:33:54
4448
62
原创 Vivado的DDS IP核实现连续相位2FSK
本文介绍如何使用DDS IP核实现连续相位二进制频移键控。输入比特速率1MHz,1 bit对应的载波为4MHz正弦信号,0 bit对应的载波为6MHz正弦信号,系统时钟频率50MHz。
2022-02-05 01:31:25
5498
12
原创 Vivado的FIR IP核实现低通滤波器
本文介绍如何使用Vivado的FIR IP核实现低通滤波器。我们将设计一个采样频率为10MHz,通带0~1MHz,阻带高于2MHz的FIR低通滤波器。测试时,滤波器的输入信号为1MHz和3MHz的正弦波的叠加信号,期望滤波器能输出失真较小的1MHz的正弦信号。
2022-01-24 22:47:33
21430
31
原创 Vivado将.v文件作为模块加入Block Design
本文介绍在Vivado中,如何在不封装IP core的情况下将HDL写的模块放入Block Design。
2021-09-13 23:51:18
19010
9
原创 基于Qt的.bmp图片转C语言数组或.bin二进制文件方法
用Qt设计了可以将bmp格式的图片转换为C语言的数组和二进制文件的小工具,并贴出了部分转换代码。
2021-08-19 23:13:45
3045
原创 测量RT-Thread线程调度的时间的方法
在实时操作系统中,线程调度花费的时间是一个值得关注的影响系统实时性的因素,尤其是在系统需要处理紧急的任务时,线程调度的时间更是不能忽略。本文给出了一种在GD32单片机上测量RT-Thread系统线程调度时间的方法。
2021-08-15 01:28:48
1871
原创 STM32F4单定时器独立输出四路PWM脉冲
本文以STM32F405单片机为例,介绍如何用一个定时器的四个通道独立地输出四路PWM脉冲。主要使用定时器输出比较的翻转功能和捕获比较中断。
2021-04-05 23:37:57
10513
3
原创 MATLAB的bertool绘制误码率理论值与仿真值对比曲线
MATLAB提供了bertool来分析通信系统的误码率,本文以BPSK(二进制相移键控)为例来说明如何使用bertool绘制误码率理论值与仿真值对比曲线。
2021-03-20 00:06:12
14372
59
原创 证据理论的模态逻辑解释
论文“On Modal Logic Interpretation of Dempster-Shafer Theory of Evidence”的用模态逻辑解释证据理论,本文记录我对该文献的理解。
2021-02-21 03:11:03
734
原创 模态逻辑(2)—— 模态逻辑基本概念
在命题逻辑中使用的运算符全部是真值函数运算符 (Truth-functional operator),而模态逻辑关心额外的非真值函数的 (non-truth-functional) 概念。
2021-02-21 00:51:46
2790
原创 模态逻辑(1)——从命题逻辑开始
模态逻辑 (Modal logic) 研究的是“必然 (Necessity)”和“可能 (Possibility)”及相关概念。模态逻辑基于命题逻辑 (Propositional calculus, PC) ,在命题逻辑中,我们仅考虑事情在现实情况下的真 (Truth) 假 (Falsity),而模态逻辑还考虑在其他可能情况(或称为可能世界,possible world,这类情况可能存在但现实不处于这类情况)下,事情是真还是假。
2021-02-21 00:51:23
1740
原创 证据理论(3)—— 计算两个证据体的距离
计算两个证据体的距离的主要思想是:定义一个由幂集中的元素作为基底的向量空间,一个证据源的基本概率分配函数 (bpa) 就是该证据源在向量空间上的向量,然后在此基础上定义和计算距离。
2021-02-14 02:26:59
4578
9
原创 证据理论(2)—— 多种合成公式
本文总结了 Yager、孙全、Smets、Dubois and Prade、Discounting and Dempster 和 Murphy 合成公式,并给出计算示例。
2021-02-08 00:03:15
6139
5
原创 证据理论(1)—— DS证据理论基本理论
证据理论 (Theory of Evidence) 是由 Dempster 首先提出,由Shafer进一步发展起来的一种不精确推理理论,也称为 Dempster-Shafer (DS) 证据理论。证据理论可以在没有先验概率的情况下,灵活并有效地对不确定性建模。
2021-02-06 17:58:43
18556
16
原创 (n,k,N)卷积码的生成矩阵
(n,k,N)卷积码是将每k个信息比特作为一组,编码成n个编码比特输出。卷积码的生成矩阵就是在描述 kN位输入移位寄存器的每一位与每个模2和加法器的连接关系。本文按”子生成元→生成元→子生成矩阵→生成矩阵”的顺序叙述。
2020-06-01 18:12:20
12895
原创 VHDL的GENERATE语句实现四位全加器
1位全加器接口有:A被加数输入端,为加数输入端,C进位输入端,CO进位输出端,S和数输出端。1位全加器表达式如下:S=A xor B xor C, CO=(AB)+(AC)+(BC)。本文用VHDL语言的GENERATE语句用四个一位全加器实现一个四位全加器。
2020-05-24 00:27:34
6345
2
原创 C语言实现AMI码
AMI码全称是传号交替翻转码。AMI码把单极性非归零NRZ码中的0码与零电平对应,1码对应极性正、负交替变换的电平。例如:原二进制序列:0 0 1 0 1 1 0 AMI码:0 0 1 0 -1 1 0
2020-05-23 12:24:59
3490
原创 单极性非归零NRZ码、双极性非归零NRZ码、2ASK、2FSK、2PSK、2DPSK及MATLAB仿真
单极性非归零NRZ码 在表示一个码元时,二进制符号1和0分别对应基带信号的正电平和零电平,在整个码元持续时间,电平保持不变。发1和发0等概率时,单极性非归零NRZ信号的功率谱密度为Ps(f)=14TbSa2(πfTb)+14δ(f)P_s(f)=\frac{1}{4}T_{b}Sa^{2}(\pi fT_{b})+\frac{1}{4}\delta (f)Ps(f)=41TbSa2(πfTb)+41δ(f), TbT_bTb 是码元宽度。双极性非归零NRZ码 二进制符号1和0分别对应基
2020-05-22 00:23:18
13732
原创 STM32上μC/Shell移植与应用
本着“停课不停学”的原则,在家也不能闲着,最近在进一步探索μC/OS时发现了μC/Shell,果断决定尝试一下。Silicon Labs收购Micrium后,将其产品开源了,GitHub上可以下载代码。https://github.com/SiliconLabs下面先介绍μC/Shell的文件结构,再介绍移植方法和实际应用。μC/Shell文件结构\Cfg\Template\she...
2020-03-22 15:43:42
2578
1
原创 Cortex-M3寄存器组、汇编语言与C语言的接口介绍
学uCOS的任务切换时涉及到汇编代码。为了能理解汇编代码,我在网上了解了Cortex-M3寄存器组、C与汇编的接口的知识,在这里分享给大家。先来介绍Cortex-M3寄存器组:Cortex-M3拥有16个通用寄存器R0-R15。R0-R12都是32位通用寄存器,用于数据操作。R13是堆栈指针。在CM3处理器内核中共有两个堆栈指针,于是也就支持两个堆栈。当引用R13(SP)时,你...
2020-02-02 17:43:55
1458
1
原创 STM32F4单片机ADC采样及ARM-DSP库的FFT
模拟信号经过ADC采样后变成数字信号,数字信号可以进行FFT运算,在频域中更容易分析信号的特征。本文将介绍如何用STM32F4的进行ADC采样,并利用ARMDSP库里的FFT算法对ADC采样值进行快速傅里叶变换。
2019-07-29 12:31:00
12718
21
CDMA中延时估计和多用户检测仿真代码
2024-05-29
HLS设计CORDIC算法计算正余弦
2023-08-26
HLS设计FIR滤波器工程
2023-08-13
ZYNQ7010的uCOSIII模板
2022-06-27
三层BP神经网络C语言代码
2022-05-02
FPGA实现2FSK调制、包络检波解调、位同步的Vivado工程
2022-02-07
FPGA实现ASK幅度键控调制、包络检波解调、位同步的Vivado工程
2022-01-31
Vivado的FIR IP核实现低通滤波器工程
2022-01-23
vivado工程block_led.rar
2021-09-15
C语言AMI编码,HDB3编、译码,Matlab绘制波形代码.rar
2020-05-23
STM32F4-uCOSIII-uCShell模板.rar
2020-03-22
STM32F4 ADC采样FFT运算测试代码
2019-07-29
STM32F405的uCOSIII模板
2019-02-22
STM32F103的uCOSIII模板
2019-02-22
uCOS-III及循环队列串口收发示例
2019-02-15
STM32F1系列单片机多通道ADC-DMA模式配置方法
2018-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人