当前位置:网站首页>矩形脉冲波形的占空比及脉冲和瞬态特征的测量
矩形脉冲波形的占空比及脉冲和瞬态特征的测量
2022-07-31 10:46:00 【jk_101】
目录
矩形脉冲波形的占空
示例说明如何创建矩形脉冲波形并测量其占空比。可以将矩形脉冲波形想象成一系列的开启和关闭状态。一个脉冲周期是一个开启和关闭状态的总持续时间。脉冲宽度是开启状态的持续时间。占空比是脉冲宽度与脉冲周期的比率。矩形脉冲的占空比描述脉冲处于开启状态的时间占一个脉冲周期的比率。
创建一个以 1 千兆赫采样的矩形脉冲。脉冲处于开启状态(即等于 1),持续时间为 1 微秒。如果脉冲处于关闭状态(即等于 0),持续时间为 3 微秒。脉冲周期为 4 微秒。绘制波形。
Fs = 1e9;
t = 0:1/Fs:(10*4e-6);
pulsewidth = 1e-6;
pulseperiods = [0:10]*4e-6;
x = pulstran(t,pulseperiods,@rectpuls,pulsewidth);
plot(t,x)
axis([0 4e-5 -0.5 1.5])如图所示:

使用 dutycycle 确定波形的占空比。输入脉冲波形和采样率以输出占空比。dutycycle 为每个检测到的脉冲输出占空比值。
D = dutycycle(x,Fs)
D = 1×9
0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500在此示例中,每个检测到的脉冲的占空比是相同的,都等于 0.25。这是预期的占空比,因为脉冲在每 4 微秒的周期内开启 1 微秒,关闭 3 微秒。因此,脉冲在每个周期的 1/4 内处于开启状态。以百分比表示,这等于 25% 的占空比。
不带输出参数调用 dutycycle 会生成标记了所有检测到的脉冲宽度的绘图。
dutycycle(x,Fs);如图所示:

使用相同的采样率和脉冲周期,以循环方式将脉冲开启时间(脉冲宽度)从 1 微秒更改到 3 微秒,并计算占空比。绘制循环中每步的脉冲波形,并在绘图标题中显示占空比值。占空比随着脉冲宽度的增加从 0.25 (1/4) 增加到 0.75 (3/4)。
nwid = 3;
for nn = 1:nwid
x = pulstran(t,pulseperiods,@rectpuls,nn*pulsewidth);
subplot(nwid,1,nn)
plot(t,x)
axis([0 4e-5 -0.5 1.5])
D = dutycycle(x,Fs);
title(['Duty cycle is ' num2str(mean(D))])
end如图所示:

脉冲和瞬态特征的测量
此示例说明如何分析脉冲和瞬态,以及如何计算上升时间、下降时间、压摆率、过冲、下冲、脉冲宽度、占空比和脉冲周期等指标。
含噪时钟信号
首先查看来自含噪时钟信号的采样。
load clocksig clock1 time1 Fs
plot(time1,clock1)
xlabel('Time (seconds)')
ylabel('Voltage')如图所示:

估计状态电平
不带输出参数调用 statelevels 来可视化状态电平。直方图方法用于通过以下步骤估计状态电平:
确定数据的最小和最大幅值。
对于指定数量的直方图 bin,确定 bin 宽度,即幅值范围与 bin 数量之比。使用可选输入参数指定直方图 bin 的数量和直方图边界。
将数据值划分到直方图 bin 中。
标识具有非零计数的最低和最高索引直方图 bin。
将直方图分成两个子直方图。
通过确定上直方图和下直方图的众数或均值来计算状态电平。
statelevels(clock1)如图所示:

ans = 1×2
0.0138 5.1848计算的直方图在第一个和最后一个 bin 之间分成两个大小相等的区域。直方图的每个区域的模式在命令行窗口中以估计的状态电平值形式返回。
测量上升时间、下降时间和压摆率
上升时间是每个脉冲的上升过渡从穿过下参考电平到穿过上参考电平的两个时刻之间的持续时间。下降时间是每个脉冲的下降过渡从穿过上参考电平到穿过下参考电平的两个时刻之间的持续时间。用来计算上升时间和下降时间的默认参考电平设置为波形幅值的 10% 和 90%。
不带输出参数调用 risetime 来可视化正向边沿的上升时间。然后,不带输出参数调用 falltime 来可视化负向边沿的下降时间。将参考电平指定为 [20 80],将状态电平指定为 [0 5]。
risetime(clock1,time1)如图所示:

