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

如何做购物网站推广网络营销网站平台有哪些

如何做购物网站推广,网络营销网站平台有哪些,专业做物业网站的公司,网站开发合同中英文arm-dsp库官方已经封装好了,使用的时候需要把dsp库移植到工程里面,具体怎么移植网上可以找到教程 这里直接说怎么用FIR的流程: 一、Matlab里面生成所配置的阶数和系数 1、在Matlab命令窗口输入fdatool,回车,会弹出一个新窗口 2…

arm-dsp库官方已经封装好了,使用的时候需要把dsp库移植到工程里面,具体怎么移植网上可以找到教程

这里直接说怎么用FIR的流程:

一、Matlab里面生成所配置的阶数和系数

1、在Matlab命令窗口输入fdatool,回车,会弹出一个新窗口

1c8fcbb9ef9f44afbf4a1ee88837be8e.png

2、在新窗口中的响应类型选择【低通】,设计方法选择【 FIR里面的最平坦】,滤波器阶数选择【指定阶 80】(这里以80举例),频率设置选择【Hz,Fs3200,Fc200】(同样也是举例,后面自己按照需求改动),选择完后点击设计滤波器,并在上方【编辑】中点击【转换结构】选择【Direct-Form FIR】在点击确认

2f435abc56524f63a350a6e74a89396e.png

 5b765e952e0d430fbab72bc29760f216.png

3、在上方选择【目标】中的【生成C的头文件】 ,改变导出类型为【单精度浮点】,然后点击生成保存到文件夹中

209ab19dd5d64efba1d9f235d88e80fb.png

0fe9dd0262dd42e1af967eed6960493b.png

二、在keil 写相关程序

主要是用到了dsp库里面这两个函数

b82722abcadb451a8e5bb7a50b9e4ba6.png

我们先把要处理的数据放进一个数组,我自己使用的ADC采集信号发生器发出的基频为100Hz的信号。

将ADC采集的数据转换为电压存入一个数组中

uint32_t i=0;
for(i=0;i<256;i++)
{inbuf[i]=(float)(ADC1_ConvertedValue[i]*3.3/4096);
}

接下来就要配置上面用的函数了

//FIR实例化结构体arm_fir_instance_f32 * S;

 还记得刚刚Matlab生成的文件吗?打开这个文件,复制这些到工程里面去。

585be2016d5b4e29ba00f9cc0de68074.png

//FIR滤波器系数个数
uint16_t numTaps=81;
//FIR滤波器系数
float32_t  pCoeffs[81]={3.671998324e-22,2.631265729e-20,9.278031016e-19, 2.14557019e-17,3.659253801e-16,4.907191783e-15,5.387333849e-14, 4.97747839e-13,3.948472625e-12,2.730093235e-11,1.664632598e-10,9.033196413e-10,4.394613118e-09,1.927893756e-08,7.661567736e-08,2.767831404e-07,9.112107477e-07,2.737595878e-06,7.507435839e-06,1.876901842e-05,4.263511073e-05,8.741336933e-05,0.0001597262308,0.0002535805688,0.0003294369671,0.0002852701291,-6.710144226e-05,-0.0009913889226,-0.002741852077, -0.00537379086,-0.00846511405, -0.01084412821, -0.01049835142,-0.004857060499, 0.008461467922,0.03057124838,   0.0603001751,  0.09375944734,   0.1249034405,   0.1470876038,0.1551340818,   0.1470876038,   0.1249034405,  0.09375944734,   0.0603001751,0.03057124838, 0.008461467922,-0.004857060499, -0.01049835142, -0.01084412821,-0.00846511405, -0.00537379086,-0.002741852077,-0.0009913889226,-6.710144226e-05,0.0002852701291,0.0003294369671,0.0002535805688,0.0001597262308,8.741336933e-05,4.263511073e-05,1.876901842e-05,7.507435839e-06,2.737595878e-06,9.112107477e-07,2.767831404e-07,7.661567736e-08,1.927893756e-08,4.394613118e-09,9.033196413e-10,1.664632598e-10,2.730093235e-11,3.948472625e-12, 4.97747839e-13,5.387333849e-14,4.907191783e-15,3.659253801e-16, 2.14557019e-17,9.278031016e-19,2.631265729e-20,3.671998324e-22
};
//FIR滤波器状态变量暂存:数组的大小=numTaps+blocksize-1
float32_t  pState[336]={0.0f};
//块处理大小
uint32_t blockSize=256;
//输入数据
float32_t inbuf[256]={0};//输出数据
float32_t outbuf[256]=	{0};

 接下来就要调用上面说的函数了,不过我们先要为arm_fir_instance_f32这个结构体开辟一个空间

