侵权投诉

如何基于DDS IP实现线性调频信号

FPGA之家 2021-07-02 10:27 次阅读

利用DDS IP实现线性调频信号

1 DDS技术简介随着电子技术的不断发展,传统的频率合成技术逐渐不能满足人们对于频率转换速度、频率分辨率等方面的追求,直接数字频率合成技术应运而生。

直接数字频率合成技术(DDS) 是把一系列数据量形式的信号通过D/A转换器转换成模拟量形式的信号合成技术。DDS具有很多优点,比如:频率转换快、频率分辨率高、相位连续、低功耗、低成本与控制方便。

DDS技术满足了人们对于速度稳定性的需求,但是在一些控制较为复杂的系统中,DDS专用芯片不能很好的贴合要求。利用现场可编程门阵列(FPGA)实现DDS具有很大的灵活性,基本能满足现在通信系统的使用要求。

2 DDS IP使用说明

基于FPGA的DDS设计方案

3 线性调频信号3.1 理论介绍

3.1.1 基本概念

线性调频(LFM)信号是瞬时频率随时间成线性变化的信号。线性调频信号也称为鸟声(Chirp)信号,因为其频谱带宽落于可听范围,听着像鸟声,所以又称Chirp扩展频谱(CSS)技术。

3.1.2 表达公式

本文重点研究Xlinx DDS IP实现线性调频信号,主要关心线性调频信号的相位变化情况,如若想要了解线性调频信号其他方面信息,请参考其他相关文章。

线性调频信号表达式:

线性调频信号数学公式

其中,t是时间,单位为秒(s);T是脉冲持续时间(周期);K是线性调频斜率,单位是Hz/s.

相位表达式:

φ(t)=πKt^2

相位变化率:

∆φ(t)=2πKt

3.1.3 应用范围

LFM技术在雷达、声纳技术中有广泛应用,例如,在雷达定位技术中,它可用来增大射频脉冲宽度、加大通信距离、提高平均发射功率,同时又保持足够的信号频谱宽度,不降低雷达的距离分辨率。

3.2 Matlab仿真

3.2.1 matlab代码

fs = 100e6; %采样率

T = 5e-6; %脉冲宽度

B = 10e6; %信号带宽

K = B/T;%调频斜率

N = round(T*fs);%采样点数

t = linspace(0,T,N);

y = exp(1j*pi*K*t.^2);%LFM信号

theta = pi*K*t.^2; %信号相位

dtheta = pi*K*t; %相位变化量figure;

plot(t,real(y));

title(‘LFM信号时域-实部’);

xlabel(‘t/s’);

ylabel(‘幅度’);

figure;

plot(t,imag(y));

title(‘LFM信号时域-虚部’);

xlabel(‘t/s’);

ylabel(‘幅度’);

figure;

plot(t,theta);

title(‘LFM信号相位’);

xlabel(‘t/s’);

ylabel(‘相位’);

figure;

plot(t,dtheta);

title(‘LFM相位变化率’);

xlabel(‘t/s’);

ylabel(‘相位变化率’);

3.2.2 仿真结果图像

3.3 FPGA实现

3.3.1 参数计算

For example:

参数与上述matlab参数一致,采样率fs:100MHz,脉冲宽度T:5us,信号带宽B:10MHz,采样点数N:500。Xlinx DDS IP设置如下,假定相位累加器设置为32位,输出信号宽度设置为12位,可以根据自己的需求进行设计:

需要注意的是相位增量不是一个定值,而是随时间呈线性变化的量。根据公式相位表达式φ(t)=πKt^2与相位变化率∆φ(t)=2πKt,端口S_AXIS_PHASE的CHAN_0_POFF 与CHAN_0_PINC设置如下: 当t = 0时φ(t) = πKt^2 = 0;∆φ(t) = 2πKt = 0相位变化率∆φ(t)每次增加的量为2πK∆t:2πK∆t = 2πBT/TNfs = 2πB/N由于DDS IP相位累加器位数Bθ(n)为32,且参数[0,2^32]对于相位弧度[0,1],那么相位增量∆θ公式如下:∆θ = 2πB/N*1/2π*2^Bθ(n)/fs = 858993.4592≈858993综上,CHAN_0_POFF设置为0,CHAN_0_PINC从0开始每次增加∆θ。

