当前位置: 首页 > news >正文

做化妆品的一些网站营口市代做网站

做化妆品的一些网站,营口市代做网站,100m网站空间服务费,西安旅游攻略自助游如前篇所介绍#xff0c;用Shell Lab测试台软件配合之前介绍的任意款实验板#xff0c;都能方便地实现ADC电压测量#xff0c;但遇到两个问题#xff1a;示例代码虽然众多#xff0c;但大都默认ShellLab类型的控制器#xff0c;需要手动改为Mcush.Mcush类型才能运行…如前篇所介绍用Shell Lab测试台软件配合之前介绍的任意款实验板都能方便地实现ADC电压测量但遇到两个问题示例代码虽然众多但大都默认ShellLab类型的控制器需要手动改为Mcush.Mcush类型才能运行比较繁琐。基础的adc命令只能进行低速测量不能控制采样率实现高速测量需要更高阶的ShellLab采集器的daq指令。为了解决上述问题将Shell Lab T1采集器固件做了部分移植适配一批资源较为充裕的实验板定制成专用固件简称“Shell Lab社区版固件”系列解决上述两个问题方便大家实验。优先移植到STM32F401CC/411CE实验板上参考介绍PengShulin用Python控制硬件33-基于STM32F401CC和STM32F411CE的迷你实验板​zhuanlan.zhihu.com移植完成的“Shell Lab社区版固件”下载地址F401CC板子http://www.linkongsoft.com/shell-lab/firmware/ShellLabCommunity_WeActF401CC.binhttp://www.linkongsoft.com/shell-lab/firmware/ShellLabCommunity_WeActF401CC.hexF411CE板子http://www.linkongsoft.com/shell-lab/firmware/ShellLabCommunity_WeActF411CE.binhttp://www.linkongsoft.com/shell-lab/firmware/ShellLabCommunity_WeActF411CE.hex烧入固件注意BIN二进制代码需指定写入地址0x08000000完成后连上USB串口终端看看有哪些变化以F401CC为例$ dmesg ... [683194.776689] usb 1-4: new full-speed USB device number 117 using xhci_hcd [683194.962409] usb 1-4: New USB device found, idVendorffff, idProductffff [683194.962422] usb 1-4: New USB device strings: Mfr1, Product2, SerialNumber3 [683194.962429] usb 1-4: Product: Shell Lab Community Version [683194.962436] usb 1-4: Manufacturer: Linkong Software [683194.962442] usb 1-4: SerialNumber: 31003B001351353234363331 [683194.963681] cdc_acm 1-4:1.0: ttyACM0: USB ACM device $ USB设备类型变成“Shell Lab Community Version”*idn? ShellLab-WeAct-F401CC,1.0 31003B001351353234363331 设备类型识别变成ShellLab。daq --help usage: daq [-c command] [-i index] [-v value] options:-c/--cmd info|(de)init|start|stop|reset|done|read|freq|vref|channel_mask-i/--idx index param-v/--val value param 支持daq命令用于指定采样率测量波形。下面打开Shell Lab测试台软件调出示例脚本“daq”--“FFT analysis”准备信号发生器生成1KHz正弦波偏置1.5V幅度1V输入PA0引脚点击“运行”可以看到采到了0.016秒的波形包含4096个采样点下图是FFT分析结果分析带宽是采样率的一半256kHz/2128kHz并在较大的几个峰位置标注了幅度。点击导航栏的方向箭头按钮然后用鼠标右键可以拖动图表区实现缩放移动功能以便观察细节。动态效果256k采样率采集波形并FFT分析https://www.zhihu.com/video/1182229714634170368继续换几种波形看看三角波可以看到谐波的组成与方波相似1/3/5/7...只是衰减地很快锯齿波可以看到谐波组成的变化1/2/3/4...调幅波中心频率和两个边频更多的波形请读者自行实验了。下面分析一下完整的示范脚本代码加了中文注释# 6 - daq - FFT analysis # 脚本开始先确定采样参数通道、采样率、点数 CHANNEL 0 # input channel SAMPLE_RATE 256000 # HZ SAMPLE_LENGTH 4096 SAMPLE_TIME SAMPLE_LENGTH / float(SAMPLE_RATE) # FFT峰值检测标注的最大数量限制 PEAKS_LIMIT 10 # FFT是否需要加窗函数的开关 ADD_WINDOW False WINDOW_TYPE hamming# 下面切换至绘图区域准备几个字图每个都有命名方便后续控制 # 这是FFT相位子图的开关默认关闭开启后会增加一个子图 FFT_PHASE_PLOT False # True p getPlotPanel() p.addPlot( wave, 211, label_ySignal voltage ) p.setLimit( wave, top3.3, rightSAMPLE_TIME, autoFalse ) p.setLegend( wave,Channel %d% CHANNEL ) if FFT_PHASE_PLOT:p.addPlot( fft, 413, label_yFFT Amplitude, label_xFrequency (Hz) )p.setLimit( fft, rightSAMPLE_RATE/2, autoFalse )p.addPlot( fft2, 414, label_yFFT Phase, label_xFrequency (Hz) )p.setLimit( fft2, rightSAMPLE_RATE/2, autoFalse ) else:p.addPlot( fft, 212, label_yFFT Amplitude, label_xFrequency (Hz) )p.setLimit( fft, rightSAMPLE_RATE/2, autoFalse )# 创建控制器对象并初始化 s ShellLab(PORT) s.daq_init( freqSAMPLE_RATE, lengthSAMPLE_LENGTH, channels[CHANNEL] )while True:# 启动测量s.daq_start()# 循环等待测量结束while True:done s.daq_done()info(Sampling (%d / %d)% (done, SAMPLE_LENGTH))if done SAMPLE_LENGTH:breaktime.sleep(0.01)# 测量完成读数据因为只有一个通道传入第0通道的参数返回数据列表info(Reading...)dat s.daq_read(0) # read the first channel# 开始画图info(Ploting...)# 先绘制原始波形dat_x numpy.linspace(0, SAMPLE_TIME, SAMPLE_LENGTH, endpointFalse)p.resetData( wave )p.addData( wave, dat, dat_x )# 根据需要数据加窗if ADD_WINDOW:window scipy.signal.get_window( WINDOW_TYPE, len(dat) )dat_offset numpy.mean(dat)dat (dat-dat_offset) * window dat_offset# 快速傅立叶变换fft_x numpy.linspace(0, SAMPLE_RATE, SAMPLE_LENGTH, endpointFalse)fft_raw numpy.fft.fft(dat)/(SAMPLE_LENGTH/2)fft_abs abs(fft_raw)fft_abs[0] 0 # reset the waveform offset#fft_abs_max max(fft_abs)p.resetData( fft )#p.addData( fft, fft_abs, fft_x ) # plot the whole spectrum rangep.addData( fft, fft_abs[:SAMPLE_LENGTH/2], fft_x[:SAMPLE_LENGTH/2] )if FFT_PHASE_PLOT:fft_phase numpy.angle(fft_raw) / math.pi * 180p.resetData( fft2 )p.addData( fft2, fft_phase[:SAMPLE_LENGTH/2], fft_x[:SAMPLE_LENGTH/2] )# 查找谱图峰值并排序fft_max max(fft_abs[:SAMPLE_LENGTH/2])peaks, props scipy.signal.find_peaks(fft_abs[:SAMPLE_LENGTH/2],heightfft_max/5)def peak_sort( fa, fb ):global fft_absreturn 1 if (fft_abs[fa] fft_abs[fb]) else -1peaks list(peaks)peaks.sort( peak_sort, reverseTrue )# 添加峰值标注p.resetAnnotation(fft) # dynamic marker needs to be clear for next roundfor idx in peaks[:PEAKS_LIMIT]:# 默认标注幅度可以改为频率或自定义txt %f%fft_abs[idx] # add amplitude#txt %f%fft_x[idx] # add freq value#txt peaks.index(idx) 1 # add sequencep.addAnnotation( fft, txt, xy(fft_x[idx],fft_abs[idx]) )# 复位准备下一循环 s.daq_reset()上面代码的理解需要一定的数字信号处理基础这里就不展开了。熟悉Python的同学应该已经发现了 Shell Lab测试台软件集成了数值分析库numpy才能方便地进行矩阵分析快速傅立叶变换。没错除此之外还集成了scipy库进行科学计算集成了matplotlib库用于绘图。至此你可以用二三十元的成本获得一个简易的4通道12位精度的信号测量采集控制系统你可以改动脚本把数据存下来还具备数据记录功能。对比F401CC和F411CE两种板子有什么区别呢主要是后者SRAM容量大了64K字节所以单次的测量深度更长。实测前者最大12000点后者最大39000点推荐后者。注Shell Lab测试台软件对个人用户免费目前处于公测阶段欢迎试用。
http://www.zqtcl.cn/news/121642/

