ZYNQ实验--PDM波形生成

一、PDM简介

  将信号的振幅变化按比例地变换成脉冲宽度的变化,得到脉冲宽度调制(PDM)。详细的原理理论可以参考该文:文献阅读–Pulse-Width Modulation,本文主要介绍PDM的FPGA实现,PDM的生成方式很多具体形式根据需求会有所不同

二、实验内容

实验设备: ZYNQ7020

2.1 恒频后沿调制

  早期的PDM信号通过比较器生成,通过比较锯齿波和输入信号生成
脉冲信号。随着数字信号处理的广泛应用,现在通过一个计数器与数字信号进行比较就可生成脉冲信号。
实验生成PDM信号将采用锯齿波信号作为载波,如图所示:
在这里插入图片描述
PDM输出的前导(上升)沿在固定时刻出现,而后导(下降)沿的位置为随着参考信号电平的变化而调制。因此,该方法也称为恒频后沿调制。三角波计数从0开始递增,N时重置为0同时PDM上升沿出现。

module PDM
(Clk,Rst,Din,Do,cnt
);
input Rst,Clk;
input [15:0] Din;
output reg Do;
output reg [9:0] cnt;
reg [9:0] Dtr;
always @(posedge Rst or posedge Clk)beginif(Rst) beginDo<=1'b0;cnt<=10'b0;endelse begincnt<=cnt+1'b1;if (cnt>Dtr)begin //比较生成脉冲Do<=1'b0;endelse beginDo<=1'b1;endif (cnt==1023)begin  //计数采样Dtr<=Din[15:7];endend
end
endmodule

实现效果如下图所示
在这里插入图片描述

2.2 中心对齐调制(锯齿波形式)

  恒频后沿调制使用实验设备测试时,PDM通过滤波器无法正确恢复出PDM信号,将PDM信号生产改为中心对齐的形式。如图所示:

在这里插入图片描述

2.3 方法对比