3.3.2 仿真结果

部分代码

//生成chirp信号

dds_compiler_0 suband_reference_waveform_inst (

.aclk (samp_clk),

.aclken (dds_aclken),

.aresetn (dds_aresetn),

.s_axis_phase_tvalid (s_axis_phase_tvalid),

.s_axis_phase_tdata (s_axis_phase_tdata),

.m_axis_data_tvalid (m_axis_data_tvalid),

.m_axis_data_tdata (m_axis_data_tdata),

.m_axis_phase_tvalid (m_axis_phase_tvalid),

.m_axis_phase_tdata (m_axis_phase_tdata)

);

wire signed [15:0] data_real = m_axis_data_tdata[15:0];

wire signed [15:0] data_imag = m_axis_data_tdata[31:16];

编辑:jq

收藏 人收藏
分享:

评论

相关推荐

fpga在工业上的应用

fpga在工业上的应用有哪些?
发表于 09-19 09:09 315次 阅读

FPGA CPLD中的Verilog设计小技巧

FPGA CPLD中的Verilog设计小技巧(肇庆理士电源技术有限)-FPGA CPLD中的Ver....
发表于 09-18 16:49 14次 阅读
FPGA CPLD中的Verilog设计小技巧

e络盟携手Digilent发起FPGA设计挑战赛

比赛鼓励社区成员使用Diligent Cmod S7参赛来检验自身的FPGA技能。
发表于 09-18 14:19 560次 阅读
e络盟携手Digilent发起FPGA设计挑战赛

MSK调制解调器的matlab仿真

继续讲解程序!MSK也能进行相干解调?是的!同样是采用锁相环!先来看看MSK的优点,这是由于下面的这....
的头像 通信工程师专辑 发表于 09-18 11:43 102次 阅读
MSK调制解调器的matlab仿真

介绍3种方法跨时钟域处理方法

跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者....
的头像 FPGA设计论坛 发表于 09-18 11:33 623次 阅读
介绍3种方法跨时钟域处理方法

机智云追踪外卖骑手保温箱硬件开发和项目演示

01 本章实现功能介绍 追踪外卖骑手的保温箱的GPS定位信息以及外卖箱是否被人打开,以防止骑手在送餐....
的头像 机智云开发者 发表于 09-18 11:03 103次 阅读

FPGA CPLD数字电路设计经验分享.

FPGA CPLD数字电路设计经验分享.(电源技术发展怎么样)-FPGA CPLD数字电路设计经验分....
发表于 09-18 10:58 9次 阅读
FPGA CPLD数字电路设计经验分享.

Altera FPGA CPLD学习笔记

Altera FPGA CPLD学习笔记(肇庆理士电源技术有限)-Altera FPGA CPLD学....
发表于 09-18 10:54 11次 阅读
Altera FPGA CPLD学习笔记

深入探究Linux系统噪音统计(osnoise tracer)

在Linux系统中作为一个普通线程是非常苦逼的。不仅NMI 、硬中断、软中断可以打断它,甚至其它普通....
的头像 Linux阅码场 发表于 09-18 10:53 143次 阅读
深入探究Linux系统噪音统计(osnoise tracer)

FPGA CPLD可编程逻辑器件的在系统配置方法

FPGA CPLD可编程逻辑器件的在系统配置方法(深圳市村田电源技术有限公司)-FPGA CPLD可....
发表于 09-18 10:51 11次 阅读
FPGA CPLD可编程逻辑器件的在系统配置方法

PCIe接口与AXI接口的特性介绍

PCIe-AXI-Controller兼容PCI Express Base Specificatio....
发表于 09-18 09:42 180次 阅读

怎样通过FPGA的数字PWM对电机进行控制呢

怎样通过FPGA的数字PWM对电机进行控制呢? 怎样去设计一种基于计数器的PWM波形发生器? ...
发表于 09-18 08:59 0次 阅读

avr单片机INT0是如何去模拟代码的

avr单片机INT0是如何去模拟代码的?怎样去编写其代码?...
发表于 09-18 06:49 0次 阅读

FPGA是给谁用的?FPGA有哪些应用

