基于fpga与matlab的超声多普勒频移解调应用

article/2025/8/26 5:16:26

基于fpga与matlab的超声多普勒频移解调应用

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等

一 、超声多普勒频移解调知识点
多普勒效应:接收到的运动目标反射或散射的超声波频率与原发射频率有所不同。
多普勒频移:由多普勒效应引起的发射频率与运动目标反射或散射的频率之间的频差。
多普勒频移解调:发射和接收换能器靠得很近,所以总有一部分发射信号透过来直接耦合到接收器,这些不需要的波称为杂波。从复杂的口波信号中提取多普勒频移信号,称为多普勒频移解调。
多普勒频移解调原理框图:
在这里插入图片描述
二、FPGA多普勒频移解调功能设计开发
1、vivado开发平台(vivado 2019.2,其余版本按照步骤生成新工程即可)
①DDS IP核生成2Mhz和(2Mhz+1Khz)的sin频率信号;
②乘法ip核实现2Mhz和(2Mhz+1Khz)的sin频率信号混频处理;
③FIR IP实现低通滤波算法(Matlab获取滤波参数);
④FFT IP核实现FFT的算法;
⑤乘法ip核实现FFT处理后数据取模运算;
⑤通过算法实现取模运算后65536数据的峰值搜索;
⑥对峰值结果进行计算,并与1Khz理论值比对
2、FPGA功能设计框图
在这里插入图片描述
3、FFT工程设计
①顶层TOP,fft_top.v;
②内部时钟i产生1M时钟,用于FFT IP核时钟;
③dds_ctrl控制模块,DDS IP核实现2Mhz和(2Mhz+1Khz)的sin频率信号,以及乘法ip核实现4Mhz和1Khz的sin频率信号混频处理;
④FIR IP实现低通滤波算法
⑤FFT IP核实现FFT的算法;
⑥通过算法实现取模运算后1024数据的峰值搜索,并计算出杂波频率,与理论值1K比对;
在这里插入图片描述
4、FFT工程设计中IP核配置
①DDS ip
步骤1:打开IP Catalog,点击Window下IP Catalog
在这里插入图片描述
步骤2:查找dds IP核 dds compiler,搜索输入
在这里插入图片描述
步骤3:dds IP核dds compiler配置——Configuration,修改名称,设置选择Phase Generator and SIN COS LUT,设置输入系统时钟50M,两路通道2M和2M+1K
在这里插入图片描述
步骤4:dds IP核dds compiler配置——Implementation,Output 选择Sine模式,对比Matlab中sin信号,相位输出不使能
在这里插入图片描述
步骤5:dds IP核dds compiler配置——Detailed Implementation,DATA Output 选择Chan ID Field,对应两路输出2M和2M+1K的sin信号
在这里插入图片描述
步骤6:dds IP核dds compiler配置——Output Frequencies,设置两路输出信号的频率2M和2M+1K
在这里插入图片描述
②乘法 ip(88)
步骤1:打开IP Catalog,点击Window下IP Catalog
在这里插入图片描述
步骤2:查找乘法 IP核 multiplier,搜索输入
在这里插入图片描述
步骤3:乘法 IP核 multiplier配置——Basic,修改名称,设置输入数据的位宽8
在这里插入图片描述
步骤4:乘法 IP核 multiplier配置——Output and Control,无需设置,只需要关注输出数据的最高位MSB和最低位LSB,方便其他模块使用乘法ip的输出数据
③fir IP核 FIR Compiler
步骤1:打开IP Catalog,点击Window下IP Catalog
在这里插入图片描述
步骤2:查找fir IP核 FIR Complier,搜索输入
在这里插入图片描述
步骤3:fir IP核——Filter Options,选择滤波系数,通过COE File直接导入(后面章节会说明如何使用Maltab生成滤波系数)
在这里插入图片描述
步骤4:fir IP核——Channal Specification,设置时钟频率和采样频率均为50M
在这里插入图片描述
步骤5:fir IP核——Implementation,设置Coefficient Type和Width与Matlab生成系数一致
在这里插入图片描述
步骤6:fir IP核——Interface,适配前端数据(来自dds ip核),需要设置Tready,不需要设置tlast
在这里插入图片描述
④fft IP核 Fast Fourier Transform
步骤1:打开IP Catalog,点击Window下IP Catalog
在这里插入图片描述
步骤2:查找fft IP核 Fast Fourier Transform,搜索输入
在这里插入图片描述
步骤3:fft IP核配置——Configuration,修改名称,设置通道,传输的数据65536,设置Target Clock Frequency,采样率1M,选择基4突发结构
在这里插入图片描述
步骤4:fft IP核配置——Implementation,数据格式选择定点数类型,放缩设置为块浮点模式, 输出 FFT 结果选择顺序输出
在这里插入图片描述
步骤5:fft IP核配置——Detailed Implementation
在这里插入图片描述
步骤6:fft IP核——Implementation Details
①输入给fft ip核的axi4_stream接口的计算数据,fft ip作为slaver,来自dds ctrl;CHAN_0_XN_IM_0(31:16)是复数的虚部,CHAN_0_XN_RE_0(15:0)是复数的实部;
FFT混频信号只使用实部的信号,低 16 位赋值为乘法器输出值, 高 16 位赋值为 0;
②输入给fft ip核的axi4_stream接口的配置数据,fft ip作为slaver,1-正变换,0-逆变换
代码里需要设置配置数据为1,快速傅里叶正变换;
③fft ip核输出的axi4_stream接口的结果数据,fft ip作为master
将fft ip输出的数据的实部和虚部进行平方(通过乘法核实现)再相加
即可得到FFT处理后的频谱图
在这里插入图片描述
⑤乘法 ip(16
16)
步骤1:打开IP Catalog,点击Window下IP Catalog在这里插入图片描述
步骤2:查找乘法 IP核 multiplier,搜索输入
在这里插入图片描述
步骤3:乘法 IP核 multiplier配置——Basic,修改名称,设置输入数据的位宽16
在这里插入图片描述
步骤4:乘法 IP核 multiplier配置——Output and Control,无需设置,只需要关注输出数据的最高位MSB和最低位LSB,方便其他模块使用乘法ip的输出数据
在这里插入图片描述
三、Matlab FIR滤波系数生成
1、选择app滤波器设计工具
在这里插入图片描述
2、根据自己的需求设计低通滤波器
在这里插入图片描述
3、生成xilinx.coe
在这里插入图片描述
四、仿真及结果验证
根据计算,仿真出最大值67,杂波频率(67*1000000)/65536=1022
在这里插入图片描述