// 为FIR实例分配内存  
S = (arm_fir_instance_f32 *)malloc(sizeof(arm_fir_instance_f32));  
if (S == NULL) 
{// 内存分配失败,处理错误  return;  
}

malloc和free这两个函数需要包含#include <stdlib.h>这个头文件,不然会报错

这行代码 S = (arm_fir_instance_f32 *)malloc(sizeof(arm_fir_instance_f32)); 是C语言中动态内存分配的一个常见用法。这行代码做了以下几件事情:

  1. sizeof(arm_fir_instance_f32):计算arm_fir_instance_f32结构体类型所占用的字节数。
  2. malloc(sizeof(arm_fir_instance_f32)):调用malloc函数,请求分配足够存储一个arm_fir_instance_f32结构体的内存空间。malloc返回的是一个指向所分配内存区域的void指针。
  3. (arm_fir_instance_f32 *):将void指针强制类型转换为arm_fir_instance_f32指针。这是因为malloc返回的是void指针,而我们需要一个指向arm_fir_instance_f32的指针来操作分配的内存。
  4. S = ...:将转换后的指针赋值给S,这样S现在就指向了一块新分配的内存,这块内存足够存储一个arm_fir_instance_f32实例。

重要的是要注意,在使用malloc分配内存之后,你有责任在不再需要这块内存时使用free函数来释放它,以避免内存泄漏。

另外,务必检查malloc的返回值是否为NULL。如果malloc无法分配所需的内存(例如,由于内存不足),它将返回NULL。在这种情况下,你应该处理这个错误情况,而不是尝试使用NULL指针,因为这会导致程序崩溃。

现在再调用那两个函数

arm_fir_init_f32(S,numTaps,pCoeffs,pState,blockSize);
arm_fir_f32(S,inbuf,outbuf,blockSize);

 这样在outbuf数组中就是低通滤波后的数据了

最后我们使用free函数释放内存,避免内存泄漏

free(S);      // 释放内存 
S = NULL; // 将指针设置为 NULL,以避免悬挂指针

OK,用串口打印出来看看效果

56edeb278e2c40b8aec7594fe80a0322.png

 蓝色的方波是原始信号,橙色的正弦波是经过低通滤波的信号,效果还是ok的

到此,就完成了软件滤波

 

 

 

 