为什么大量的人会觉得FPGA难学? FPGA是给谁用的?FPGA有哪些应用? ...
发表于 09-18 06:35 0次 阅读

一文读懂什么是FPGA时序分析

什么是时序分析? 时序约束的作用是什么? FPGA组成的三要素分别是哪些? ...
发表于 09-18 06:05 0次 阅读

当AI遇上FPGA会产生怎样的反应

机器在ImageNet中图像识别错误率达到了3.5%,远远超出了人类平均的5.1%。在越来越多的领域,AI已经拥有了超越人类的能力,比...
发表于 09-17 17:08 0次 阅读

TI 的 ADS1278 芯片使用出现的问题

     过程:用FPGA和ADS1278设计了一个简单的8通道采样电路。软件调试通过了。硬件在环境试验时暴露...
发表于 09-17 14:50 265次 阅读

16bit音频过采样DAC的FPGA设计实现

16bit音频过采样DAC的FPGA设计实现(深圳普德新星电源技术有限公司招聘)-基于-△噪声整形技....
发表于 09-17 11:29 8次 阅读
16bit音频过采样DAC的FPGA设计实现

虹科合作推出小型可靠的嵌入式计算机

虹科与高性能FPGA系统开发领域的技术领跑者Gidel合作,最新推出了一款为高通量图像采集和为图像处....
的头像 广州虹科电子科技有限公司 发表于 09-17 11:17 713次 阅读

三菱交流伺服系统伺服故障和报警代码

伺服故障和报警代码大全,超实用!使用三菱交流伺服系统主要由三个系列:MR-ES、MR-J2S、MR-J3。通常故障情况可由伺服...
发表于 09-17 08:54 0次 阅读

怎样去设计一种基于FPGA的1位全加器

怎样去设计一种基于FPGA的1位全加器? 如何对基于FPGA的1位全加器进行仿真? ...
发表于 09-17 07:38 0次 阅读

FPGA的片上资源使用情况简析

如何得到LUT与REG的使用比例? 如何分析FPGA芯片上的组合逻辑(LUT)和时序逻辑(REG)的利用率? ...
发表于 09-17 07:01 0次 阅读

松下伺服报警代码保护功能

《松下伺服故障报警代码分析及处理》由会员分享,可在线阅读,更多相关《松下伺服故障报警代码分析及处理(2页珍藏版)》请在人人文...
发表于 09-17 06:20 0次 阅读

FPGA适合感兴趣的学习者学习可以提高自己的能力大家可以多交流哈人脸识别代码

FPGA适合感兴趣的学习者学习可以提高自己的能力大家可以多交流哈人脸识别代码(开关电源技术实验报告)....
发表于 09-16 15:23 21次 阅读
FPGA适合感兴趣的学习者学习可以提高自己的能力大家可以多交流哈人脸识别代码

关于Actel 的FPGA的译码器的VHDL源代码

关于Actel 的FPGA的译码器的VHDL源代码(通信电源技术期刊2020年第14期)-关于Act....
发表于 09-16 15:18 11次 阅读
关于Actel 的FPGA的译码器的VHDL源代码

基于FPGA的_ADC数字抽取滤波器Sinc_3设计

基于FPGA的_ADC数字抽取滤波器Sinc_3设计(现代电源技术基础杨飞)-该文档为基于FPGA的....
发表于 09-16 13:58 10次 阅读
基于FPGA的_ADC数字抽取滤波器Sinc_3设计

基于FPGA的ADC采集系统的设计

基于FPGA的ADC采集系统的设计(电源技术指标不包括)-该文档为基于FPGA的ADC采集系统的设计....
发表于 09-16 13:44 11次 阅读
基于FPGA的ADC采集系统的设计

基于FPGA的直流电机PWM控制实现

基于FPGA的直流电机PWM控制实现(中远通电源技术有限公司怎么样)-该文档为基于FPGA的直流电机....
发表于 09-16 13:31 9次 阅读
基于FPGA的直流电机PWM控制实现

​在FPGA上生成8086指令兼容的软核以及外设并在此基础上跑通pc机上吃豆子PACMAN游戏项目

