![](https://img-blog.csdnimg.cn/20200604000938760.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
电子/通信工程师的修养
文章平均质量分 90
本专栏旨在记录本人在学习的过程中碰到的各种问题。
Josh Gao
北京理工大学博士研究生在读,现于北京理工大学网络空间安全学院空天网络与安全通信研究所承担项目。
展开
-
Zynq MPSoC / RFSoC 动态配置 DIMM DDR
对于 DIMM 拓扑的 DDR,通常可以使用 I2C 对搭载在 DIMM 上的 SDP EEPROM 进行读取后获得配置参数,然后对 DDR 控制器进行配置。AMD Xilinx UG1085 的 Dynamic DDR Configuration 一节指出,当 DDR 控制器处于复位状态时,可以在运行时通过 FSBL 获取 DDR 参数并对 DDR 控制器进行初始化。本文基于 Zynq RFSoC,对 PS 端的 SO-DIMM DDR 进行动态配置。原创 2024-06-28 10:58:02 · 1012 阅读 · 0 评论 -
a, an
一般说来,可数名词前面可以用 a(或 an),不可数名词前面不可用 a(或 an),如可以说 a healthy boy,却不可说 a health,可以说 a chair,却不可说 a furniture。如 hour 以辅音字母 h 开首,但读音作[ˈaʊə],是以元音开首的,所以前面该用 an,不用 a。如 a fool of a man 是 “一个呆子般的男子”,a gem of a poem 是 “一首宝石般(精致)的诗”,a mountain of a wave 是 “一个高山似的浪”原创 2023-04-12 23:13:03 · 787 阅读 · 1 评论 -
牛津5000词汇表(The Oxford 5000™)
本文首发于 Josh Gao 的博客:The Oxford 5000 is an expanded core word list for advanced learners of English. As well as the Oxford 3000, it includes an additional 2000 words for learners at B2-C1 level, which are listed here.原创 2023-04-12 23:04:13 · 3092 阅读 · 0 评论 -
牛津3000词汇表(The Oxford 3000™)
The Oxford 3000 is the list of the 3000 most important words to learn in English, from A1 to B2 level.原创 2023-04-12 22:58:16 · 5710 阅读 · 0 评论 -
Josh‘s Notes: SystemVerilog 验证 (Part 3 — 过程语句和子程序)
在做设计验证时,需要写很多代码,其中大部分在任务和函数里面。SystemVerilog 在这方面增加了许多改进使得它更接近 C 语言,从而使代码的编写变得更加容易,尤其是在处理参数传递上。原创 2022-06-08 15:42:04 · 1012 阅读 · 1 评论 -
Josh‘s Notes: SystemVerilog 验证 (Part 2 — 数据类型)
和 Verilog 相比,SystemVerilog 提供了很多改进的数据结构。虽然其中的部分结构最初是为设计者创建的,但对测试者也同样有用。本文将介绍这些对验证很有用的数据结构。原创 2022-06-01 18:58:05 · 768 阅读 · 0 评论 -
Josh‘s Notes: SystemVerilog 验证 (Part 1 — 验证导论)
在开始学习有关 System Verilog 语言的细节之前,需要理解如何制订计划来验证手中的设计,以及整个验证计划对 testbench 结构的影响。就像所有房子都有厨房、卧室和浴室一样,所有 testbench 也都需要共享一些用于产生激励、检验响应的结构。本文对 testbench 的构建和设计给出一些引导性的建议和编码风格方面的参考,以满足不同的需要。原创 2022-05-31 09:53:22 · 1409 阅读 · 0 评论 -
Josh 的学习笔记之数字通信(Part 5——通信链路分析)
通信链路(link)属于系统的哪一部分?链路不仅指发射机与接收机之间的信道或者区域,还包括整个通信路径:从信源开始,通过所有的编码和调制过程,经由发射机和信道,直到包含所有信号处理功能的接收机,最后结束于信宿。原创 2020-10-24 21:45:12 · 5275 阅读 · 3 评论 -
MATLAB函数——gaussdesign
gaussdesign:高斯 FIR 脉冲整形滤波器设计原创 2020-06-27 10:47:37 · 2421 阅读 · 0 评论 -
MATLAB函数——fir2
fir2:基于频率取样法的 FIR 滤波器设计原创 2020-06-26 11:16:51 · 9098 阅读 · 0 评论 -
MATLAB函数——fir1
fir1:基于窗函数法的 FIR 滤波器设计原创 2020-06-25 20:56:20 · 30542 阅读 · 1 评论 -
MATLAB函数——filtfilt
filtfilt:零相位数字滤波原创 2020-06-23 12:30:01 · 35230 阅读 · 1 评论 -
MATLAB函数——designfilt
designfilt:设计数字滤波器原创 2020-06-22 21:20:45 · 17732 阅读 · 4 评论 -
MATLAB函数——bandstop
bandstop:对信号进行带阻滤波原创 2020-06-22 11:08:52 · 3535 阅读 · 2 评论 -
MATLAB函数——bandpass
bandpass:对信号进行带通滤波原创 2020-06-21 21:33:03 · 16490 阅读 · 0 评论 -
MATLAB函数——highpass
highpass:对信号进行高通滤波原创 2020-06-21 20:14:18 · 7866 阅读 · 0 评论 -
MATLAB函数——lowpass
lowpass:对信号进行低通滤波原创 2020-06-21 19:04:57 · 27428 阅读 · 2 评论 -
MATLAB函数——awgn
awgn:在信号中添加高斯白斯噪声原创 2020-06-16 22:39:05 · 22669 阅读 · 0 评论 -
MATLAB函数——upsample(Signal Processing Toolbox)
upsample:将采样率提高整数倍原创 2020-06-16 21:35:02 · 12051 阅读 · 0 评论 -
MATLAB函数——rcosdesign
rcosdesign:升余弦 FIR 脉冲整形滤波器设计原创 2020-06-16 20:58:53 · 14890 阅读 · 0 评论 -
Josh 的学习笔记之数字通信(Part 4——带通调制和解调)
本文主要介绍了一些基本的带通调制方式,尤其是相移键控(PSK)和频移键控(FSK)。我们从几何角度分析了信号矢量和噪声矢量,尤其是对极和正交信号集。在几何上,根据正交信号空间和信号区域研究了信号检测问题。了解了信号空间和导致发送信号进入错误区域的噪声矢量,就很容易理解检测问题以及各种调制解调技术的性能。Part 9 将再次考察调制和解调问题,并且研究调制技术带宽效率问题。原创 2020-06-09 22:43:22 · 16340 阅读 · 2 评论 -
Josh 的学习笔记之数字通信(Part 3——基带信号解调与检测)
本文论述了含加性高斯白噪声的二进制信号的检测过程,包含两个基本步骤。第一步,将接收波形转换为一个独立数值;第二步,比较该数值与门限值,并且判断发送信号。其次讨论了如何选择最佳门限值的问题,还证明了采用线性滤波器(即匹配滤波器或相关器)可以获得最大信噪比,从而最小化差错概率。接着定义了码间串扰(ISI)的概念,阐述了奈奎斯特关于无码间串扰码元检测的最小理论带觅差错性能的降低有两种情况。最后讨论了能够消除码间串扰的均衡技术。原创 2020-06-03 23:50:18 · 5114 阅读 · 1 评论 -
Josh 的学习笔记之数字通信(Part 2——格式化和基带调制)
本文首先讨论了在所有数字通信系统中都很重要的步骤,即将源信息(包括文本信息和模拟信息)转换为与数字系统兼容的格式;还讨论了采样、量化(非均匀量化和均匀量化)和脉冲编码调制(PCM);接着讨论了在信道中传输的基带信号脉冲波形的选择;最后介绍了双二进制码的概念,双二进制码通过引入可控制的码间串扰来提高带宽利用率,但要以增大信号的发射功率为代价。原创 2020-05-26 14:03:40 · 2136 阅读 · 0 评论 -
Josh 的学习笔记之数字通信(Part 1——信号和频谱)
本文定义了一些数字通信中的基本术语,引入了时变信号的基本概念,如分类、频谱密度自相关等,分析了随机信号,并从统计特性和频谱分布两个角度分析了通信系统的主要噪声模型——高斯白噪声; 最后讨论了信号通过线性系统的性质,并给出了理想滤波器的几个可实现的逼近。绝对带宽是很抽象的概念,在实际系统中要根据具体应用选择合适的带宽定义。原创 2020-05-25 19:20:49 · 5638 阅读 · 2 评论 -
Josh 的学习笔记之 Verilog(Part 7——逻辑验证与 testbench 编写)
验证是芯片设计过程中非常重要的一个环节。无缺陷的芯片不是设计出来的,而是验证出来的。验证的过程是否准确与完备,在一定程度上决定了一个芯片的命运。在芯片设计中,功能验证的方法主要有 3 种:仿真、形式验证以及硬件加速。在本篇笔记中,将重点介绍仿真的概念、仿真平台的搭建以及如何利用高效的仿真平台来验证设计等话题。原创 2020-05-19 12:30:42 · 4691 阅读 · 0 评论 -
Josh 的学习笔记之 Verilog(Part 6——如何写好状态机)
状态机是逻辑设计的重要内容,其设计水平直接反应工程师的逻辑功底,所以许多公司的硬件和逻辑工程师面试中,状态机设计几乎是必选题目。本篇笔记在引入状态机设计思想的基础上,重点讨论如何写好状态机。原创 2020-05-18 13:52:47 · 1545 阅读 · 0 评论 -
Josh 的学习笔记之 Verilog(Part 5——RTL 设计与编码指导)
在 Part 4 中通过具体的 RTL 建模建立了一些对 RTL 级描述的一些感性认识,本文将较深入地探讨一些 RTL 设计的基本规律。RTL 设计规律与方法是一个非常大的论题,在此不可能面面俱到,希望通过本文的介绍,引起大家的注意。如果大家能在日后的工作实践中,不断积累,有意识地积累基本设计原则、设计思想,将取得事半功倍的效果!原创 2020-05-01 21:36:10 · 2987 阅读 · 2 评论 -
Josh 的学习笔记之 Verilog(Part 4——RTL 概念与常用 RTL 建模)
Verilog HDL 的基本功能之一是描述可综合的硬件电路。如何合理使用 Verilog HDL 描述高性能的可综合电路是 Verilog 系列学习笔记的目的,也是后续要讨论的主要问题。本文介绍了 RTL 和综合的基本概念,通过常用 RTL 电路模型来对可综合的 RTL 级描述方式建立整体性的认识。力图通过范例,逐步引导初学者建立可综合 RTL 子集的概念。原创 2020-04-10 12:59:57 · 5131 阅读 · 0 评论 -
Josh 的学习笔记之 Verilog(Part 3——描述方式和设计层次)
Verilog 语言可以用多种方式来描述硬件,同时,使用这些描述方式又可以在多个抽象层次上设计硬件。这是 Verilog 语言的重要特征。本文主要侧重于阐述 Verilog 语言的描述方法和设计层次。原创 2020-04-02 13:06:26 · 2409 阅读 · 0 评论 -
Josh 的学习笔记之 Verilog(Part 2——Verilog 语言基础)
本文从一个 Verilog 用例出发,对 Verilog 语言的语法进行了阐释。包括的内容主要有 Verilog 语言的基本词法,常用的编译指令,逻辑值、常量、变量的含义,操作符的概念和分类等,还对 Verilog 中的参数、并发以及系统任务和系统函数进行了简要说明。原创 2020-03-30 22:50:02 · 2289 阅读 · 1 评论 -
Josh 的学习笔记之 MySQL
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...转载 2020-03-23 15:23:23 · 371 阅读 · 0 评论 -
Josh 的学习笔记之 Verilog(Part 1——初识 HDL 设计方法)
本文阐述了 HDL 语言/设计方法的基本概念。主要介绍了数字系统建模方法的演变,引入了 HDL 语言的基本概念,对 Verilog HDL 和 VHDL、Verilog HDL 和 C 的联系与区别进行了说明,在最后引入了 HDL 的设计和验证流程,并对各个流程进行了简单说明。原创 2020-03-29 23:43:33 · 1255 阅读 · 1 评论