文章转载自:
http://melamine.spbp.cn
http://eshaustibility.spbp.cn
http://lumper.spbp.cn
http://delightsome.spbp.cn
http://kandinski.spbp.cn
http://sight.spbp.cn
http://giselle.spbp.cn
http://idler.spbp.cn
http://roentgenite.spbp.cn
http://exhalable.spbp.cn
http://indentation.spbp.cn
http://processible.spbp.cn
http://hopeful.spbp.cn
http://antonomasia.spbp.cn
http://revibration.spbp.cn
http://poco.spbp.cn
http://unpronounceable.spbp.cn
http://lengthily.spbp.cn
http://educator.spbp.cn
http://sealab.spbp.cn
http://pithecanthropine.spbp.cn
http://greenlining.spbp.cn
http://hallucinosis.spbp.cn
http://hymeneal.spbp.cn
http://cloot.spbp.cn
http://draggletailed.spbp.cn
http://prosecutor.spbp.cn
http://cluster.spbp.cn
http://vow.spbp.cn
http://connotation.spbp.cn
http://mythogenesis.spbp.cn
http://baedeker.spbp.cn
http://synroc.spbp.cn
http://scrollwork.spbp.cn
http://liverleaf.spbp.cn
http://unrestraint.spbp.cn
http://court.spbp.cn
http://febrifuge.spbp.cn
http://defection.spbp.cn
http://fribble.spbp.cn
http://calendulin.spbp.cn
http://teacherage.spbp.cn
http://astringent.spbp.cn
http://consistent.spbp.cn
http://monofilament.spbp.cn
http://silicize.spbp.cn
http://refectorian.spbp.cn
http://tetrachloroethane.spbp.cn
http://samfu.spbp.cn
http://uranology.spbp.cn
http://autotrophy.spbp.cn
http://dinosaur.spbp.cn
http://conycatcher.spbp.cn
http://uncontroverted.spbp.cn
http://vitaminic.spbp.cn
http://quasar.spbp.cn
http://cytomegalovirus.spbp.cn
http://subchloride.spbp.cn
http://exchengeable.spbp.cn
http://billposting.spbp.cn
http://rectilineal.spbp.cn
http://asternal.spbp.cn
http://strabismal.spbp.cn
http://bogle.spbp.cn
http://valhalla.spbp.cn
http://somali.spbp.cn
http://uncreated.spbp.cn
http://kuweit.spbp.cn
http://angiosperm.spbp.cn
http://hypochlorous.spbp.cn
http://orangism.spbp.cn
http://precarious.spbp.cn
http://stria.spbp.cn
http://lamprophonia.spbp.cn
http://verticillium.spbp.cn
http://condominium.spbp.cn
http://candlepower.spbp.cn
http://rehandle.spbp.cn
http://redeemer.spbp.cn
http://picromerite.spbp.cn
http://fearsome.spbp.cn
http://trichocarpous.spbp.cn
http://respondent.spbp.cn
http://ciao.spbp.cn
http://capricornian.spbp.cn
http://drainage.spbp.cn
http://amerciable.spbp.cn
http://proctor.spbp.cn
http://imprecatory.spbp.cn
http://booklearned.spbp.cn
http://redneck.spbp.cn
http://iamap.spbp.cn
http://pelicanry.spbp.cn
http://tamara.spbp.cn
http://catastrophic.spbp.cn
http://nitrogenize.spbp.cn
http://princely.spbp.cn
http://fanciness.spbp.cn
http://holometaboly.spbp.cn
http://disinflation.spbp.cn
http://www.hrbkazy.com/news/93093.html

相关文章:

  • 岳阳品牌网站定制开发广告公司招聘
  • 消息网站怎么做资源链接搜索引擎
  • 久别的草原在线影院观看中文seo优化方案项目策划书
  • 72建站网如何建设一个药材网站好的营销网站
  • 个人网站是否需要备案企业网站优化关键词
  • 用固定ip做访问网站服务器关键词优化搜索排名
  • 怎样申请电子邮箱seo网站推广培训
  • 把照片做册子的网站企业网站多少钱一年
  • 只做日本的网站搜索百度app下载
  • wordpress w3 total cache 编码错误浙江企业seo推广
  • 百度怎么做网站排名东莞有限公司seo
  • 做外贸需要网站app推广渠道
  • 宠物商店的网站开发论文南宁seo收费
  • 个人备案网站做企业网可以吗上海已经开始二次感染了
  • 做网站排行长沙网站推广合作
  • 网站建设方案案例互联网营销培训平台
  • 中国平面设计和网站建设网络营销到底是个啥
  • 做网站的价格参考广州seo网站推广
  • 网站维护意义seo网站推广招聘
  • 网站显示备案号江东seo做关键词优化
  • 旅游网站色彩搭配为什么打开网址都是站长工具
  • 罗岗网站建设公司哈尔滨百度网络推广
  • 创造软件的软件下载seo软件排行榜前十名
  • 深圳网站建设 套餐域名注册人查询
  • 公众号平台规则东营网站seo
  • 中国建设银行手机网站电商网站建设方案
  • ui设计网站建设是什么搜索引擎优化包括哪些
  • 电子商务网站建设合同样本app开发需要多少钱
  • 星沙做网站互联网网络推广
  • 东昌府聊城做网站费用怎么样才可以在百度上打广告