ans = 5×1
10-4 ×
0.5919
0.8344
0.7185
0.8970
0.6366falltime(clock1,time1,'PercentReferenceLevels',[20 80],'StateLevels',[0 5])如图所示:

ans = 4×1
10-4 ×
0.4294
0.5727
0.5032
0.4762带一个或多个输出参数调用函数,以编程方式获取测量值。对于均匀采样的数据,可以提供采样率来代替时间向量。使用 slewrate 测量每个正向或负向边沿的斜率。
sr = slewrate(clock1(1:100),Fs)
sr = 7.0840e+04分析过冲和下冲
现在查看来自时钟的具有明显过冲和下冲的数据。
load clocksig clock2 time2 Fs
plot(time2,clock2)
xlabel('Time (seconds)')
ylabel('Voltage')如图所示:

欠阻尼时钟信号有过冲。过冲表示为状态电平之间差的百分比。过冲可能发生在紧跟某个边沿后、后瞬态像差区域的开始处。使用 overshoot 函数来测量这些后冲过冲。
overshoot(clock2(95:270),Fs)
ans = 2×1
4.9451
2.5399
legend('Location','NorthEast')如图所示:

过冲也可能发生在紧挨某个边沿之前、前瞬态像差区域的结束处。这些称为前冲过冲。
同样,可以测量像差前和像差后区域的下冲。下冲也表示为状态电平之间差的百分比。使用可选输入参数指定测量像差的区域。
undershoot(clock2(95:270),Fs,'Region','Postshoot')
ans = 2×1
3.8499
4.9451legend('Location','NorthEast')如图所示:

测量脉冲宽度和占空比
宽度是每个脉冲的第一个过渡和第二个过渡穿过中参考电平之间的持续时间。不带输出参数调用 pulsewidth 绘制突出显示的脉冲宽度。指定正极性。
pulsewidth(clock2, time2,'Polarity','Positive');如图所示:

使用 dutycycle 计算每个负极性脉冲的脉冲宽度与脉冲周期的比率。
d = dutycycle(clock2,time2,'Polarity','negative')
d = 3×1
0.4979
0.5000
0.5000使用 pulseperiod 获取波形每个周期的时间长度。周期是当前脉冲的第一个过渡和下一个脉冲的第一个过渡之间的持续时间。使用此信息计算其他指标,如波形的平均频率或观测到的总抖动。
pp = pulseperiod(clock2, time2);
avgFreq = 1./mean(pp)
avgFreq = 1.2500e+03
%%
totalJitter = std(pp)
totalJitter = 1.9866e-06边栏推荐
- 《JUC并发编程 - 高级篇》06 - 共享模型之不可变(不可变类的设计 | 不可变类的使用 | 享元模式)
- Hospital management system database, course design, SQLserver, pure code design
- Meikle Studio--Hongmeng 14-day development training notes (8)
- Acwing-考研机试题
- 【LeetCode】141.环形链表
- Summary of three methods for SQL deduplication
- In half a month, MySQL has been consolidated again, and a tens of thousands of words "super hard core" article has been sorted out!
- 双链表的创建
- 逆置问题--重点
- darknet 源码阅读笔记-01-activation_kernels.cu
猜你喜欢
随机推荐
C#多态的实现
逆置问题--重点
Web系统常见安全漏洞介绍及解决方案-XSS攻击
【Web技术】1397- 深入浅出富文本编辑器
NowCoderTOP23-27二叉树遍历——持续更新ing
【LeetCode】203.移除链表元素
「MySQL」- 基础增删改查
众多mock工具,这一次我选对了
Meikle Studio--Hongmeng 14-day development training notes (8)
sql力扣刷题八
Acwing-考研机试题
双链表的插入和删除
如何优雅的停止一个线程?
odoo14 | 附件上传功能及实际使用
FCN中制作自己的数据集并进行训练
强大的SQL计算利器-SPL
NowCoderTOP17-22 Binary search/sort - continuous update ing
Single sign-on principle and implementation
Web系统常见安全漏洞介绍及解决方案-sql注入
C#之泛型、委托、事件及其使用