http://chatgpt.dhexx.cn/article/91EwkCBm.shtml

相关文章

相干时间与多普勒频移

最大多普勒频移越大,相干时间越小,能容忍的符号时间越短,越容易产生符号间干扰,信号越容易发生快速变化,若相干时间小于符号时间,这时候的信道就属于快衰落信道(快时变);…

SAR成像(四):多普勒频移的计算

雷达系统中,雷达与目标间的相互运动会使回波信号产生频移,称为多普勒效应,对应的频移称为多普勒频率。 假设雷达发射信号为单频连续波, f ( t ) c o s ( 2 π f 0 t ϕ ) f(t)cos(2\pi f_0t\phi) f(t)cos(2πf0​tϕ) f 0 f_0…

多普勒效应与多普勒频移

所谓多普勒效应就是,当声音,光和无线电波等振动源与观测者以相对速度V相对运动时,观测者所收到的振动频率与振动源所发出的频率有所不同。因为这一现象是奥地利科学家多普勒最早发现的,所以称之为多普勒效应。(The dop…

STK的多普勒频移仿真

1、新建卫星轨道,例如:twobody卫星,轨道六根数:10878.1 km 0 28.5 0 0 0 2、在卫星下添加发射机 3、新建地面站,例如:经度 0,纬度0,高度0.4km 4、在地面站上添加接收机 5、…

LFMCW雷达测速基础- 多普勒频移和2DFFT

LFMCW雷达测速基础 1 基本测速原理——多普勒频移1.0 写在前面1.1 多普勒效应1.2 多普勒频移疑问2 LFMCW雷达测速原理2.1 Doppler Shift 到底是调频还是调相LFMCW雷达相位和速度的关系2.2 为什么是二维FFT1 基本测速原理——多普勒频移 1.0 写在前面 振动/波在空间中传播有三个…

通信原理仿真100例 | 多普勒频移的matlab仿真

多普勒扩展的matlab仿真 代码 下面是一份简单的MATLAB代码,可以用来模拟多普勒扩展现象。该代码使用了一个具有随机相位的复指数信号作为原始信号,将其通过一个多普勒频移的信道进行传输,并对接收到的信号进行频谱分析,以观察多…

多普勒频移测速与FMCW测距

文章目录 参考论文时域与频域基于多普勒频移估计速度基于传统的FMCW测距什么是FMCWFMCW测距原理 改进的FMCW1、使用FMCW相位测距(手机是发送方)传统FMCW方法在峰值估计上的错误使用FMCW相位 2、分布式FMCW(手机是接收方)Step1&…

雷达信号频率模型:多普勒频移

多普勒频率的推导 多普勒频移反映了雷达回波信号的相位变化,由于相对运动产生了多普勒频移。关于多普勒频率的推导这里参考《脉冲多普勒雷达》,推导方法简明扼要。 雷达信号在距离 2 R 2R 2R( R R R为雷达和目标间的单程距离)处的相移由下式给出(忽略从…

多普勒效应及多普勒频移的简单推导

多普勒效应及多普勒频移的简单推导 f d ≡ f R − f T (1) f_d\equiv f_R-f_T \tag{1} fd​≡fR​−fT​(1)   式中, f d f_d fd​表示多普勒频移, f R f_R fR​表示目标回波的频率(Hz), f T f_T fT​表示发射信号的频率(Hz&…

WiFi感知中的多普勒频移

引言: 多普勒效应(doppler effect)与多普勒偏移(doppler shift)代表相同含义,只是在文献中表达不同。 产生原因: 波源和观察者之间速度的相对差异是产生多普勒效应的原因 原理: 第一…

多普勒频移计算

多普勒频移:信号源靠近观察者,连续波之间的到达时间降低,频率增加;信号源远离观察者,连续波之间的到达时间增加,频率降低。 为载波频率;为光速

多普勒频移

多普勒效应公式 观察者 (Observer) 和发射源 (Source) 的频率关系为(此式不适用于光波,光波的多普勒效应见下文): f 为观察到的频率; f为发射源于该介质中的原始发射频率; v为波在该介质中的行进速度&…

雷达篇(一)多普勒频移

目录 1. 多普勒键移在雷达中的作用 2. 多普勒公式推导 2.1 推导方法一 2.2 推导方法二 1. 多普勒键移在雷达中的作用 在大杂波中检测动目标连续波(CW)雷达检测运动目标并测量目标的径向速度在合成孔径和逆合成孔径雷达中用于产生目标图像在…

多普勒频移(doppler shift/doppler effect)

想从多普勒偏移的角度去考虑以下动作识别研究。针对WiFi信号,多普勒偏移有点难度。在难度的之前,我要先理解一下这个技术是否可以应用到我的研究方向上来。 参考文献先: 1. Wisee 2. WiVi 3. Widance 4. WifiU 5. 维基百科的说明以及百度百科…

多普勒效应(多普勒频移)

多普勒效应(多普勒频移) 人物介绍现象历史公式证明参考文献 人物介绍 克里斯蒂安安德烈亚斯多普勒(Christian Andreas Doppler,1803年11月29日-1853年3月17日)多普勒效应发现者,奥地利数学家、物…

通信系统中的多普勒频移

多普勒现象在通信系统中的表现 当终端在运动特别是在高速运动时,移动终端和基站接收端的信号频率会发生变化,其计算公式如下图所示: f d f c ∗ v ∗ c o s θ f_d\frac{f}{c}*v*cos\theta fd​cf​∗v∗cosθ θ \theta θ为移动台移动方…

10M polkadot substrate : 你的第一份合约

• 介绍 • 教程目标 • 更新你的 Rust 环境 • 安装 Substrate 合约节点 • 创建一个新的智能合约项目 • 测试默认合约 • 建立合同 • 启动 Substrate 智能合约节点 • 部署合约 • 在区块链上创建实例 • 调用智能合约 • Substrate Tutorials , Substrate 教程 • Contact…

substrate轻松学2:区块链与substrate

从2008年中本聪发布《比特币:一种点对点的电子现金系统》开始,区块链技术开始进入我们的世界,区块链防篡改、去信任等等概念更是被炒的热火朝天。那么什么是区块链,它能做什么?到底有没有前途?这不是我们这…

创建第一个 Substrate 区块链

创建第一个 Substrate 区块链 区块链软件使单个计算机(称为节点)能够相互通信以形成分散的点对点 (P2P) 网络。为保证链上数据的安全和链上的持续进展,节点通过某种形式的共识,就每个数据块中的数据状态以及块的处理顺序达成一致…