超声上位机
超声上位机ZX程序——DAS_MUL.m出发
flowchart LR
A[DAS_MUL.m]-->B[处理]
B-->C[结束]
classDef red fill:#ff6b6b,stroke:#333,color:#fff
classDef green fill:#5lcf66,stroke:#333,color:#fff
class A green
class C red
DAS_MUL.m
12345678910111213141516171819202122232425262728293031323334353637clearaddpath("Path/");pattern0=[0,20;1,5;0,5;-1,5;0,30]; %写发射波形% pattern0=[0,30;1,2;0,2;-1,2;0,30]; % 发射波形% pattern0=[0,30;1,1;0,1;-1,1;0,30];% pattern0=[0,10;1,30;1,30;0,30;0,30;-1,30;-1,30;0,10];c=ultrasys_c ...
章曦研究学会
章曦研究学会
模拟电路
模拟电路一、SEPIC升压电路
FPGA-一个大神的博客
FPGA-一个大神的博客简介FPGA 工具最大的挑战是满足时序约束的要求。希望这能奏效,但有时会失败。当它失败时,我们人类有责任找出失败的原因并加以修正。这个任务有个名字:我们称之为时序闭合 。这可不是一件容易的事。
为什么时序闭合难?问题是,这些工具有一个布局和路由算法,试图以最优的方式利用 FPGA 的资源。通常,这个算法从将逻辑元素放置在 FPGA 上开始,且不费吹灰之力。然后开始一个迭代过程:工具会遍历所有路径,找出那些无法满足时序约束的路径。为了纠正这些失误,会在这些路径上采取纠正措施。最显著的是,逻辑元件被移动到 FPGA 的不同位置,并调整了布线。至于更高级的纠正措施,每个 FPGA 工具都有自己的方法。
当所有路径都满足时序约束时,实现即告完成。但实施也可能因为工具未能达到这一目标而终止,从而放弃了尝试。在这种情况下,我们能理解工具在努力停止时所取得的成果。这种结果不一定是最优的:实现过程中可能存在可以改进的路径,但工具们忙于修复其他问题。当这些方法失败时,工具们放弃了,没有尝试修复其他问题。就像工具在说:“如果实现迟早会失败,修复它也没意义。”
作为 FPGA 设计师 ...
数学变换
数学变换一、Z变换1.1 什么是Z变换如果你正在学数字滤波器(FIR / IIR),你一定见过这样的写法:
H(z)=1−z−11−0.7267⋅z−1H(z) = \frac{1 - z^{-1}}{1 - 0.7267 \cdot z^{-1}}H(z)=1−0.7267⋅z−11−z−1
然后有人告诉你”令 z=ejωz = e^{j\omega}z=ejω 就能得到频率响应”。
你可能会想:zzz 到底是什么?z−1z^{-1}z−1 为什么代表”延迟一拍”?为什么做了 Z 变换就能直接看出频率特性?这个公式是怎么来的,又是怎么用的?
1.2 为什么需要 Z 变换1.2.1 一个具体的问题假设你设计了一个简单的一阶 IIR 低通滤波器(当前输入和历史输出各取一半做平均,直觉上就是在”平滑”信号,抑制快速变化的高频成分):
y[n]=0.5⋅x[n]+0.5⋅y[n−1]y[n] = 0.5 \cdot x[n] + 0.5 \cdot y[n-1]y[n]=0.5⋅x[n]+0.5⋅y[n−1]
每个采样周期,输出 = 当前输入的一半 + 上一次输出 ...
无题
title: 2026 科研日志tags: [科研日志]password: 980528message: 请输入密码查看文章
2026 科研日志2026.05.28 - 06.02艰巨任务:做一台能用的设备,并且给沈阳工大的课题组(可能黄了)封装好,至少能顺利传输RF数据,到这个级别。
现在要先测试一下新到的两块板卡,依次排查。
思路:
先测不上电情况电源对地阻抗
再测低压电源上电,不开 PHV/MHV 高压电路下的各个低压电源的情况
先只启用一颗 AFE5832,其他三颗保持 reset 或 power-down。不接 TX 高压,不接探头。AFE5832 支持 LVDS test pattern,包括 all-0、all-1、deskew、sync、custom、ramp、toggle 等,优先用这些码型验证 FPGA LVDS 接收链路
后面的先等等
4 颗 AFE5832 并行采集检查,单颗通过后,再启用 4 颗 AFE。此时重点不是验证模拟性能,而是验证多芯片同步
AFE 模拟接收链路检查,确认 LVDS 数字链路完全稳定后,再做模拟输入。TX 仍保持不 ...
滤波器(数字&模拟)
滤波器(数字&模拟)一、模拟滤波器二、数字滤波器数字滤波器是数字信号处理的核心工具,作用是对离散时间信号进行频率选择——保留想要的频率成分,抑制不想要的部分。根据系统的冲激响应是否有限,分为两大类:FIR(有限冲激响应)和 IIR(无限冲激响应)。
2.1 FIR 滤波器2.1.1 原理什么是 FIRFIR(Finite Impulse Response,有限冲激响应)滤波器的输出只取决于当前和过去有限个输入值的加权和,不存在输出到输入的反馈。它的差分方程为:
y[n]=∑k=0Nh[k]⋅x[n−k]y[n] = \sum_{k=0}^{N} h[k] \cdot x[n-k]y[n]=k=0∑Nh[k]⋅x[n−k]
展开写就是:
y[n]=h[0]⋅x[n]+h[1]⋅x[n − 1]+h[2]⋅x[n − 2]+⋯+h[N]⋅x[n − N]y[n] = h[0] \cdot x[n] + h[1] \cdot x[n\!-\!1] + h[2] \cdot x[n\!-\!2] + \cdots + h[N] \cdot x[n\!-\!N]y[n]= ...
超声多普勒成像原理及诊断技术
超声多普勒成像原理及诊断技术[^1]: 超声原理及生物医学工程应用 | WorldCat.org
一、超声多普勒原理1.1 普适性的多普勒频移多普勒频移有三个对象,分别是:1.观测者;2.声源;3.介质(空气、水…)
分别对这三者的运动进行对公式的补充,最终生成一个3D空间笛卡尔坐标下的超声多普勒定律。
1.1.1 设定
声速(相对介质本身):ccc
介质均匀定常流(沿 (+x)):UUU
声源固有发射频率:f0=1T0, ω0=2πf0f_0=\frac{1}{T_0},\ \omega_0=2\pi f_0f0=T01, ω0=2πf0
声源速度(沿 (+x)):VsV_sVs(朝观测者为正)
观测者速度(沿 (+x)):VoV_oVo(向波传播方向为正)
要找:观测者位置处测到的频率 fobsf_{\text{obs}}fobs。
1.1.2 全部静止:U=0, Vs=0, Vo=0U=0,\ V_s=0,\ V_o=0U=0, Vs=0, Vo=0观测点处场量(位移/压力/粒子速度)都是以 f0f_0f0 做简谐振动,因此
fobs ...
FPGA-Debug
FPGA-Debug一、VIVADO Bug1. synthesis ok → implementation 报错 → 重新synthesis 失败(并且不显示error代码)错误原因:有几个方面的问题,都可能会引起这个错误,目前我遇到的有:增量综合的问题。
由于工程设置的是增量综合,一旦某次Implementation流程把DCP状态写坏了,后面综合会反复走auto_incremental,然后除了Implementation以外,也影响到了synthesis流程,导致就算重新synthesis也失败,还不报错。
解决办法:在tcl中执行:
1234567891011121. set_property AUTO_INCREMENTAL_CHECKPOINT 0 [get_runs synth_1]2. set_property INCREMENTAL_CHECKPOINT "" [get_runs synth_1]3. set_property STEPS.SYNTH_DESIGN.ARGS.INCREMENTAL_MODE off [get_runs synth ...
FPGA中的时序问题
FPGA中的时序问题一、跨时钟域设计(CDC)1.1 什么是CDC跨时钟域(CDC) = 一个信号,从“时钟 A”控制的逻辑,进入“时钟 B”控制的逻辑。
也就是说里面有四个主角:
原始信号A
原始时钟A
目标信号B
目标时钟B
eg:[15:0] Data0_A
eg:AFE给的时钟 40MHz@0°
eg:[15:0] Data0_B
eg:FPGA内部时钟 120MHz@90°
1.2 为什么要做CDCCDC核心问题是:一个时钟域,永远无法“可靠地判断”另一个时钟域的跳变时刻。因为两个时钟:不同频率、不同相位、不同步。
所以当 B 域去采样 A 域的信号时:① 可能采早了 → 采不到;② 可能采晚了 → 采错边沿;③ 可能正好压在跳变点 → 触发器亚稳态。
1.2.1 物理层原因:触发器有建立保持时间任何一个触发器,都要求:
建立时间(setup time)
保持时间(hold time)
但是 A 域信号的跳变时刻 和 B 域触发器的采样边沿是完全无关的,这会导致亚稳态。
因此需要一个中间商来协调这一切,也就是CDC。
1.2.2 电路层后果: ...