​在FPGA上生成8086指令兼容的软核以及外设并在此基础上跑通pc机上吃豆子PACMAN游戏项目(....
发表于 09-16 12:17 6次 阅读
​在FPGA上生成8086指令兼容的软核以及外设并在此基础上跑通pc机上吃豆子PACMAN游戏项目

基于FPGA和DAC设计的dds发生器

基于FPGA和DAC设计的dds发生器(普德新星电源技术有限公司的LoGo)-该文档为基于FPGA和....
发表于 09-16 12:09 10次 阅读
基于FPGA和DAC设计的dds发生器

​开发板上玩GTA RISC-V多项移植项目成功运作中

电子发烧友网报道(文/周凯扬)RISC-V近期再度掀起了不小的热度,苹果招募RISC-V程序员负责其....
的头像 电子发烧友网 发表于 09-16 11:59 140次 阅读
​开发板上玩GTA RISC-V多项移植项目成功运作中

基于FPGA的数字下变频器(DDC)的设计

基于FPGA的数字下变频器(DDC)的设计(ups电源技术转让)-基于FPGA的数字下变频器(DDC....
发表于 09-16 11:43 11次 阅读
基于FPGA的数字下变频器(DDC)的设计

在FPGA上编写的通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序

在FPGA上编写的通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序(开关电源技术与....
发表于 09-16 11:37 14次 阅读
在FPGA上编写的通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序

基于FPGA的逆变电源的设计

基于FPGA的逆变电源的设计(电源技术离线作业)-该文档为基于FPGA的逆变电源的设计总结文档,是一....
发表于 09-16 11:31 12次 阅读
基于FPGA的逆变电源的设计

基于FPGA的ADC采集系统设计

基于FPGA的ADC采集系统设计(通信电源技术手册在线阅读)-该文档为基于FPGA的ADC采集系统设....
发表于 09-16 10:37 11次 阅读
基于FPGA的ADC采集系统设计

FPGA_ASIC-一种改进的2D-DCT的FPGA实现

FPGA_ASIC-一种改进的2D-DCT的FPGA实现(核达中远通电源技术有限公司招聘文员吗?)-....
发表于 09-16 10:35 8次 阅读
FPGA_ASIC-一种改进的2D-DCT的FPGA实现

嵌入式开发中实用的宏打印函数

宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息....
的头像 FPGA之家 发表于 09-16 10:05 100次 阅读
嵌入式开发中实用的宏打印函数

使用Kotlin替代Java重构AOSP应用

两年前,Android 开源项目 (AOSP) 应用团队开始使用 Kotlin 替代 Java 重构....
的头像 谷歌开发者 发表于 09-16 09:26 101次 阅读
使用Kotlin替代Java重构AOSP应用

魔方网表,无代码开发平台NCDP的无冕之王

NCDP也就是No-code development platform,无代码开发平台,我第一次听到....
的头像 话说科技 发表于 09-15 14:34 85次 阅读

基于FPGA的DDC(数字下变频)设计与实现

基于FPGA的DDC(数字下变频)设计与实现(电源技术审稿费多少)-该文档为基于FPGA的DDC(数....
发表于 09-15 12:04 12次 阅读
基于FPGA的DDC(数字下变频)设计与实现

FPGA_ASIC-S698MSoC芯片中EDAC模块的设计与实现

FPGA_ASIC-S698MSoC芯片中EDAC模块的设计与实现(第四届星载电源技术学术研讨会)-....
发表于 09-15 11:05 21次 阅读
FPGA_ASIC-S698MSoC芯片中EDAC模块的设计与实现

51单片机的启动文件作用是什么

在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示: 一般情况下,需要选择“是”....
的头像 嵌入式ARM 发表于 09-15 09:12 181次 阅读
51单片机的启动文件作用是什么

FPGA中同步异步时钟域信号的处理

最常用的约束有IO管脚位置约束和电平幅度约束,这个很好理解。另外,就是对时钟网络约束。这个是很重要的....
的头像 FPGA设计论坛 发表于 09-13 09:29 946次 阅读

FastThreadLocal快在哪里

blog.csdn.net/mycs2012/article/details/90898128 1 ....
的头像 Android编程精选 发表于 09-13 09:17 132次 阅读

C++基础语法友元类和友元函数

本期是C++基础语法分享的第五节,今天给大家来分享一下: (1)explicit(显式)关键字; (....
的头像 C语言编程学习基地 发表于 09-12 09:52 190次 阅读

一条SQL语句是怎么被执行的

一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一....
的头像 Linux爱好者 发表于 09-12 09:44 168次 阅读
一条SQL语句是怎么被执行的

综合性CPLD/FPGA软件Quartus 13.0下载

综合性CPLD/FPGA软件Quartus 13.0下载
发表于 09-12 09:35 25次 阅读

如何通过Python脚本实现WIFI密码的暴力破解

前言 本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。....
的头像 马哥Linux运维 发表于 09-10 17:09 323次 阅读
如何通过Python脚本实现WIFI密码的暴力破解

莱迪思即将举办主题为《全新CertusPro-NX通用FPGA为网络边缘应用提供强大的系统带宽和存储功能》的免费网络研

行业领先的功耗效率——通过利用莱迪思在FPGA架构方面的创新和低功耗FD-SOI制造工艺,Certu....
发表于 09-10 14:57 1823次 阅读

全新百亿美元市场即将到来,这有一个快速切入的方法

据Omdia2020年的报告,2020年AI推断的市场总规模为50亿美元,预计今年将达70亿美元,赛....
的头像 荷叶塘 发表于 09-09 19:57 1325次 阅读
全新百亿美元市场即将到来,这有一个快速切入的方法

软件工程师为什么要写文档

在大多数软件工程师对编写、使用和维护代码的抱怨中,一个常见的问题是缺乏高质量的文档。缺乏文档有什么副....
的头像 Linux阅码场 发表于 09-09 11:26 251次 阅读

在FPGA设计中FIFO的使用技巧

FIFO是在FPGA设计中使用的非常频繁,也是影响FPGA设计代码稳定性以及效率等得关键因素。在数据....
的头像 FPGA设计论坛 发表于 09-09 11:15 1153次 阅读

使用deepstream-test的范例代码修改车牌识别与遮盖

前一篇文章提到使用deepstream-test的范例代码,修改成“车牌识别”与“遮盖(redact....
的头像 NVIDIA英伟达企业解决方案 发表于 09-09 10:04 176次 阅读
使用deepstream-test的范例代码修改车牌识别与遮盖

在STM32G4片内不同存储空间运行的速度差异

最近有人问起程序在STM32G4片内不同存储空间运行的速度差异。说实在的,这个很难说死或说出个绝对的....
的头像 茶话MCU 发表于 09-09 09:57 235次 阅读
在STM32G4片内不同存储空间运行的速度差异

骑手保温箱追踪及温湿度监测4G设备接入机智云教程

01 前言 利用机智云提供的通用版App即使不懂云和App开发,也可以在不用写任何代码的情况下,轻松....
的头像 机智云开发者 发表于 09-09 09:16 147次 阅读
骑手保温箱追踪及温湿度监测4G设备接入机智云教程

Kitronik ARCADE游戏手柄实现连连看

连连看相信大家都玩过,但这个用Kitronik AR CADE游戏手柄来玩连连看的项目你相信是一个高....
的头像 电子森林 发表于 09-08 11:47 223次 阅读
Kitronik ARCADE游戏手柄实现连连看

FPGA中ROM与RAM相关知识汇总

一、基本概念 最熟悉的两个词语应该是RAM与ROM,RAM(Random Access Memory....
的头像 FPGA设计论坛 发表于 09-08 11:12 2049次 阅读

TLIMX8-EVM评估板规格书

创龙科技TLIMX8-EVM是一款基于NXPi.MX8MMini的4核ARMCortex-A53+单....
发表于 09-07 19:11 7次 阅读

如何把Docker Registry迁移到Harbor

“要如何将 docker registry 中的镜像迁移至 harbor?本文介绍了四种具体的思路和....
的头像 马哥Linux运维 发表于 09-07 16:29 300次 阅读
如何把Docker Registry迁移到Harbor

最为精简的一个Linux Fork炸弹解析

转自:http://blog.saymagic.cn/2015/03/25/fork-bomb.ht....
的头像 Linux爱好者 发表于 09-07 16:12 115次 阅读

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 335次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 240次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器