恒沿后沿调制公式
P D M = { 1 c n t ⩽ S p 0 c n t > S p PDM= \begin{cases}1 & cnt \leqslant S_p \\ 0 & cnt>S_p\end{cases} PDM={10cntSpcnt>Sp
中心对齐调制公式
P D M = { 1 c n t ≥ L o r c n t ⩽ R 0 c n t < L o r c n t > R PDM= \begin{cases}1 & cnt \geq L &or& cnt \leqslant R \\0 & cnt<L &or&cnt>R\end{cases} PDM={10cntLcnt<LororcntRcnt>R
通过公式可以发现,其实两种方式生成的PDM波形是一致的,脉冲高低电平的宽度是相同的,只是第二种方法将脉冲中心移动到了计数中心点。

三、实验结果

PDM为恒频后沿调制,PDM2为中心对齐调制
在这里插入图片描述

总结

  通过查资料发现载波使用三角波并进行规则采样PDM信号应该也是中心对齐的,实验的对齐方式实现仍使用锯齿载波,但在PDM判断采样上做了处理。但是实测后发现中心对齐方法脉冲并非完全对称,实际FPGA中Sp是数字信号比如实验中的16bit信号,压缩到1024的范围进行比较实际只需用到10bit,这时在生成L和R两个比较值可能会产生+1差值,无法实现公式中的完全对称,该情况输出脉冲右半边会比左半边多一个时钟周期,可以通过降低采样位数统一Sp位数去解决但是损失一定精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Stable Diffusion】入门:原理简介+应用安装(Windows)+生成步骤

【Stable Diffusion】入门&#xff1a;原理简介应用安装&#xff08;Windows&#xff09;生成步骤 原理简介应用安装 原理简介 稳定扩散生成模型(Stable Diffusion)是一种潜在的文本到图像扩散模型&#xff0c;能够在给定任何文本输入的情况下生成照片般逼真的图像。 应用安…

中国广电的独特优势:与三大运营商相比的亮点

2023年&#xff0c;中国广电正式上市了&#xff0c;发出了第一批号段192的号码&#xff0c;然而值得大家了解的是&#xff1a;在中国的通信市场中&#xff0c;中国移动、中国联通和中国电信长期以来占据主导地位。然而&#xff0c;随着中国广电的加入&#xff0c;市场格局正在发…

了解转义字符

了解转义字符 也许在前面的代码中你看到 \n , \0 很纳闷是啥。其实在字符中有⼀组特殊的字符是转义字符&#xff0c;转义字符顾名思义&#xff1a;转变原来的意思的字符。 比如&#xff1a;我们有字符 n &#xff0c;在字符串中打印的时候自然能打印出这个字符&#xff0c;如下…

景安空间不支持指定运行目录tp5

/WEB/public/.htaccess配置 <IfModule mod_rewrite.c> Options FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s$1 [QSA,PT,L] </IfModule>. 2./WEB/.ht…

鸿蒙操作系统 HarmonyOS 3.2 API 9 Stage模型通过ArkTS接入高德地图

用鸿蒙ArkTS语言开发地图APP应用时&#xff0c;很多地图厂商只接入了鸿蒙Java&#xff0c;ArkTS版本陆续接入中&#xff0c;等一段时间才能面世&#xff0c;当前使用地图只能通过鸿蒙的Web组件&#xff0c;将HTML页面嵌入到鸿蒙APP中。具体方法如下&#xff1a;编写HTML <!…

C++容器适配器stack、queue、priority_queue

文章目录 C容器适配器stack、queue、priority_queue1、stack1.1、stack的介绍1.2、stack的使用1.3、stack的模拟实现 2、queue2.1、queue的介绍2.2、queue的使用2.3、queue的模拟实现 3、priority_queue3.1、priority_queue的介绍3.2、priority_queue的使用3.3、仿函数3.4、pri…

IAR全面支持小华全系芯片,强化工控及汽车MCU生态圈

IAR Embedded Workbench for Arm已全面支持小华半导体系列芯片&#xff0c;加速高端工控MCU和车用MCU应用的安全开发 嵌入式开发软件和服务的全球领导者IAR与小华半导体有限公司&#xff08;以下简称“小华半导体”&#xff09;联合宣布&#xff0c;IAR Embedded Workbench fo…

C语言——递归题

对于递归问题&#xff0c;我们一定要想清楚递归的结束条件&#xff0c;每个递归的结束条件&#xff0c;就是思考这个问题的起始点。 题目1&#xff1a; 思路&#xff1a;当k1时&#xff0c;任何数的1次方都是原数&#xff0c;此时返回n&#xff0c;这就是递归的结束条件&#…

基于FPGA加速的bird-oid object算法实现

导语 今天继续康奈尔大学FPGA 课程ECE 5760的典型案例分享——基于FPGA加速的bird-oid object算法实现。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 ECE 5760 Final Project 模型说明 Bird-oid object …

企业计算机服务器中了mkp勒索病毒如何解密,mkp勒索病毒解密流程

网络技术的应用与发展&#xff0c;为企业的生产运营提高了效率&#xff0c;越来越多的企业利用网络开展多项工作业务&#xff0c;利用网络的优势&#xff0c;可以为企业更好的服务&#xff0c;但是稍不注意就会被网络威胁所盯上。近日&#xff0c;云天数据恢复中心接到多家企业…

CAP告诉你系统没法做到完美,只能做到权衡和适当

一、CAP介绍 CAP原理&#xff0c;全称为Consistency&#xff08;一致性&#xff09;、Availability&#xff08;可用性&#xff09;和Partition tolerance&#xff08;分区容错性&#xff09;&#xff0c;是分布式系统设计中的基本原理。它强调了在设计分布式系统时&#xff0c…

微信公众号文章汇总

微信公众号&#xff1a;捡田螺的小男孩 被问懵了&#xff0c;加密后的数据如何进行模糊查询&#xff1f; https://mp.weixin.qq.com/s/GecypiBwqFNNwIfGq71aZA 一个你可能不曾注意的小东西&#xff0c;Spring依赖注入Bean类型的8种情况 https://mp.weixin.qq.com/s/ls3Rk4wMCS…

面试题:分布式锁用了 Redis 的什么数据结构

在使用 Redis 实现分布式锁时&#xff0c;通常使用 Redis 的字符串&#xff08;String&#xff09;。Redis 的字符串是最基本的数据类型&#xff0c;一个键对应一个值&#xff0c;它能够存储任何形式的字符串&#xff0c;包括二进制数据。字符串类型的值最多可以是 512MB。 Re…

大语言模型中,role为user、assistant、system有什么区别

在大语言模型中&#xff0c;通常涉及到三种角色&#xff1a;用户&#xff08;user&#xff09;、助手&#xff08;assistant&#xff09;和系统&#xff08;system&#xff09;。它们的区别在于其在对话或交互过程中扮演的角色和功能。 用户&#xff08;user&#xff09;&#…

二次供水无人值守解决方案

二次供水无人值守解决方案 二次供水系统存在一定的管理难题和技术瓶颈&#xff0c;如设备老化、维护不及时导致的水质安全隐患&#xff0c;以及如何实现高效运行和智能化管理等问题。在一些地区&#xff0c;特别是老旧小区或农村地区&#xff0c;二次供水设施建设和改造滞后&a…

grpc的metadata机制

引言 gRPC让我们可以像本地调用一样实现远程调用&#xff0c;对于每一次的RPC调用中&#xff0c;都可能会有一些有用的数据&#xff0c;而这些数据就可以通过metadata来传递。metadata是以key-value的形式存储数据的&#xff0c;其中key是 string类型&#xff0c;而value是[]s…

编程笔记 html5cssjs 002 一些基本概念 50以内的加法算式

编程笔记 html5&css&js 002 一些基本概念 50以内的加法算式 一、代码二、解释 50以内的加法算式。 一、代码 <!DOCTYPE html> <html lang"en"> <head><title>50以内的加法算式</title><meta charset"UTF-8">…

Elasticsearch - Java API【一】日期直方图

Elasticsearch 按时间进行聚合统计 需求&#xff1a; 1、统计某一个小时&#xff0c;每分钟的数据条数 2、统计某一天&#xff0c;每个小数的数据条数 3、统计一周&#xff0c;每天的数据条数 pom依赖 <dependency><groupId>org.springframework.boot</groupId&…

计算机毕业设计选题方向:Python与人工智能的结合

引言 在当今的计算机科学领域&#xff0c;Python语言因其简洁、易读和强大的库支持而备受青睐。特别是在人工智能&#xff08;AI&#xff09;领域&#xff0c;Python提供了丰富的工具和框架&#xff0c;使得开发智能应用变得更加高效。本指南旨在为计算机专业的学生提供一系列结…

mysql日常优化的总结

文章目录 一、数据表结构相关优化建字段类型注意事项1. int类型的选择2.varchar、char、text类型3.date、datetime、timestamp类型 表规划1. 垂直分表2. 水平分表 二、查询语句优化1.对于字段多的表&#xff0c;避免使用SELECT *2.避免使用!操作符3.避免使用null做条件4.like查…