相关文章:

  • 内容管理网站建设方案阿里云wordpress搭建
  • 静安微信手机网站制作中企动力做网站费用
  • 北京网站建设交易凡客诚品特色
  • 免费建设旅游网站学校网站开发方案
  • 专门做网站的科技公司青岛做网站哪家专业
  • 佛山网站优化效果珠海婚恋网站建设市场分析
  • 贵阳建设公司网站个人网站必须备案
  • 万网网站备案域客式单页网站能申请域名吗
  • 网站建设公司哪家好 都来磐石网络建设银行网络平台
  • 微营销网站建设免费建设网站教程
  • c .net怎么做网站如何进行账号推广
  • 网站建设丨金手指谷哥12怎么看网站做的外链
  • 一个空间建多个网站青海培训网站建设公司
  • 网站国际联网备案大型外贸网站建设
  • 淮南 小学网站建设软件技术主要学什么就业前景
  • 微网站建设网站洛阳制作网站公司哪家好
  • 凤翔做网站wordpress分销商城
  • 网站产品网页设计模板企业网站优化关键词
  • 电商网站建设去迅法网网站管理与建设试题
  • 做网站必须知道的问题wordpress制作论坛
  • 怎样在建设部网站查资质证书网页设计有哪些岗位
  • 安徽中色十二冶金建设有限公司网站cad制图初学入门
  • 开发网站监控工具网上开店怎么找货源
  • 标准网站建设报价单私密浏览器直播
  • wordpress焦点图网站seo分析
  • 域名申请哪个网站好江西有色建设集团有限公司网站
  • 新乡市做网站的公司百度推广开户费用多少
  • 免费建网站哪个平台好php 未定义函数wordpress
  • 个人网站 域名选择郑州那家做网站便宜
  • 网站建设技术合伙人的技术股份全国免费发布信息网站大全